/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Import all common theme variables*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Outside-in spacing: Stack*/
/* Stacks provide spacing between their children.*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Dave Wallace <dave.wallace@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Arrows*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Forms*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Avatar*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Drop down*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Data table*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Tabs*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Card*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Charts*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Filters*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Tags*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Tags*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* collapsible*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* progress tracker*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Side panel navigation*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Toggle buttons*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Notification toast*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2021 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Dave Wallace <dave.wallace@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/* Sidebar layout that is responsive based on the size of its container, rather*/
/* than the viewport.*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Media queries breakpoints*/
/* Matches @screen-sm-min*/
/* Matches @screen-md-min*/
/* Matches @screen-lg-min*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/**
 * For adding a fixed sized header image to a card, including optional margin on the outer edges.
 */
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2021 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This contains the common variable set for form elements,*/
/* allowing form elements to be consistently styled.*/
/* loosely based on a modular scale of (2 * (1.5 ^ n))*/
/* Selectors for form inputs (and similar elements) that should have sizes applied to them.*/
/* If modifying this list in a theme, do it via append() rather than replacing*/
/* the entire list.*/
/* Selectors for inputs that are *replaced elements*.*/
/* The behavior of width: auto differs for replaced elements, so these are set*/
/* to width: 100% to get the "grow to container" behavior.*/
/* https://developer.mozilla.org/en-US/docs/Web/CSS/Replaced_element*/
/* However, this causes an issue in certain contexts - namely if the container*/
/* has a margin. This list exists to enable workarounds using flex at the site*/
/* of use.*/
/* If modifying this list in a theme, do it via append() rather than replacing*/
/* the entire list.*/
/* Don't apply the default input size if the element is within one of these*/
/* selectors.*/
/* (if it's not within a form, it won't be applied either)*/
/* Calculate character-based sizing for inputs.*/
/* Generate sizing class for size*/
/* Default input sizing*/
/* Generate sizing classes for predefined sizes*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2021 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/**/
/* Body text*/
/**/
/**/
/* Link text*/
/**/
/**/
/* Heading text*/
/**/
/**/
/* Text wrapping*/
/**/
/* break when the word starts on a new line and breaks where it would have*/
/* overflown, auto inserting hyphens. useful for user-generated content whose*/
/* containers are generally flexible. machine-insertion of hyphens may not be*/
/* an end user preference, but it can be more readable than without.*/
/* break all words at the end of lines, don't hyphenate. useful for predictable*/
/* parts of the UI whose containers are less flexible.*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/* #dock is 12000, modal must be above that*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Import all common theme variables*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Outside-in spacing: Stack*/
/* Stacks provide spacing between their children.*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Dave Wallace <dave.wallace@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Arrows*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Forms*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Avatar*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Drop down*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Data table*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Tabs*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Card*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Charts*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Filters*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Tags*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Tags*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* collapsible*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* progress tracker*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Side panel navigation*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Toggle buttons*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Notification toast*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2021 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Dave Wallace <dave.wallace@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/* Sidebar layout that is responsive based on the size of its container, rather*/
/* than the viewport.*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* Media queries breakpoints*/
/* Matches @screen-sm-min*/
/* Matches @screen-md-min*/
/* Matches @screen-lg-min*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/**
 * For adding a fixed sized header image to a card, including optional margin on the outer edges.
 */
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2021 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This contains the common variable set for form elements,*/
/* allowing form elements to be consistently styled.*/
/* loosely based on a modular scale of (2 * (1.5 ^ n))*/
/* Selectors for form inputs (and similar elements) that should have sizes applied to them.*/
/* If modifying this list in a theme, do it via append() rather than replacing*/
/* the entire list.*/
/* Selectors for inputs that are *replaced elements*.*/
/* The behavior of width: auto differs for replaced elements, so these are set*/
/* to width: 100% to get the "grow to container" behavior.*/
/* https://developer.mozilla.org/en-US/docs/Web/CSS/Replaced_element*/
/* However, this causes an issue in certain contexts - namely if the container*/
/* has a margin. This list exists to enable workarounds using flex at the site*/
/* of use.*/
/* If modifying this list in a theme, do it via append() rather than replacing*/
/* the entire list.*/
/* Don't apply the default input size if the element is within one of these*/
/* selectors.*/
/* (if it's not within a form, it won't be applied either)*/
/* Calculate character-based sizing for inputs.*/
/* Generate sizing class for size*/
/* Default input sizing*/
/* Generate sizing classes for predefined sizes*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2021 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/**/
/* Body text*/
/**/
/**/
/* Link text*/
/**/
/**/
/* Heading text*/
/**/
/**/
/* Text wrapping*/
/**/
/* break when the word starts on a new line and breaks where it would have*/
/* overflown, auto inserting hyphens. useful for user-generated content whose*/
/* containers are generally flexible. machine-insertion of hyphens may not be*/
/* an end user preference, but it can be more readable than without.*/
/* break all words at the end of lines, don't hyphenate. useful for predictable*/
/* parts of the UI whose containers are less flexible.*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Simon Chester <simon.chester@totaralearning.com>*/
/* @module tuickage   tui*/
/* #dock is 12000, modal must be above that*/
/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
/* This variable file includes special comments with the syntax `theme:var` and*/
/* `theme:derive`.*/
/**/
/* `theme:var` comments tell the build system that this is a configurable*/
/* variable and causes information about it to be exported. This is neccesary*/
/* for it to show up in the theme panel.*/
/**/
/* `theme:derive` comments add information to the entry for a theme:var variable*/
/* telling the theme panel that it is derived from another variable.*/
/* This informatation is used to generate a new value for the variable if the*/
/* value of any variable it is derived from has changed.*/
:root {
  --font-size-1: 0.1rem;
  --font-size-2: 0.2rem;
  --font-size-4: 0.4rem;
  --font-size-8: 0.8rem;
  --font-size-10: 1rem;
  --font-size-11: 1.1rem;
  --font-size-12: 1.2rem;
  --font-size-13: 1.3rem;
  --font-size-14: 1.4rem;
  --font-size-15: 1.5rem;
  --font-size-16: 1.6rem;
  --font-size-18: 1.8rem;
  --font-size-20: 2rem;
  --font-size-22: 2.2rem;
  --font-size-24: 2.4rem;
  --font-size-30: 3rem;
  --font-size-32: 3.2rem;
  --font-size-40: 4rem;
  --font-size-48: 4.8rem;
  --font-size-50: 5rem; }

:root {
  --gap-1: 0.4rem;
  --gap-2: 0.8rem;
  --gap-3: 1.2rem;
  --gap-4: 1.6rem;
  --gap-5: 2rem;
  --gap-6: 2.4rem;
  --gap-7: 2.8rem;
  --gap-8: 3.2rem;
  --gap-9: 3.6rem;
  --gap-10: 4rem;
  --gap-11: 4.4rem;
  --gap-12: 4.8rem;
  --grid-gutter: var(--gap-5);
  --grid-maxunits: 12;
  --paragraph-gap: var(--gap-2); }

:root {
  --border-width-thin: 1px;
  --border-width-normal: 2px;
  --border-width-thick: 3px;
  --btn-radius: 6px;
  --border-radius-curved: 12px;
  --border-radius-normal: 6px;
  --border-radius-small: 4px;
  --card-border-radius: var(--border-radius-normal); }

:root {
  --btn-shadow-focus: var(--shadow-2);
  --btn-shadow-active: var(--shadow-3);
  --btn-min-width: 72px;
  --btn-min-height: 3.6rem; }

:root {
  --color-primary: #3a45ac;
  --color-secondary: #007ab8;
  --color-tertiary: #1ea4a9;
  --color-state: #3982ac;
  --color-state-hover: #265773;
  --color-state-focus: #265773;
  --color-state-active: #193a4c;
  --color-state-highlight: #f6f9d7;
  --color-state-highlight-neutral: var(--color-neutral-3);
  --color-state-disabled: var(--color-neutral-5);
  --color-prompt-info: #007ab8;
  --color-prompt-info-bg: #daf3fe;
  --color-prompt-alert: #cc2428;
  --color-prompt-alert-bg: #fee6e6;
  --color-prompt-warning: #b2611f;
  --color-prompt-warning-bg: #f1e2d7;
  --color-prompt-success: #4b7e2b;
  --color-prompt-success-bg: #d8eacd;
  --color-neutral-1: #fff;
  --color-neutral-2: #fafafa;
  --color-neutral-3: #f7f7f7;
  --color-neutral-4: #e6e4e4;
  --color-neutral-5: #c7c7c7;
  --color-neutral-6: #767676;
  --color-neutral-7: #262626;
  --color-chart-background-1: #007ab8;
  --color-chart-transparent-1: rgba(0, 122, 184, 0.38);
  --color-chart-background-2: #da7c2f;
  --color-chart-transparent-2: rgba(218, 124, 47, 0.38);
  --color-chart-background-3: #bf6c78;
  --color-chart-transparent-3: rgba(191, 108, 120, 0.38);
  --color-chart-background-4: #dac725;
  --color-chart-transparent-4: rgba(218, 199, 37, 0.38);
  --color-chart-background-5: #5d5d5d;
  --color-chart-transparent-5: rgba(93, 93, 93, 0.38);
  --color-chart-background-6: #98aada;
  --color-chart-transparent-6: rgba(152, 170, 218, 0.38);
  --color-chart-background-7: #23c1a0;
  --color-chart-transparent-7: rgba(35, 193, 160, 0.38);
  --color-background: var(--color-neutral-1);
  --color-border: var(--color-neutral-5);
  --color-text: var(--color-neutral-7);
  --color-text-disabled: var(--color-neutral-5);
  --color-text-hint: var(--color-neutral-6);
  --link-color: var(--color-state);
  --link-color-hover: var(--color-state-hover);
  --color-backdrop-standard: rgba(0, 0, 0, 0.4);
  --color-backdrop-heavy: rgba(0, 0, 0, 0.8);
  --color-backdrop-contrast: var(--color-neutral-1);
  --nav-bg-color: #fff;
  --nav-text-color: var(--color-text); }

:root {
  --arrow-bg-color: var(--color-background);
  --arrow-border-color: var(--color-neutral-5); }

:root {
  --form-radio-dot-color: var(--color-state);
  --form-radio-bg-color: var(--color-neutral-1);
  --form-radio-bg-color-disabled: var(--color-neutral-3);
  --form-radio-bg-color-focus: var(--color-state-highlight-neutral);
  --form-radio-bg-color-hover: var(--color-neutral-1);
  --form-radio-bg-color-active: var(--color-neutral-1);
  --form-radio-border-color: var(--color-neutral-6);
  --form-radio-border-color-disabled: var(--color-state-disabled);
  --form-radio-border-color-focus: var(--color-state-focus);
  --form-radio-border-color-active: var(--color-state-focus);
  --form-checkbox-check-color: var(--color-neutral-1);
  --form-checkbox-check-color-disabled: var(--color-neutral-5);
  --form-checkbox-bg-color: var(--color-neutral-1);
  --form-checkbox-bg-color-disabled: var(--color-neutral-3);
  --form-checkbox-bg-color-focus: var(--color-state-highlight-neutral);
  --form-checkbox-bg-color-active: var(--color-state);
  --form-checkbox-border-color: var(--color-neutral-6);
  --form-checkbox-border-color-disabled: var(--color-state-disabled);
  --form-checkbox-border-color-focus: var(--color-state-focus);
  --form-checkbox-border-color-active: var(--color-state-focus);
  --form-checkbox-border-color-invalid: var(--color-prompt-alert);
  --form-text-color: var(--color-neutral-7);
  --form-input-bg-color: var(--color-neutral-1);
  --form-input-bg-color-disabled: var(--color-neutral-3);
  --form-input-bg-color-focus: var(--form-input-bg-color);
  --form-input-bg-color-invalid-focus: var(--form-input-bg-color);
  --form-input-border-color: var(--color-neutral-6);
  --form-input-border-color-disabled: var(--color-neutral-4);
  --form-input-border-color-focus: var(--color-state);
  --form-input-border-color-invalid: var(--color-prompt-alert);
  --form-input-text-color: var(--color-neutral-7);
  --form-input-text-color-disabled: var(--color-state-disabled);
  --form-input-text-placeholder-color: var(--color-neutral-6);
  --form-details-text-color: var(--color-neutral-7);
  --form-defaults-text-color: var(--color-neutral-7);
  --btn-accent-color: var(--color-state);
  --btn-accent-color-active: var(--color-state-active);
  --btn-accent-color-focus: var(--color-state-focus);
  --btn-accent-color-disabled: var(--color-state-disabled);
  --btn-bg-color: var(--color-neutral-1);
  --btn-bg-color-active: var(--color-neutral-1);
  --btn-bg-color-disabled: var(--color-neutral-3);
  --btn-bg-color-focus: var(--color-neutral-3);
  --btn-border-color: var(--btn-accent-color);
  --btn-border-color-active: var(--btn-accent-color-active);
  --btn-border-color-disabled: var(--btn-accent-color-disabled);
  --btn-border-color-focus: var(--btn-accent-color-focus);
  --btn-loader-color-disabled: var(--color-neutral-6);
  --btn-text-color: var(--btn-accent-color);
  --btn-text-color-active: var(--btn-accent-color-active);
  --btn-text-color-disabled: var(--btn-accent-color-disabled);
  --btn-text-color-focus: var(--btn-accent-color-focus);
  --btn-prim-accent-color: var(--color-state);
  --btn-prim-accent-color-active: var(--color-state-active);
  --btn-prim-accent-color-focus: var(--color-state-focus);
  --btn-prim-accent-color-disabled: var(--color-state-disabled);
  --btn-prim-bg-color: var(--btn-prim-accent-color);
  --btn-prim-bg-color-active: var(--btn-prim-accent-color-active);
  --btn-prim-bg-color-disabled: var(--btn-prim-accent-color-disabled);
  --btn-prim-bg-color-focus: var(--btn-prim-accent-color-focus);
  --btn-prim-border-color: var(--btn-prim-accent-color);
  --btn-prim-border-color-active: var(--btn-prim-accent-color-active);
  --btn-prim-border-color-disabled: var(--btn-prim-accent-color-disabled);
  --btn-prim-border-color-focus: var(--btn-prim-accent-color-focus);
  --btn-prim-loader-color-disabled: var(--color-neutral-7);
  --btn-prim-text-color: var(--color-neutral-1);
  --btn-prim-text-color-active: var(--color-neutral-1);
  --btn-prim-text-color-disabled: var(--color-neutral-3);
  --btn-prim-text-color-focus: var(--color-neutral-1);
  --btn-alert-bg-color: var(--color-prompt-alert);
  --btn-alert-bg-color-active: var(--color-prompt-alert);
  --btn-alert-bg-color-disabled: var(--color-neutral-3);
  --btn-alert-bg-color-focus: var(--color-prompt-alert);
  --btn-alert-border-color: var(--color-prompt-alert);
  --btn-alert-border-color-active: var(--color-prompt-alert);
  --btn-alert-border-color-disabled: var(--color-state-disabled);
  --btn-alert-border-color-focus: var(--color-prompt-alert);
  --btn-alert-text-color: var(--color-neutral-1);
  --btn-alert-text-color-active: var(--color-neutral-1);
  --btn-alert-text-color-disabled: var(--color-state-disabled);
  --btn-alert-text-color-focus: var(--color-neutral-1);
  --btn-checkbox-bg-color-selected: var(--color-neutral-3);
  --btn-checkbox-bg-color-hover: var(--color-state-highlight-neutral);
  --btn-checkbox-text-color: var(--color-state);
  --btn-checkbox-text-color-active: var(--color-state-active);
  --btn-checkbox-text-color-focus: var(--color-state-focus);
  --btn-checkbox-text-color-selected: var(--color-neutral-7);
  --btn-toolbar-bg-color: transparent;
  --btn-toolbar-bg-color-hover: var(--color-neutral-4);
  --btn-toolbar-bg-color-focus: var(--color-neutral-4);
  --btn-toolbar-bg-color-selected: var(--color-state-active);
  --btn-toolbar-text-color: var(--color-neutral-6);
  --btn-toolbar-text-color-selected: var(--color-neutral-1);
  --form-error-bg-color: var(--color-prompt-alert-bg);
  --form-error-text-color: var(--color-prompt-alert); }

:root {
  --avatar-border-color: var(--color-primary); }

:root {
  --dropdown-item-bg-color-hover: var(--color-neutral-3);
  --dropdown-item-bg-color-focus: var(--color-neutral-4);
  --dropdown-item-bg-color-disabled-focus: var(--color-neutral-2);
  --dropdown-item-text-color: var(--color-text);
  --dropdown-item-text-color-hover: var(--color-text);
  --dropdown-item-text-color-focus: var(--color-text);
  --dropdown-item-text-color-disabled: var(--color-text-disabled);
  --dropdown-menu-bg-color: var(--color-background);
  --dropdown-menu-border-color: var(--color-neutral-5); }

:root {
  --datatable-bg-archived: var(--color-neutral-2);
  --datatable-cell-header-text-color: var(--color-neutral-7);
  --datatable-expanded-bg-color: var(--color-neutral-1);
  --datatable-expanded-border-color: var(--color-neutral-5);
  --datatable-expanded-text-color: var(--color-neutral-7);
  --datatable-row-bg-color: transparent;
  --datatable-row-bg-color-active: var(--color-neutral-3);
  --datatable-row-bg-color-focus: var(--color-neutral-3);
  --datatable-row-bg-color-odd: var(--color-neutral-2);
  --datatable-row-border-color: var(--color-neutral-5);
  --datatable-row-first-border-color: var(--color-neutral-7);
  --datatable-select-everything-prompt-bg: var(--color-neutral-2); }

:root {
  --tabs-bg-color: var(--color-neutral-3);
  --tabs-bg-color-selected: var(--color-neutral-1);
  --tabs-bg-color-disabled: var(--color-neutral-3);
  --tabs-bg-color-focus: var(--color-neutral-3);
  --tabs-selected-bar-color: var(--color-primary);
  --tabs-text-color: var(--color-state);
  --tabs-text-color-active: var(--color-state-active);
  --tabs-text-color-disabled: var(--color-state-disabled);
  --tabs-text-color-focus: var(--color-state-focus);
  --tabs-text-color-selected: var(--color-neutral-7);
  --tabs-border-color: var(--color-neutral-5);
  --tabs-border-color-selected: var(--color-neutral-1);
  --tabs-border-color-disabled: var(--color-neutral-4); }

:root {
  --card-border-color: var(--color-neutral-5); }

:root {
  --color-chart-doughnut-label: var(--color-neutral-7); }

:root {
  --filter-bar-border-color: var(--color-neutral-5);
  --filter-search-icon-color: var(--color-neutral-6);
  --filter-search-clear-icon-color: var(--color-neutral-6); }

:root {
  --tag-bg-color: var(--color-neutral-2);
  --tag-border-color: var(--color-neutral-5);
  --tag-active-color: var(--color-state);
  --tag-button-color: var(--color-neutral-7); }

:root {
  --progress-value-bg-color: var(--color-secondary);
  --progress-container-bg-color: var(--color-neutral-4);
  --progress-border-color: var(--color-neutral-1);
  --progress-container-text-color: var(--color-neutral-7);
  --progress-value-text-color: var(--color-neutral-1); }

:root {
  --collapsible-header-bg-color: var(--color-neutral-3);
  --collapsible-header-border-color: var(--color-neutral-3); }

:root {
  --progresstracker-container-bg-color: var(--color-neutral-1);
  --progresstracker-color-pending: var(--color-neutral-6);
  --progresstracker-color-current: var(--color-prompt-info);
  --progresstracker-color-achieved: var(--color-tertiary);
  --progresstracker-color-complete: var(--color-prompt-warning);
  --progresstracker-color-ready: var(--color-neutral-6);
  --progresstracker-color-done: var(--color-prompt-success);
  --progresstracker-color-done--inverse: var(--color-neutral-1);
  --progresstracker-color-locked: var(--color-neutral-6);
  --progresstracker-color-locked--inverse: var(--color-neutral-1);
  --progresstracker-color-optional: var(--color-neutral-6);
  --progresstracker-color-optional--inverse: var(--color-neutral-1);
  --progresstracker-color-selected: var(--color-neutral-6);
  --progresstracker-color-selected--inverse: var(--color-neutral-1); }

:root {
  --side-panel-nav-bg-color: var(--color-neutral-3);
  --side-panel-nav-item-bg-color: var(--color-neutral-3);
  --side-panel-nav-item-border-color: var(--color-neutral-3);
  --side-panel-nav-item-text-color: var(--color-neutral-7);
  --side-panel-nav-item-bg-color-focus: var(--color-neutral-4);
  --side-panel-nav-item-border-color-focus: var(--color-neutral-3);
  --side-panel-nav-item-text-color-focus: var(--color-state-focus);
  --side-panel-nav-item-bg-color-selected: var(--color-state-active);
  --side-panel-nav-item-border-color-selected: var(--color-neutral-3);
  --side-panel-nav-item-text-color-selected: var(--color-neutral-1); }

:root {
  --toggle-bg-color: var(--color-neutral-6);
  --toggle-btn-bg-color: transparent;
  --toggle-btn-bg-color-active: transparent;
  --toggle-btn-bg-color-disabled: transparent;
  --toggle-btn-bg-color-focus: transparent;
  --toggle-btn-bg-color-selected: var(--color-neutral-1);
  --toggle-btn-text-color: var(--color-neutral-1);
  --toggle-btn-text-color-active: var(--color-neutral-1);
  --toggle-btn-text-color-disabled: var(--color-neutral-1);
  --toggle-btn-text-color-focus: var(--color-neutral-1);
  --toggle-btn-text-color-selected: var(--color-neutral-7);
  --form-toggle-dot-color: var(--color-neutral-1);
  --form-toggle-off-bg-color: var(--color-neutral-4);
  --form-toggle-off-bg-color-hover-focus: var(--color-neutral-5);
  --form-toggle-on-bg-color: var(--color-state);
  --form-toggle-on-bg-color-hover-focus: var(--color-state-hover);
  --form-toggle-on-border-color: var(--color-state);
  --form-toggle-on-border-color-hover-focus: var(--color-state-hover);
  --form-toggle-border-color: var(--color-neutral-6); }

:root {
  --toast-color-text: var(--color-neutral-1); }

:root {
  --shadow-none: 0 0 0 0 transparent;
  --shadow-2: 0 3px 6px 0 rgba(0, 0, 0, 0.2);
  --shadow-3: 0 6px 6px 0 rgba(0, 0, 0, 0.15);
  --shadow-4: 0 10px 10px 0 rgba(0, 0, 0, 0.3);
  --form-input-shadow-focus: 0 0 3px 0 var(--color-state);
  --form-input-shadow-invalid: 0 0 0 var(--form-input-invalid-shadow-size) var(--form-input-border-color-invalid);
  --form-input-shadow-invalid-focus: 0 0 0 var(--form-input-invalid-shadow-size) var(--form-input-border-color-invalid), 0 0 3px var(--form-input-invalid-shadow-size) var(--form-input-border-color-invalid); }

:root {
  --sidepanel-navigation-item-padding-left: var(--gap-8); }

:root {
  --progress-tracker-horizontal-size--small: 10rem;
  --progress-tracker-horizontal-size--medium: 20rem;
  --progress-tracker-horizontal-size--large: 25rem;
  --progress-tracker-horizontal-gap--small: var(--gap-2);
  --progress-tracker-horizontal-gap--medium: var(--gap-4);
  --progress-tracker-horizontal-gap--large: var(--gap-6);
  --progress-tracker-vertical-gap--small: var(--gap-2);
  --progress-tracker-vertical-gap--medium: var(--gap-4);
  --progress-tracker-vertical-gap--large: var(--gap-6);
  --progresstracker-full-marker-size: 2.8rem;
  --progresstracker-connector-gap: 0.5rem; }

:root {
  --transition-form-function: linear;
  --transition-form-duration: 0s;
  --transition-modal-function: ease-out;
  --transition-modal-duration: 0.15s;
  --transition-sidepanel-content-function: linear;
  --transition-sidepanel-content-duration: 0.1s;
  --transition-progress-function: ease-out;
  --transition-progress-duration: 0.3s;
  --transition-button-function: ease;
  --transition-button-duration: 0.2s;
  --transition-toggle-function: ease;
  --transition-toggle-duration: 0.2s; }

:root {
  --modal-container-padding: var(--gap-12);
  --modal-sheet-padding: var(--gap-12);
  --modal-border-radius: 0;
  --modal-content-separation: var(--gap-2);
  --modal-content-separation-large: var(--gap-8);
  --modal-content-outer-padding: var(--gap-8); }

:root {
  --embedded-media-max-width: 700px; }

:root {
  --form-input-height: 3rem;
  --form-input-height-large: 4rem;
  --form-input-font-size: var(--font-size-15);
  --form-input-font-size-sm: var(--font-size-13);
  --form-input-border-size: 1px;
  --form-input-v-padding: calc((var(--form-input-height) - var(--form-input-font-size) - (var(--form-input-border-size) * 2)) / 2);
  --form-input-invalid-shadow-size: 1px;
  --form-input-limited-width: calc(20 * var(--form-input-font-size));
  --form-notepad-line-height: 3rem;
  --form-notepad-line-border: solid 1px;
  --input-set-spacing: var(--gap-2);
  --char-length-scale: 2, 3, 4, 5, 10, 15, 20, 25, 30, 50, 75, 100;
  --radio-label-offset: calc(var(--form-radio-size) * 1.35); }

:root {
  --separator-dot-gap: 0.53em;
  --separator-dot-size: 0.2em;
  --separator-pipe-gap: 0.53em;
  --separator-pipe-size: 1px; }

:root {
  --tag-height: 24px;
  --tag-border-radius: 12px; }

:root {
  --font-body-line-height: 1.33; }

:root {
  --zindex-modal: 100050;
  --zindex-error-modal: 100070;
  --zindex-modal-backdrop: 100040;
  --zindex-popover: 100050;
  --zindex-dropdown-menu: 10000;
  --zindex-loading-page: 100060;
  --zindex-toast: 100070;
  --zindex-draggable: 100080; }

/* This file is part of Totara Enterprise Extensions.*/
/**/
/* Copyright (C) 2020 onwards Totara Learning Solutions LTD*/
/**/
/* Totara Enterprise Extensions is provided only to Totara*/
/* Learning Solutions LTD's customers and partners, pursuant to*/
/* the terms and conditions of a separate agreement with Totara*/
/* Learning Solutions LTD or its affiliate.*/
/**/
/* If you do not have an agreement with Totara Learning Solutions*/
/* LTD, you may not access, use, modify, or distribute this software.*/
/* Please contact [licensing@totaralearning.com] for more information.*/
/**/
/* @author    Kevin Hottinger <kevin.hottinger@totaralearning.com>*/
/* @module tuickage   tui*/
html {
  font-size: 10px; }

.tui-sr-only {
  /* The use of '!important' here is an exception and should not be replicated else where */
  /* stylelint-disable declaration-no-important */
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  /* stylelint-enable */ }

/* rendered editor content*/
.tui-rendered {
  color: var(--color-text);
  font-weight: normal;
  font-size: var(--font-size-15);
  line-height: var(--font-body-line-height);
  word-break: break-word; }
  .tui-rendered h2 {
    font-weight: bold;
    font-size: var(--font-size-50);
    line-height: 1; }
  .tui-rendered h3 {
    font-weight: 500;
    font-size: var(--font-size-30);
    line-height: 1; }
  .tui-rendered h4 {
    font-weight: bold;
    font-size: var(--font-size-20);
    line-height: 1.25; }
  .tui-rendered h5 {
    font-weight: bold;
    font-size: var(--font-size-16);
    line-height: 1.25; }
  .tui-rendered__block {
    margin-bottom: 10px; }
  .tui-rendered__embedContainer {
    max-width: var(--embedded-media-max-width); }

/* Color state for the icons.*/
.tui-icon--disabled {
  color: var(--color-neutral-2); }
.tui-icon--action {
  color: var(--color-state); }
.tui-icon--info {
  color: var(--color-prompt-info); }
.tui-icon--alert {
  color: var(--color-prompt-alert); }
.tui-icon--warning {
  color: var(--color-prompt-warning); }
.tui-icon--success {
  color: var(--color-prompt-success); }
.tui-icon--dimmed {
  color: var(--color-neutral-6); }

.tui-adder {
  margin-top: calc(var(--gap-6) - var(--modal-content-separation)); }
  .tui-adder__list {
    height: 316px;
    overflow-y: auto; }
    .tui-adder__list-loadMore {
      margin: var(--gap-4) 0 var(--gap-4);
      text-align: center; }
    .tui-adder__list::before {
      display: block;
      height: var(--gap-4);
      content: ''; }
  .tui-adder__footer {
    display: flex;
    flex-wrap: wrap;
    border-top: var(--border-width-normal) solid var(--color-neutral-5); }
    .tui-adder__footer > * {
      margin-top: var(--gap-6); }
  .tui-adder__summary {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-size: var(--font-size-15);
    line-height: 1.2; }
  .tui-adder__actions {
    display: flex;
    margin-left: auto; }

@media screen and (min-width: 768px) {
  .tui-adder .tui-tabContent {
    min-height: 380px; }
  .tui-adder__listBasket {
    min-height: 350px; } }

.tui-hierarchicalParentButton {
  display: flex;
  align-items: center;
  padding: var(--gap-4) 0 0; }
  .tui-hierarchicalParentButton__backArrow {
    text-align: start; }
  @media screen and (min-width: 600px) {
    .tui-hierarchicalParentButton__backArrow {
      text-align: center; } }
  .tui-hierarchicalParentButton__label {
    margin-left: var(--gap-2); }

:root {
  --avatar-border-radius: 50%;
  --avatar-large-width: 185px;
  --avatar-large-height: 185px;
  --avatar-large-padding: 5px;
  --avatar-medium-width: 105px;
  --avatar-medium-height: 105px;
  --avatar-medium-padding: 3px;
  --avatar-small-width: 50px;
  --avatar-small-height: 50px;
  --avatar-small-padding: 2px;
  --avatar-xsmall-width: 38px;
  --avatar-xsmall-height: 38px;
  --avatar-xsmall-padding: 1px;
  --avatar-xxsmall-width: 24px;
  --avatar-xxsmall-height: 24px;
  --avatar-xxsmall-padding: 1px; }

.tui-avatar {
  border: var(--border-width-normal) solid var(--avatar-border-color);
  border-radius: var(--avatar-border-radius); }
  .tui-avatar--large {
    width: var(--avatar-large-width);
    height: var(--avatar-large-height);
    padding: var(--avatar-large-padding); }
  .tui-avatar--medium {
    width: var(--avatar-medium-width);
    height: var(--avatar-medium-height);
    padding: var(--avatar-medium-padding); }
  .tui-avatar--small {
    width: var(--avatar-small-width);
    height: var(--avatar-small-height);
    padding: var(--avatar-small-padding); }
  .tui-avatar--xsmall {
    width: var(--avatar-xsmall-width);
    height: var(--avatar-xsmall-height);
    padding: var(--avatar-xsmall-padding); }
  .tui-avatar--xxsmall {
    width: var(--avatar-xxsmall-width);
    height: var(--avatar-xxsmall-height);
    padding: var(--avatar-xxsmall-padding); }

.tui-basket {
  color: var(--color-text);
  font-weight: normal;
  font-size: var(--font-size-15);
  line-height: var(--font-body-line-height);
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  background-color: var(--color-neutral-3);
  border: var(--border-width-thin) solid var(--color-neutral-5); }
@media (min-width: 768px) {
  .tui-basket {
    flex-direction: row;
    align-items: center;
    justify-content: space-between; } }
.tui-basket__status, .tui-basket__actions {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  padding: var(--gap-2) var(--gap-3); }
  .tui-basket__status > *, .tui-basket__actions > * {
    margin-top: var(--gap-2);
    margin-left: var(--gap-4); }
  @media (min-width: 600px) {
    .tui-basket__status > *, .tui-basket__actions > * {
      margin-top: 0;
      margin-left: 0; }
    .tui-basket__status > .tui-formBtn--transparent, .tui-basket__status > .tui-iconBtn--transparent, .tui-basket__status > .tui-iconBtn--transparent-noPadding, .tui-basket__status > .tui-toggleSwitch__btn, .tui-basket__actions > .tui-formBtn--transparent, .tui-basket__actions > .tui-iconBtn--transparent, .tui-basket__actions > .tui-iconBtn--transparent-noPadding, .tui-basket__actions > .tui-toggleSwitch__btn {
      padding: var(--gap-1); }
    .tui-basket__status > * + *, .tui-basket__actions > * + * {
      margin-left: var(--gap-2); }
      .tui-basket--wideGap .tui-basket__status > * + *, .tui-basket--wideGap .tui-basket__actions > * + * {
        margin-left: var(--gap-4); } }
.tui-basket__selected {
  font-weight: bold; }
.tui-basket__selectedCount {
  font-size: var(--font-size-18); }

/* Reset*/
.tui-toggleBtn, .tui-formBtn, .tui-iconBtn, .tui-actionLink, .tui-toggleSwitch__btn {
  display: inline-block;
  align-items: flex-start;
  box-sizing: border-box;
  height: auto;
  padding: 1px 7px 2px;
  overflow: visible;
  color: buttontext;
  font-weight: normal;
  font-size: 14px;
  line-height: normal;
  letter-spacing: normal;
  white-space: normal;
  text-align: center;
  text-transform: none;
  text-decoration: none;
  text-indent: 0;
  text-shadow: none;
  vertical-align: baseline;
  word-spacing: normal;
  background-color: buttonface;
  border-color: #d8d8d8 #d1d1d1 #bababa;
  border-style: solid;
  border-width: 1px;
  border-radius: 0;
  border-image: initial;
  cursor: pointer;
  touch-action: auto;
  text-rendering: auto; }
  .tui-toggleBtn:active, .tui-formBtn:active, .tui-iconBtn:active, .tui-actionLink:active, .tui-toggleSwitch__btn:active {
    border-style: inset; }
  .tui-toggleBtn:focus, .tui-formBtn:focus, .tui-iconBtn:focus, .tui-actionLink:focus, .tui-toggleSwitch__btn:focus {
    outline-width: 5px;
    outline-style: auto; }

.tui-formBtn, .tui-iconBtn, .tui-actionLink, .tui-toggleSwitch__btn {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  min-width: var(--btn-min-width);
  max-width: 100%;
  min-height: var(--btn-min-height);
  /* prettier-ignore*/
  padding: calc((var(--btn-min-height) - var(--form-input-font-size) * 1.2) / 2 - var(--form-input-border-size)) var(--gap-4);
  color: var(--btn-text-color);
  font-size: var(--form-input-font-size);
  line-height: 1.2;
  word-wrap: break-word;
  word-break: break-word;
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
  background: var(--btn-bg-color);
  border: var(--form-input-border-size) solid;
  border-color: var(--btn-border-color);
  border-radius: var(--btn-radius);
  cursor: pointer;
  transition: background-color var(--transition- background-color-duration) var(--transition- background-color-function), border-color var(--transition- border-color-duration) var(--transition- border-color-function), box-shadow var(--transition- box-shadow-duration) var(--transition- box-shadow-function); }
  .tui-formBtn > .tui-formBtn__caret, .tui-iconBtn > .tui-formBtn__caret, .tui-actionLink > .tui-formBtn__caret, .tui-toggleSwitch__btn > .tui-formBtn__caret {
    margin-left: var(--gap-2); }
  .tui-formBtn .tui-formBtn__loading, .tui-iconBtn .tui-formBtn__loading, .tui-actionLink .tui-formBtn__loading, .tui-toggleSwitch__btn .tui-formBtn__loading {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--btn-loader-color-disabled); }
  .tui-formBtn:active, .tui-iconBtn:active, .tui-actionLink:active, .tui-toggleSwitch__btn:active, .tui-formBtn:focus, .tui-iconBtn:focus, .tui-actionLink:focus, .tui-toggleSwitch__btn:focus, .tui-formBtn:active:focus, .tui-iconBtn:active:focus, .tui-actionLink:active:focus, .tui-toggleSwitch__btn:active:focus, .tui-formBtn:active:hover, .tui-iconBtn:active:hover, .tui-actionLink:active:hover, .tui-toggleSwitch__btn:active:hover, .tui-formBtn:hover, .tui-iconBtn:hover, .tui-actionLink:hover, .tui-toggleSwitch__btn:hover {
    color: var(--btn-text-color-focus);
    text-decoration: none;
    background: var(--btn-bg-color-focus);
    border-color: var(--btn-border-color-focus);
    outline: 0;
    box-shadow: var(--btn-shadow-focus); }
  .tui-formBtn:active, .tui-iconBtn:active, .tui-actionLink:active, .tui-toggleSwitch__btn:active, .tui-formBtn:active:focus, .tui-iconBtn:active:focus, .tui-actionLink:active:focus, .tui-toggleSwitch__btn:active:focus, .tui-formBtn:active:hover, .tui-iconBtn:active:hover, .tui-actionLink:active:hover, .tui-toggleSwitch__btn:active:hover {
    color: var(--btn-text-color-active);
    background: var(--btn-bg-color-active);
    border: var(--form-input-border-size) solid;
    border-color: var(--btn-border-color-active);
    box-shadow: var(--btn-shadow-active); }
  .tui-formBtn:disabled, .tui-iconBtn:disabled, .tui-actionLink:disabled, .tui-toggleSwitch__btn:disabled, .tui-formBtn[disabled], .tui-iconBtn[disabled], .tui-actionLink[disabled], .tui-toggleSwitch__btn[disabled], .tui-formBtn--loading {
    color: var(--btn-text-color-disabled);
    background-color: var(--btn-bg-color-disabled);
    border-color: var(--btn-border-color-disabled);
    cursor: default;
    opacity: 1; }
    .tui-formBtn:disabled:active, .tui-iconBtn:disabled:active, .tui-actionLink:disabled:active, .tui-toggleSwitch__btn:disabled:active, .tui-formBtn[disabled]:active, .tui-iconBtn[disabled]:active, .tui-actionLink[disabled]:active, .tui-toggleSwitch__btn[disabled]:active, .tui-formBtn--loading:active, .tui-formBtn:disabled:focus, .tui-iconBtn:disabled:focus, .tui-actionLink:disabled:focus, .tui-toggleSwitch__btn:disabled:focus, .tui-formBtn[disabled]:focus, .tui-iconBtn[disabled]:focus, .tui-actionLink[disabled]:focus, .tui-toggleSwitch__btn[disabled]:focus, .tui-formBtn--loading:focus, .tui-formBtn:disabled:active:focus, .tui-iconBtn:disabled:active:focus, .tui-actionLink:disabled:active:focus, .tui-toggleSwitch__btn:disabled:active:focus, .tui-formBtn[disabled]:active:focus, .tui-iconBtn[disabled]:active:focus, .tui-actionLink[disabled]:active:focus, .tui-toggleSwitch__btn[disabled]:active:focus, .tui-formBtn--loading:active:focus, .tui-formBtn:disabled:active:hover, .tui-iconBtn:disabled:active:hover, .tui-actionLink:disabled:active:hover, .tui-toggleSwitch__btn:disabled:active:hover, .tui-formBtn[disabled]:active:hover, .tui-iconBtn[disabled]:active:hover, .tui-actionLink[disabled]:active:hover, .tui-toggleSwitch__btn[disabled]:active:hover, .tui-formBtn--loading:active:hover, .tui-formBtn:disabled:hover, .tui-iconBtn:disabled:hover, .tui-actionLink:disabled:hover, .tui-toggleSwitch__btn:disabled:hover, .tui-formBtn[disabled]:hover, .tui-iconBtn[disabled]:hover, .tui-actionLink[disabled]:hover, .tui-toggleSwitch__btn[disabled]:hover, .tui-formBtn--loading:hover {
      color: var(--btn-text-color-disabled);
      background-color: var(--btn-bg-color-disabled);
      border-color: var(--btn-border-color-disabled);
      box-shadow: none; }
  .tui-formBtn--alert, .tui-iconBtn--alert {
    color: var(--btn-alert-text-color);
    background: var(--btn-alert-bg-color);
    border-color: var(--btn-alert-border-color); }
    .tui-formBtn--alert:focus, .tui-iconBtn--alert:focus, .tui-formBtn--alert:hover, .tui-iconBtn--alert:hover {
      color: var(--btn-alert-text-color-focus);
      background: var(--btn-alert-bg-color-focus);
      border-color: var(--btn-alert-border-color-focus); }
    .tui-formBtn--alert:active, .tui-iconBtn--alert:active, .tui-formBtn--alert:active:focus, .tui-iconBtn--alert:active:focus, .tui-formBtn--alert:active:hover, .tui-iconBtn--alert:active:hover {
      color: var(--btn-alert-text-color-active);
      background: var(--btn-alert-bg-color-active);
      border-color: var(--btn-alert-border-color-active); }
    .tui-formBtn--alert:disabled, .tui-iconBtn--alert:disabled, .tui-formBtn--alert[disabled], .tui-iconBtn--alert[disabled], .tui-formBtn--alert.tui-formBtn--loading, .tui-iconBtn--alert.tui-formBtn--loading {
      color: var(--btn-alert-text-color-disabled);
      background: var(--btn-alert-bg-color-disabled);
      border-color: var(--btn-alert-border-color-disabled);
      cursor: default;
      opacity: 1; }
      .tui-formBtn--alert:disabled:active, .tui-iconBtn--alert:disabled:active, .tui-formBtn--alert[disabled]:active, .tui-iconBtn--alert[disabled]:active, .tui-formBtn--alert.tui-formBtn--loading:active, .tui-iconBtn--alert.tui-formBtn--loading:active, .tui-formBtn--alert:disabled:focus, .tui-iconBtn--alert:disabled:focus, .tui-formBtn--alert[disabled]:focus, .tui-iconBtn--alert[disabled]:focus, .tui-formBtn--alert.tui-formBtn--loading:focus, .tui-iconBtn--alert.tui-formBtn--loading:focus, .tui-formBtn--alert:disabled:active:focus, .tui-iconBtn--alert:disabled:active:focus, .tui-formBtn--alert[disabled]:active:focus, .tui-iconBtn--alert[disabled]:active:focus, .tui-formBtn--alert.tui-formBtn--loading:active:focus, .tui-iconBtn--alert.tui-formBtn--loading:active:focus, .tui-formBtn--alert:disabled:active:hover, .tui-iconBtn--alert:disabled:active:hover, .tui-formBtn--alert[disabled]:active:hover, .tui-iconBtn--alert[disabled]:active:hover, .tui-formBtn--alert.tui-formBtn--loading:active:hover, .tui-iconBtn--alert.tui-formBtn--loading:active:hover, .tui-formBtn--alert:disabled:hover, .tui-iconBtn--alert:disabled:hover, .tui-formBtn--alert[disabled]:hover, .tui-iconBtn--alert[disabled]:hover, .tui-formBtn--alert.tui-formBtn--loading:hover, .tui-iconBtn--alert.tui-formBtn--loading:hover {
        color: var(--btn-alert-text-color-disabled);
        background: var(--btn-alert-bg-color-disabled);
        border-color: var(--btn-alert-border-color-disabled);
        box-shadow: none; }
  .tui-formBtn--prim, .tui-iconBtn--prim, .tui-actionLink--prim {
    color: var(--btn-prim-text-color);
    font-weight: bold;
    background: var(--btn-prim-bg-color);
    border-color: var(--btn-prim-border-color); }
    .tui-formBtn--prim:focus, .tui-iconBtn--prim:focus, .tui-actionLink--prim:focus, .tui-formBtn--prim:hover, .tui-iconBtn--prim:hover, .tui-actionLink--prim:hover {
      color: var(--btn-prim-text-color-focus);
      background: var(--btn-prim-bg-color-focus);
      border-color: var(--btn-prim-border-color-focus); }
    .tui-formBtn--prim:active, .tui-iconBtn--prim:active, .tui-actionLink--prim:active, .tui-formBtn--prim:active:focus, .tui-iconBtn--prim:active:focus, .tui-actionLink--prim:active:focus, .tui-formBtn--prim:active:hover, .tui-iconBtn--prim:active:hover, .tui-actionLink--prim:active:hover {
      color: var(--btn-prim-text-color-active);
      background: var(--btn-prim-bg-color-active);
      border-color: var(--btn-prim-border-color-active); }
    .tui-formBtn--prim:disabled, .tui-iconBtn--prim:disabled, .tui-actionLink--prim:disabled, .tui-formBtn--prim[disabled], .tui-iconBtn--prim[disabled], .tui-actionLink--prim[disabled], .tui-formBtn--prim.tui-formBtn--loading, .tui-iconBtn--prim.tui-formBtn--loading, .tui-actionLink--prim.tui-formBtn--loading {
      color: var(--btn-prim-text-color-disabled);
      background: var(--btn-prim-bg-color-disabled);
      border-color: var(--btn-prim-border-color-disabled);
      cursor: default;
      opacity: 1; }
      .tui-formBtn--prim:disabled:active, .tui-iconBtn--prim:disabled:active, .tui-actionLink--prim:disabled:active, .tui-formBtn--prim[disabled]:active, .tui-iconBtn--prim[disabled]:active, .tui-actionLink--prim[disabled]:active, .tui-formBtn--prim.tui-formBtn--loading:active, .tui-iconBtn--prim.tui-formBtn--loading:active, .tui-actionLink--prim.tui-formBtn--loading:active, .tui-formBtn--prim:disabled:focus, .tui-iconBtn--prim:disabled:focus, .tui-actionLink--prim:disabled:focus, .tui-formBtn--prim[disabled]:focus, .tui-iconBtn--prim[disabled]:focus, .tui-actionLink--prim[disabled]:focus, .tui-formBtn--prim.tui-formBtn--loading:focus, .tui-iconBtn--prim.tui-formBtn--loading:focus, .tui-actionLink--prim.tui-formBtn--loading:focus, .tui-formBtn--prim:disabled:active:focus, .tui-iconBtn--prim:disabled:active:focus, .tui-actionLink--prim:disabled:active:focus, .tui-formBtn--prim[disabled]:active:focus, .tui-iconBtn--prim[disabled]:active:focus, .tui-actionLink--prim[disabled]:active:focus, .tui-formBtn--prim.tui-formBtn--loading:active:focus, .tui-iconBtn--prim.tui-formBtn--loading:active:focus, .tui-actionLink--prim.tui-formBtn--loading:active:focus, .tui-formBtn--prim:disabled:active:hover, .tui-iconBtn--prim:disabled:active:hover, .tui-actionLink--prim:disabled:active:hover, .tui-formBtn--prim[disabled]:active:hover, .tui-iconBtn--prim[disabled]:active:hover, .tui-actionLink--prim[disabled]:active:hover, .tui-formBtn--prim.tui-formBtn--loading:active:hover, .tui-iconBtn--prim.tui-formBtn--loading:active:hover, .tui-actionLink--prim.tui-formBtn--loading:active:hover, .tui-formBtn--prim:disabled:hover, .tui-iconBtn--prim:disabled:hover, .tui-actionLink--prim:disabled:hover, .tui-formBtn--prim[disabled]:hover, .tui-iconBtn--prim[disabled]:hover, .tui-actionLink--prim[disabled]:hover, .tui-formBtn--prim.tui-formBtn--loading:hover, .tui-iconBtn--prim.tui-formBtn--loading:hover, .tui-actionLink--prim.tui-formBtn--loading:hover {
        color: var(--btn-prim-text-color-disabled);
        background: var(--btn-prim-bg-color-disabled);
        border-color: var(--btn-prim-border-color-disabled);
        box-shadow: none; }
    .tui-formBtn--prim .tui-formBtn__loading, .tui-iconBtn--prim .tui-formBtn__loading, .tui-actionLink--prim .tui-formBtn__loading {
      color: var(--btn-prim-loader-color-disabled); }
  .tui-formBtn--small, .tui-iconBtn--small, .tui-actionLink--small {
    min-height: var(--form-input-height);
    /* prettier-ignore*/
    padding: calc((var(--form-input-height) - var(--form-input-font-size-sm) * 1.2) / 2 - var(--form-input-border-size)) var(--gap-3);
    font-size: var(--form-input-font-size-sm);
    line-height: 1.2; }
  .tui-formBtn--transparent, .tui-iconBtn--transparent, .tui-iconBtn--transparent-noPadding, .tui-toggleSwitch__btn, .tui-formBtn--reveal {
    min-height: auto;
    padding: 0;
    line-height: 1;
    border-radius: 0; }
  .tui-formBtn--transparent, .tui-iconBtn--transparent, .tui-iconBtn--transparent-noPadding, .tui-toggleSwitch__btn, .tui-formBtn--reveal, .tui-formBtn--stealth, .tui-iconBtn--stealth {
    min-width: 0;
    color: var(--color-state);
    background: transparent;
    border: none;
    cursor: pointer; }
    .tui-formBtn--transparent:focus, .tui-iconBtn--transparent:focus, .tui-iconBtn--transparent-noPadding:focus, .tui-toggleSwitch__btn:focus, .tui-formBtn--reveal:focus, .tui-formBtn--stealth:focus, .tui-iconBtn--stealth:focus {
      color: var(--color-state-focus);
      text-decoration: none;
      background: transparent;
      border: none;
      box-shadow: none; }
    .tui-formBtn--transparent:hover, .tui-iconBtn--transparent:hover, .tui-iconBtn--transparent-noPadding:hover, .tui-toggleSwitch__btn:hover, .tui-formBtn--reveal:hover, .tui-formBtn--stealth:hover, .tui-iconBtn--stealth:hover {
      color: var(--color-state-hover);
      text-decoration: none;
      background: transparent;
      border: none;
      box-shadow: none; }
    .tui-formBtn--transparent:active, .tui-iconBtn--transparent:active, .tui-iconBtn--transparent-noPadding:active, .tui-toggleSwitch__btn:active, .tui-formBtn--reveal:active, .tui-formBtn--stealth:active, .tui-iconBtn--stealth:active, .tui-formBtn--transparent:active:hover, .tui-iconBtn--transparent:active:hover, .tui-iconBtn--transparent-noPadding:active:hover, .tui-toggleSwitch__btn:active:hover, .tui-formBtn--reveal:active:hover, .tui-formBtn--stealth:active:hover, .tui-iconBtn--stealth:active:hover, .tui-formBtn--transparent:active:focus, .tui-iconBtn--transparent:active:focus, .tui-iconBtn--transparent-noPadding:active:focus, .tui-toggleSwitch__btn:active:focus, .tui-formBtn--reveal:active:focus, .tui-formBtn--stealth:active:focus, .tui-iconBtn--stealth:active:focus {
      color: var(--color-state-active);
      text-decoration: none;
      background: transparent;
      border: none;
      box-shadow: none; }
    .tui-formBtn--transparent:active:focus, .tui-iconBtn--transparent:active:focus, .tui-iconBtn--transparent-noPadding:active:focus, .tui-toggleSwitch__btn:active:focus, .tui-formBtn--reveal:active:focus, .tui-formBtn--stealth:active:focus, .tui-iconBtn--stealth:active:focus, .tui-formBtn--transparent:focus, .tui-iconBtn--transparent:focus, .tui-iconBtn--transparent-noPadding:focus, .tui-toggleSwitch__btn:focus, .tui-formBtn--reveal:focus, .tui-formBtn--stealth:focus, .tui-iconBtn--stealth:focus {
      outline: 1px dashed var(--color-state-focus);
      outline-offset: 1px; }
    .tui-formBtn--transparent:disabled, .tui-iconBtn--transparent:disabled, .tui-iconBtn--transparent-noPadding:disabled, .tui-toggleSwitch__btn:disabled, .tui-formBtn--reveal:disabled, .tui-formBtn--stealth:disabled, .tui-iconBtn--stealth:disabled, .tui-formBtn--transparent.tui-formBtn--loading, .tui-iconBtn--transparent.tui-formBtn--loading, .tui-iconBtn--transparent-noPadding.tui-formBtn--loading, .tui-toggleSwitch__btn.tui-formBtn--loading, .tui-formBtn--reveal.tui-formBtn--loading, .tui-formBtn--stealth.tui-formBtn--loading, .tui-iconBtn--stealth.tui-formBtn--loading {
      color: var(--color-state-disabled);
      background: transparent;
      opacity: 1; }
      .tui-formBtn--transparent:disabled:active, .tui-iconBtn--transparent:disabled:active, .tui-iconBtn--transparent-noPadding:disabled:active, .tui-toggleSwitch__btn:disabled:active, .tui-formBtn--reveal:disabled:active, .tui-formBtn--stealth:disabled:active, .tui-iconBtn--stealth:disabled:active, .tui-formBtn--transparent.tui-formBtn--loading:active, .tui-iconBtn--transparent.tui-formBtn--loading:active, .tui-iconBtn--transparent-noPadding.tui-formBtn--loading:active, .tui-toggleSwitch__btn.tui-formBtn--loading:active, .tui-formBtn--reveal.tui-formBtn--loading:active, .tui-formBtn--stealth.tui-formBtn--loading:active, .tui-iconBtn--stealth.tui-formBtn--loading:active, .tui-formBtn--transparent:disabled:focus, .tui-iconBtn--transparent:disabled:focus, .tui-iconBtn--transparent-noPadding:disabled:focus, .tui-toggleSwitch__btn:disabled:focus, .tui-formBtn--reveal:disabled:focus, .tui-formBtn--stealth:disabled:focus, .tui-iconBtn--stealth:disabled:focus, .tui-formBtn--transparent.tui-formBtn--loading:focus, .tui-iconBtn--transparent.tui-formBtn--loading:focus, .tui-iconBtn--transparent-noPadding.tui-formBtn--loading:focus, .tui-toggleSwitch__btn.tui-formBtn--loading:focus, .tui-formBtn--reveal.tui-formBtn--loading:focus, .tui-formBtn--stealth.tui-formBtn--loading:focus, .tui-iconBtn--stealth.tui-formBtn--loading:focus, .tui-formBtn--transparent:disabled:active:focus, .tui-iconBtn--transparent:disabled:active:focus, .tui-iconBtn--transparent-noPadding:disabled:active:focus, .tui-toggleSwitch__btn:disabled:active:focus, .tui-formBtn--reveal:disabled:active:focus, .tui-formBtn--stealth:disabled:active:focus, .tui-iconBtn--stealth:disabled:active:focus, .tui-formBtn--transparent.tui-formBtn--loading:active:focus, .tui-iconBtn--transparent.tui-formBtn--loading:active:focus, .tui-iconBtn--transparent-noPadding.tui-formBtn--loading:active:focus, .tui-toggleSwitch__btn.tui-formBtn--loading:active:focus, .tui-formBtn--reveal.tui-formBtn--loading:active:focus, .tui-formBtn--stealth.tui-formBtn--loading:active:focus, .tui-iconBtn--stealth.tui-formBtn--loading:active:focus, .tui-formBtn--transparent:disabled:active:hover, .tui-iconBtn--transparent:disabled:active:hover, .tui-iconBtn--transparent-noPadding:disabled:active:hover, .tui-toggleSwitch__btn:disabled:active:hover, .tui-formBtn--reveal:disabled:active:hover, .tui-formBtn--stealth:disabled:active:hover, .tui-iconBtn--stealth:disabled:active:hover, .tui-formBtn--transparent.tui-formBtn--loading:active:hover, .tui-iconBtn--transparent.tui-formBtn--loading:active:hover, .tui-iconBtn--transparent-noPadding.tui-formBtn--loading:active:hover, .tui-toggleSwitch__btn.tui-formBtn--loading:active:hover, .tui-formBtn--reveal.tui-formBtn--loading:active:hover, .tui-formBtn--stealth.tui-formBtn--loading:active:hover, .tui-iconBtn--stealth.tui-formBtn--loading:active:hover, .tui-formBtn--transparent:disabled:hover, .tui-iconBtn--transparent:disabled:hover, .tui-iconBtn--transparent-noPadding:disabled:hover, .tui-toggleSwitch__btn:disabled:hover, .tui-formBtn--reveal:disabled:hover, .tui-formBtn--stealth:disabled:hover, .tui-iconBtn--stealth:disabled:hover, .tui-formBtn--transparent.tui-formBtn--loading:hover, .tui-iconBtn--transparent.tui-formBtn--loading:hover, .tui-iconBtn--transparent-noPadding.tui-formBtn--loading:hover, .tui-toggleSwitch__btn.tui-formBtn--loading:hover, .tui-formBtn--reveal.tui-formBtn--loading:hover, .tui-formBtn--stealth.tui-formBtn--loading:hover, .tui-iconBtn--stealth.tui-formBtn--loading:hover {
        color: var(--color-state-disabled);
        background: transparent;
        box-shadow: none; }
  .tui-formBtn--reveal {
    color: currentColor;
    border-bottom: 1px dashed var(--color-state); }
    .tui-formBtn--reveal:focus, .tui-formBtn--reveal:hover, .tui-formBtn--reveal:active, .tui-formBtn--reveal:active:hover, .tui-formBtn--reveal:active:focus {
      color: currentColor;
      border-bottom: 1px dashed var(--color-state); }
    .tui-formBtn--reveal:disabled, .tui-formBtn--reveal.tui-formBtn--loading {
      color: currentColor;
      border-bottom: 1px dashed var(--color-state);
      opacity: 0.7; }
      .tui-formBtn--reveal:disabled:active, .tui-formBtn--reveal.tui-formBtn--loading:active, .tui-formBtn--reveal:disabled:focus, .tui-formBtn--reveal.tui-formBtn--loading:focus, .tui-formBtn--reveal:disabled:active:focus, .tui-formBtn--reveal.tui-formBtn--loading:active:focus, .tui-formBtn--reveal:disabled:active:hover, .tui-formBtn--reveal.tui-formBtn--loading:active:hover, .tui-formBtn--reveal:disabled:hover, .tui-formBtn--reveal.tui-formBtn--loading:hover {
        color: currentColor;
        border-bottom: 1px dashed var(--color-state); }
  .tui-formBtn--transparent .tui-formBtn__text, .tui-iconBtn--transparent .tui-formBtn__text, .tui-iconBtn--transparent-noPadding .tui-formBtn__text, .tui-toggleSwitch__btn .tui-formBtn__text {
    position: relative; }
  .tui-formBtn--loading .tui-formBtn__text {
    visibility: hidden; }
  .tui-formBtn--srOnly, .tui-actionLink--srOnly {
    /* The use of '!important' here is an exception and should not be replicated else where */
    /* stylelint-disable declaration-no-important */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    /* stylelint-enable */ }

.tui-formBtnGroup {
  display: flex; }
  .tui-formBtnGroup .tui-formBtn, .tui-formBtnGroup .tui-iconBtn, .tui-formBtnGroup .tui-actionLink, .tui-formBtnGroup .tui-toggleSwitch__btn {
    min-width: 80px; }
  .tui-formBtnGroup > :not(:first-child) {
    margin: auto 0 auto var(--gap-4); }

.tui-iconBtn {
  /* stylelint-disable-next-line tui/at-extend-only-placeholders*/
  display: inline-block;
  min-width: 0;
  padding: 0 var(--gap-2);
  /* in order to vertically center content in IE we need this display: flex*/
  /* wrapping div because:*/
  /*   * putting `display: flex;` on .tui-iconBtn does not center vertically*/
  /*     due to an IE 11 flex bug*/
  /*     https://github.com/philipwalton/flexbugs#flexbug-3*/
  /*   * relying on vertical-align for centering instead is not good enough -*/
  /*     it's off by a px or two*/ }
  .tui-iconBtn__wrap {
    display: flex;
    align-items: center;
    justify-content: center; }
    .tui-iconBtn__wrap > .tui-iconBtn__caret {
      margin: 0 var(--gap-1); }
    .tui-iconBtn__wrap > .tui-iconBtn__loading {
      margin-left: var(--gap-1); }
  .tui-iconBtn__icon {
    display: flex;
    flex-shrink: 0;
    font-size: var(--font-size-16); }
  .tui-iconBtn__label {
    display: inline-flex;
    align-items: center; }
  .tui-iconBtn__text {
    word-break: break-word;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none; }
    .ie .tui-iconBtn__text {
      -ms-word-break: break-all;
      -ms-hyphens: none; }
  .tui-iconBtn--alert {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }
  .tui-iconBtn--prim {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }
  .tui-iconBtn--small {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/
    padding: 0 var(--gap-1);
    font-size: var(--font-size-13); }
    .tui-iconBtn--small .tui-iconBtn__icon {
      padding: 0 2px;
      font-size: var(--font-size-14); }
  .tui-iconBtn--xsmall {
    min-height: 2rem;
    padding: 0 0.1rem;
    font-size: var(--font-size-12); }
    .tui-iconBtn--xsmall .tui-iconBtn__icon {
      padding: 0 1px;
      font-size: var(--font-size-11); }
  .tui-iconBtn--small.tui-iconBtn--hasText .tui-iconBtn__icon, .tui-iconBtn--xsmall.tui-iconBtn--hasText .tui-iconBtn__icon {
    padding-right: 0; }
  .tui-iconBtn--circle {
    width: 3.6rem;
    height: 3.6rem;
    padding: 0;
    border-radius: 50%; }
    .tui-iconBtn--circle.tui-iconBtn--small {
      width: 3rem;
      height: 3rem; }
    .tui-iconBtn--circle.tui-iconBtn--xsmall {
      width: 2rem;
      height: 2rem; }
  .tui-iconBtn--transparent {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }
  .tui-iconBtn--transparent-noPadding {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }
    .tui-iconBtn--transparent-noPadding.tui-iconBtn, .tui-iconBtn--transparent-noPadding.tui-iconBtn--small, .tui-iconBtn--transparent-noPadding.tui-iconBtn--xsmall {
      padding: 0; }
  .tui-iconBtn--stealth {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }
  .tui-iconBtn--textFirst .tui-iconBtn__label {
    flex-direction: row-reverse; }
    .tui-iconBtn--textFirst .tui-iconBtn__label .tui-iconBtn__text {
      padding: 0 var(--gap-1); }

.tui-iconBtn__text {
  padding: 0 var(--gap-1); }

.tui-infoIconButton.tui-iconBtn {
  width: auto;
  height: auto;
  vertical-align: -0.125em; }

.tui-labelledButtonTrigger {
  display: inline-flex;
  flex-direction: column;
  align-items: center; }
  .tui-labelledButtonTrigger__label {
    color: var(--color-state); }
    .tui-labelledButtonTrigger__label:hover {
      text-decoration: underline;
      cursor: pointer; }

.tui-actionCard {
  flex-direction: column;
  padding: var(--gap-4); }
  .tui-actionCard__body {
    display: flex;
    flex-grow: 1;
    flex-shrink: 1;
    flex-wrap: wrap;
    align-items: center; }
  .tui-actionCard__action {
    display: flex;
    flex-shrink: 0;
    align-items: normal;
    padding: var(--gap-4) 0 0; }

@media screen and (min-width: 768px) {
  .tui-actionCard {
    flex-direction: row; }
    .tui-actionCard--stacked {
      flex-direction: column; }
    .tui-actionCard:not(.tui-actionCard--stacked) .tui-actionCard__action {
      align-items: center;
      padding: 0 0 0 var(--gap-4); } }

.tui-card {
  position: relative;
  display: flex;
  border: 1px solid var(--card-border-color);
  border-radius: var(--card-border-radius);
  outline: none; }
  .tui-card__link {
    position: absolute;
    width: 100%;
    height: 100%; }
  .tui-card--noBorder {
    border: none; }
    .tui-card--noBorder:focus, .tui-card--noBorder:hover {
      border: none; }
  .tui-card--hasHoverShadow:focus, .tui-card--hasHoverShadow:hover {
    box-shadow: var(--shadow-2); }
  .tui-card--hasShadow {
    box-shadow: var(--shadow-2); }
  .tui-card--clickable {
    transition: box-shadow var(--transition-form-function) var(--transition-form-duration); }
    .tui-card--clickable.tui-focusWithin {
      box-shadow: var(--shadow-2); }
  .tui-card--clickable:hover, .tui-card--clickable:focus {
    box-shadow: var(--shadow-2);
    cursor: pointer; }

.tui-collapsible__header {
  display: flex;
  background: var(--collapsible-header-bg-color);
  border: var(--border-width-thin) solid var(--collapsible-header-border-color); }
  .tui-collapsible__header-heading {
    display: flex;
    flex-grow: 1;
    margin: 0; }
  .tui-collapsible__header-button {
    word-break: break-word;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none;
    display: flex;
    flex-grow: 1;
    align-items: center;
    margin: 0;
    padding: var(--gap-2) var(--gap-2) var(--gap-2) 0;
    cursor: pointer;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none; }
    .ie .tui-collapsible__header-button {
      -ms-word-break: break-all;
      -ms-hyphens: none; }
    .tui-collapsible__header-button:focus {
      outline: 1px dashed var(--color-state-focus);
      outline-offset: 1px; }
  .tui-collapsible__header-icon {
    flex-shrink: 0;
    margin: 0 var(--gap-4);
    color: var(--color-state); }
  .tui-collapsible__header-text {
    font-weight: bold;
    font-size: var(--font-size-16);
    line-height: 1.25;
    margin: 0; }
  .tui-collapsible__header-sideContent {
    display: flex;
    flex-shrink: 0;
    padding: var(--gap-2); }
.tui-collapsible__content > .tui-formRowStack {
  margin-top: var(--gap-4);
  /* line up with text of header*/ }
.tui-collapsible__content--indented {
  padding-left: var(--gap-12); }

.tui-collapsibleGroupToggle {
  display: flex; }
  .tui-collapsibleGroupToggle--alignEnd .tui-collapsibleGroupToggle__button {
    margin-left: auto; }

.tui-hideShow {
  display: flex;
  flex-direction: column;
  background: var(--color-neutral-1); }
  .tui-hideShow__content {
    display: none; }
    .tui-hideShow__content--show {
      display: block;
      outline: none; }
  .tui-hideShow__toggle {
    display: flex;
    padding: var(--gap-2) 0; }
    .tui-hideShow__toggle--sticky {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      z-index: 1;
      background: inherit; }

@media screen and (min-width: 768px) {
  .tui-hideShow--mobile > .tui-hideShow__toggle {
    display: none; }
  .tui-hideShow--mobile > .tui-hideShow__content {
    display: block; } }

.tui-dataTableCell, .tui-dataTableHeaderCell {
  display: flex;
  flex-basis: 0;
  flex-direction: column;
  flex-grow: 1;
  /* ensure excessively long words don't push out cell width */
  min-width: 0;
  /* ensure excessively long words don't overflow */
  word-wrap: break-word; }
  .tui-dataTableCell__label {
    display: none;
    margin-top: var(--gap-2);
    padding: var(--gap-1) 0 var(--gap-2);
    font-weight: bold;
    font-size: var(--font-size-13);
    line-height: 1.15; }
  .tui-dataTableCell--stacked .tui-dataTableCell__label {
    display: inline-block; }
  .tui-dataTableCell--repeatedHeader .tui-dataTableCell__content {
    /* The use of '!important' here is an exception and should not be replicated else where */
    /* stylelint-disable declaration-no-important */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    /* stylelint-enable */ }
    .tui-dataTableCell--size_1 {
      flex-grow: 1; }
    .tui-dataTableCell--size_2 {
      flex-grow: 2; }
    .tui-dataTableCell--size_3 {
      flex-grow: 3; }
    .tui-dataTableCell--size_4 {
      flex-grow: 4; }
    .tui-dataTableCell--size_5 {
      flex-grow: 5; }
    .tui-dataTableCell--size_6 {
      flex-grow: 6; }
    .tui-dataTableCell--size_7 {
      flex-grow: 7; }
    .tui-dataTableCell--size_8 {
      flex-grow: 8; }
    .tui-dataTableCell--size_9 {
      flex-grow: 9; }
    .tui-dataTableCell--size_10 {
      flex-grow: 10; }
    .tui-dataTableCell--size_11 {
      flex-grow: 11; }
    .tui-dataTableCell--size_12 {
      flex-grow: 12; }
    .tui-dataTableCell--size_13 {
      flex-grow: 13; }
    .tui-dataTableCell--size_14 {
      flex-grow: 14; }
    .tui-dataTableCell--size_15 {
      flex-grow: 15; }
    .tui-dataTableCell--size_16 {
      flex-grow: 16; }
  .tui-dataTableCell--align-center {
    align-items: center; }
  .tui-dataTableCell--align-end {
    align-items: flex-end; }
  .tui-dataTableCell--heavy {
    font-weight: bold; }
    .tui-dataTableCell--valign-center {
      justify-content: center; }
    .tui-dataTableCell--valign-end {
      justify-content: flex-end; }
  .tui-dataTableCell--stacked {
    flex-basis: auto;
    align-items: initial; }

.tui-dataTableExpandCell {
  display: flex;
  order: 0;
  width: var(--gap-9);
  margin: 0; }
  .tui-dataTableExpandCell .tui-iconBtn {
    margin: 0 auto; }
  .tui-dataTableExpandCell.tui-dataTableExpandCell--header {
    margin-left: 0; }
  .tui-dataTableExpandCell--stacked {
    order: 1;
    width: 100%;
    margin: var(--gap-2) 0; }

.tui-dataTableExpandableRow {
  position: relative;
  margin: 0 0 var(--gap-2) calc(0px - var(--border-width-thin));
  color: var(--datatable-expanded-text-color);
  background: var(--datatable-expanded-bg-color);
  border: var(--border-width-thin) solid var(--datatable-expanded-border-color);
  border-top: none;
  box-shadow: var(--shadow-2); }
  .tui-dataTableExpandableRow--stealth {
    border: none;
    box-shadow: none; }
    .tui-dataTableExpandableRow--stealth__content {
      padding: 0; }
  .tui-dataTableExpandableRow__content {
    padding: var(--gap-3);
    background: var(--datatable-expanded-bg-color); }
  .tui-dataTableExpandableRow--indented {
    padding-left: var(--gap-11); }
  .tui-dataTableExpandableRow--stacked {
    border-top: none; }
  .tui-dataTableExpandableRow--stacked.tui-dataTableExpandableRow--indented {
    padding-left: 0; }
  .tui-dataTableExpandableRow--indented .tui-dataTableExpandableRow__content {
    padding: var(--gap-3) 0 var(--gap-3) var(--gap-3); }

.tui-dataTableHeaderCell {
  /* stylelint-disable-next-line tui/at-extend-only-placeholders*/
  font-weight: bold;
  font-size: var(--font-size-15);
  line-height: 1.2;
  display: flex;
  color: var(--datatable-cell-header-text-color);
  font-weight: bold; }
  .tui-dataTableHeaderCell--stacked {
    display: none; }

.tui-dataTableRowHeader {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: var(--gap-3) var(--gap-1); }
  .tui-dataTableRowHeader--stacked {
    display: block;
    padding: 0; }
  .tui-dataTableRowHeader--empty {
    display: none; }
  .tui-dataTableRowHeader > * + * {
    margin-left: var(--gap-4); }
  .tui-dataTableRowHeader--indented {
    padding-left: var(--gap-11); }

.tui-dataTableRow {
  position: relative;
  display: flex;
  flex-direction: row;
  padding: var(--gap-3) var(--gap-1);
  background: var(--datatable-row-bg-color);
  border-top: 1px solid var(--datatable-row-border-color); }
  .tui-dataTableRow > * + * {
    padding-left: var(--gap-4); }
  .tui-dataTableRow:first-child {
    border-top: var(--border-width-normal) solid var(--datatable-row-first-border-color); }
  .tui-dataTableRow:last-child {
    border-bottom: 1px solid var(--datatable-row-border-color); }
  .tui-dataTableRow.tui-focusWithin, .tui-dataTableRow:active, .tui-dataTableRow:hover {
    background: var(--datatable-row-bg-color-focus); }
  .tui-dataTableRow--indented {
    padding-left: var(--gap-11); }
  .tui-dataTableRow--stealth {
    box-shadow: none; }
    .tui-dataTableRow--borderTopFirstOff:first-child {
      border-top: none; }
  .tui-dataTableRow--borderBottomLastOff:last-child {
    border-bottom: none; }
  .tui-dataTableRow--borderSeparatorOff:not(:first-child) {
    border-top: none; }
  .tui-dataTableRow--selected {
    background: var(--datatable-row-bg-color-active); }
    .tui-dataTableRow--selected:hover {
      background: var(--datatable-row-bg-color-focus); }
  .tui-dataTableRow--colorOdd:not(.tui-dataTableRow--selected):nth-child(odd) {
    background: var(--datatable-row-bg-color-odd); }
    .tui-dataTableRow--colorOdd:not(.tui-dataTableRow--selected):nth-child(odd).tui-focusWithin, .tui-dataTableRow--colorOdd:not(.tui-dataTableRow--selected):nth-child(odd):hover {
      background: var(--datatable-row-bg-color-focus); }
.tui-dataTableRow--hoverOff.tui-focusWithin, .tui-dataTableRow--hoverOff:active, .tui-dataTableRow--hoverOff:hover {
  background: var(--datatable-row-bg-color); }
.tui-dataTableRow--hoverOff.tui-dataTableRow--colorOdd:nth-child(odd).tui-focusWithin, .tui-dataTableRow--hoverOff.tui-dataTableRow--colorOdd:nth-child(odd):hover {
  background: var(--datatable-row-bg-color-odd); }
.tui-dataTableRow--inGroup {
  border-top: none; }
  .tui-dataTableRow--inGroup:first-child {
    border-top: none; }
  .tui-dataTableRow--inGroup:last-child {
    border-bottom: none; }
.tui-dataTableRow--disabled {
  color: var(--color-neutral-6);
  /* don't show hover background when another item is being dragged over it*/ }
[data-tui-droppable-any-active] .tui-dataTableRow:hover {
  background: var(--datatable-row-bg-color); }
.tui-dataTableRow--draggable {
  /* apply a background so you don't see through the row when dragging*/
  /* (default is transparent)*/
  background: var(--color-background);
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .tui-dataTableRow--draggable.tui-focusWithin, .tui-dataTableRow--draggable:active, .tui-dataTableRow--draggable:hover {
    background: var(--color-background); }
.tui-dataTableRow--draggable > .tui-dataTableCell, .tui-dataTableRow--draggable > .tui-dataTableHeaderCell {
  pointer-events: none; }
.tui-dataTableRow--dragging {
  box-shadow: var(--shadow-3); }
.tui-dataTableRow--expanded {
  margin-left: calc(0px - var(--border-width-thin));
  background-color: var(--datatable-expanded-bg-color);
  border: var(--border-width-thin) solid var(--datatable-expanded-border-color);
  border-bottom: none;
  box-shadow: var(--shadow-2); }
.tui-dataTableRow--stealthExpanded {
  border-right: none;
  border-left: none;
  box-shadow: none; }

.tui-dataTableRow--stacked {
  flex-direction: column;
  padding: var(--gap-3) 0; }
  .tui-dataTableRow--stacked > * + * {
    padding-left: 0; }
  .tui-dataTableRow--stacked:first-child {
    border-top: var(--border-width-normal) solid var(--datatable-row-first-border-color); }
  .tui-dataTableRow--stacked:last-child {
    border-bottom: 1px solid var(--datatable-row-border-color); }
  .tui-dataTableRow--stacked.tui-dataTableRow--inGroup {
    border-top: 1px solid var(--datatable-row-border-color); }
    .tui-dataTableRow--stacked.tui-dataTableRow--inGroup:first-child {
      border-top: none; }
    .tui-dataTableRow--stacked.tui-dataTableRow--inGroup:last-child {
      border-bottom: none; }
    .tui-dataTableRow--stacked.tui-dataTableRow--inGroup:nth-child(odd) {
      background: none; }
    .tui-dataTableRow--stacked.tui-dataTableRow--inGroup:hover {
      background: none; }

.tui-dataTableRowGroup {
  padding: 0;
  border-top: 2px solid var(--datatable-row-first-border-color); }
  .tui-dataTableRowGroup--stacked {
    padding: 0 var(--gap-2); }
  .tui-dataTableRowGroup + .tui-dataTableRowGroup {
    border-top: 1px solid var(--datatable-row-border-color); }
  .tui-dataTableRowGroup:last-child {
    border-bottom: 1px solid var(--datatable-row-border-color); }
  .tui-dataTableRowGroup.tui-focusWithin, .tui-dataTableRowGroup:active, .tui-dataTableRowGroup:hover {
    background: var(--datatable-row-bg-color-focus); }
  .tui-dataTableRowGroup--selected {
    background: var(--datatable-row-bg-color-active); }
    .tui-dataTableRowGroup--selected:hover {
      background: var(--datatable-row-bg-color-focus); }

.tui-dataTableSelectEveryRowToggle {
  padding: var(--gap-2);
  background-color: var(--datatable-select-everything-prompt-bg); }

.tui-dataTableSelectRowCell {
  display: flex;
  flex-direction: column; }
  .tui-dataTableSelectRowCell--hidden {
    visibility: hidden; }
  .tui-dataTableSelectRowCell__loader {
    width: var(--form-checkbox-size);
    height: var(--form-checkbox-size); }
    .tui-dataTableSelectRowCell__loader--large {
      width: var(--form-checkbox-size-large);
      height: var(--form-checkbox-size-large); }
  .tui-dataTableSelectRowCell--stacked.tui-dataTableSelectRowCell--hidden {
    height: 0; }
    .tui-dataTableSelectRowCell--valign-start {
      justify-content: flex-start; }
    .tui-dataTableSelectRowCell--valign-center {
      justify-content: center; }
    .tui-dataTableSelectRowCell--valign-end {
      justify-content: flex-end; }

.tui-dataTableSelectVisibleRowsCell {
  display: flex; }
  .tui-dataTableSelectVisibleRowsCell--hidden {
    visibility: hidden; }
  .tui-dataTableSelectVisibleRowsCell__loader {
    width: var(--form-checkbox-size);
    height: var(--form-checkbox-size); }
    .tui-dataTableSelectVisibleRowsCell__loader--large {
      width: var(--form-checkbox-size-large);
      height: var(--form-checkbox-size-large); }
  .tui-dataTableSelectVisibleRowsCell--stacked {
    margin: var(--gap-2) 0; }
  .tui-dataTableSelectVisibleRowsCell__label {
    display: none;
    font-weight: bold;
    font-size: var(--font-size-13);
    line-height: 1.15;
    padding: 0 0 var(--gap-1) var(--gap-1); }
    .tui-dataTableSelectVisibleRowsCell__label--stacked {
      display: inline-block; }
    .tui-dataTableSelectVisibleRowsCell__label--large {
      padding: var(--gap-1) 0 var(--gap-1) var(--gap-2); }

.tui-dataTable--archived {
  background: var(--datatable-bg-archived); }
.tui-dataTable__row-move-cell {
  flex-basis: var(--gap-5);
  flex-grow: 0; }
.tui-dataTable__row-move-menu {
  position: absolute;
  top: 0;
  left: var(--gap-8);
  background: var(--color-background); }

.tui-andBox {
  /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }
  .tui-andBox__text {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }

.tui-arrow {
  position: absolute;
  pointer-events: none; }

.tui-arrow--normal.tui-arrow--top, .tui-arrow--normal.tui-arrow--bottom {
  /*rtl:ignore*/
  left: 50%;
  width: 20px;
  height: 20px;
  /*rtl:ignore*/
  margin-left: -10px; }

.tui-arrow--normal.tui-arrow--top {
  top: -20px; }

.tui-arrow--normal.tui-arrow--bottom {
  bottom: -20px; }

.tui-arrow--normal.tui-arrow--left, .tui-arrow--normal.tui-arrow--right {
  top: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px; }

.tui-arrow--normal.tui-arrow--left {
  left: -20px; }

.tui-arrow--normal.tui-arrow--right {
  right: -20px; }

.tui-arrow--normal.tui-arrow::before {
  position: absolute;
  display: block;
  border: 10px solid transparent;
  content: ''; }

.tui-arrow--normal.tui-arrow--top::before {
  top: 0;
  left: 0;
  border-bottom-color: var(--arrow-border-color); }

.tui-arrow--normal.tui-arrow--bottom::before {
  bottom: 0;
  left: 0;
  border-top-color: var(--arrow-border-color); }

.tui-arrow--normal.tui-arrow--left::before {
  top: 0;
  left: 0;
  border-right-color: var(--arrow-border-color); }

.tui-arrow--normal.tui-arrow--right::before {
  top: 0;
  right: 0;
  border-left-color: var(--arrow-border-color); }

.tui-arrow--normal.tui-arrow::after {
  position: absolute;
  display: block;
  border: 8px solid transparent;
  content: ''; }

.tui-arrow--normal.tui-arrow--top::after {
  top: 4px;
  left: 2px;
  border-bottom-color: var(--arrow-bg-color); }

.tui-arrow--normal.tui-arrow--bottom::after {
  bottom: 4px;
  left: 2px;
  border-top-color: var(--arrow-bg-color); }

.tui-arrow--normal.tui-arrow--left::after {
  top: 2px;
  left: 4px;
  border-right-color: var(--arrow-bg-color); }

.tui-arrow--normal.tui-arrow--right::after {
  top: 2px;
  right: 4px;
  border-left-color: var(--arrow-bg-color); }

.tui-arrow--large.tui-arrow--top, .tui-arrow--large.tui-arrow--bottom {
  /*rtl:ignore*/
  left: 50%;
  width: 28px;
  height: 28px;
  /*rtl:ignore*/
  margin-left: -14px; }

.tui-arrow--large.tui-arrow--top {
  top: -28px; }

.tui-arrow--large.tui-arrow--bottom {
  bottom: -28px; }

.tui-arrow--large.tui-arrow--left, .tui-arrow--large.tui-arrow--right {
  top: 50%;
  width: 28px;
  height: 28px;
  margin-top: -14px; }

.tui-arrow--large.tui-arrow--left {
  left: -28px; }

.tui-arrow--large.tui-arrow--right {
  right: -28px; }

.tui-arrow--large.tui-arrow::before {
  position: absolute;
  display: block;
  border: 14px solid transparent;
  content: ''; }

.tui-arrow--large.tui-arrow--top::before {
  top: 0;
  left: 0;
  border-bottom-color: var(--arrow-border-color); }

.tui-arrow--large.tui-arrow--bottom::before {
  bottom: 0;
  left: 0;
  border-top-color: var(--arrow-border-color); }

.tui-arrow--large.tui-arrow--left::before {
  top: 0;
  left: 0;
  border-right-color: var(--arrow-border-color); }

.tui-arrow--large.tui-arrow--right::before {
  top: 0;
  right: 0;
  border-left-color: var(--arrow-border-color); }

.tui-arrow--large.tui-arrow::after {
  position: absolute;
  display: block;
  border: 12px solid transparent;
  content: ''; }

.tui-arrow--large.tui-arrow--top::after {
  top: 4px;
  left: 2px;
  border-bottom-color: var(--arrow-bg-color); }

.tui-arrow--large.tui-arrow--bottom::after {
  bottom: 4px;
  left: 2px;
  border-top-color: var(--arrow-bg-color); }

.tui-arrow--large.tui-arrow--left::after {
  top: 2px;
  left: 4px;
  border-right-color: var(--arrow-bg-color); }

.tui-arrow--large.tui-arrow--right::after {
  top: 2px;
  right: 4px;
  border-left-color: var(--arrow-bg-color); }

.tui-caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent; }

.tui-orBox, .tui-andBox {
  display: inline-flex;
  margin: 0 auto;
  border: var(--border-width-thin) solid var(--color-neutral-6);
  border-radius: 6px; }
  .tui-orBox__text, .tui-andBox__text {
    margin: 0;
    padding: var(--gap-2) var(--gap-4);
    text-transform: uppercase;
    font-weight: bold;
    font-size: var(--font-size-15);
    line-height: 1.2; }

.tui-separator {
  margin: var(--gap-4) 0; }
  .tui-separator--spread {
    margin: var(--gap-8) 0;
    /* simple implementation using a horizontal rule element*/ }
  .tui-separator-rule {
    height: var(--border-width-thin);
    line-height: var(--border-width-thin);
    background-color: var(--color-neutral-5);
    border: none; }
    .tui-separator-rule.tui-separator--thick {
      height: var(--border-width-thick);
      line-height: var(--border-width-thick); }
    .tui-separator-rule.tui-separator--normal {
      height: var(--border-width-normal);
      line-height: var(--border-width-normal);
      /* alternative implementation with wrapper markup to center slotted content*/
      /* horizontal rule visible only to screen readers, the visual lines added with*/
      /* pseudo selectors*/ }
  .tui-separator--wrapped {
    display: flex;
    align-items: center; }
    .tui-separator--wrapped .tui-separator-content {
      margin: 0 var(--gap-4);
      white-space: nowrap;
      text-align: center; }
    .tui-separator--wrapped:before, .tui-separator--wrapped:after {
      width: 50%;
      height: var(--border-width-thin);
      line-height: var(--border-width-thin);
      background-color: var(--color-neutral-5);
      content: ''; }
    .tui-separator--wrapped.tui-separator--thick:before, .tui-separator--wrapped.tui-separator--thick:after {
      height: var(--border-width-thick);
      line-height: var(--border-width-thick); }
    .tui-separator--wrapped.tui-separator--normal:before, .tui-separator--wrapped.tui-separator--normal:after {
      height: var(--border-width-normal);
      line-height: var(--border-width-normal); }

.tui-performance__summary {
  list-style: none; }
.tui-performance__container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center; }
.tui-performance__wrapper {
  margin-right: var(--gap-4);
  margin-bottom: var(--gap-4);
  border: 1px solid var(--color-neutral-5);
  border-radius: 3px; }
  .tui-performance__wrapper > * {
    padding-right: var(--gap-2);
    padding-left: var(--gap-2); }
    .tui-performance__wrapper > *:first-child {
      font-weight: bold; }
    .tui-performance__wrapper > *:not(:first-child) {
      background: var(--color-chart-transparent-3); }

[data-tui-draggable][data-animated] {
  transition: transform 0.25s; }
[data-tui-draggable][data-dragging] {
  position: fixed;
  z-index: var(--zindex-draggable);
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /* required so droppable can get mouse events*/
  pointer-events: none; }

.tui-draggableMoveMenu__button:not(:focus):not([aria-expanded='true']) {
  /* The use of '!important' here is an exception and should not be replicated else where */
  /* stylelint-disable declaration-no-important */
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  /* stylelint-enable */ }

.tui-droppable__dropLine {
  z-index: var(--zindex-draggable);
  background: var(--color-secondary);
  pointer-events: none; }
  .tui-droppable__dropLine--vertical {
    height: var(--border-width-normal);
    margin-top: calc(var(--border-width-normal) * -0.5); }
  .tui-droppable__dropLine--horizontal {
    width: var(--border-width-normal);
    margin-left: calc(var(--border-width-normal) * -0.5); }

[data-tui-droppable-location-indicator] {
  background-color: var(--color-neutral-5); }

.tui-dropdown__menu {
  z-index: var(--zindex-dropdown-menu);
  min-width: 15rem;
  max-width: 35rem;
  max-height: 40vh;
  overflow-y: auto;
  background-color: var(--dropdown-menu-bg-color);
  background-clip: padding-box;
  border: var(--border-width-thin) solid var(--dropdown-menu-border-color);
  box-shadow: var(--shadow-2); }
.tui-dropdown--flexibleWidth .tui-dropdown__menu {
  min-width: 0;
  max-width: none; }
.tui-dropdown__content {
  display: flex;
  flex-direction: column; }
  .tui-dropdown__content--separator > * + * {
    border-top: var(--border-width-thin) solid var(--dropdown-menu-border-color); }
.tui-dropdown--fixedHeight .tui-dropdown__content {
  height: 100%; }
.tui-dropdown--fixedHeight .tui-dropdown__menu {
  height: 38vh;
  overflow-y: visible; }
.tui-dropdown--disabled {
  cursor: not-allowed; }
  .tui-dropdown--disabled .tui-dropdown__trigger {
    pointer-events: none; }

/* override <button> styles*/
.tui-dropdownButton {
  color: var(--dropdown-item-text-color);
  text-align: left;
  border: none;
  border-radius: 0; }
  .tui-dropdownButton:hover, .tui-dropdownButton:focus, .tui-dropdownButton:active, .tui-dropdownButton:focus:active {
    border-color: transparent;
    box-shadow: none; }

/* tui-dropdownButton styles*/
.tui-dropdownButton {
  color: var(--color-text);
  font-weight: normal;
  font-size: var(--font-size-15);
  line-height: var(--font-body-line-height);
  padding: var(--gap-2) var(--gap-4);
  overflow: hidden;
  line-height: 1.4;
  text-overflow: ellipsis; }
  .tui-dropdownButton:hover, .tui-dropdownButton:focus, .tui-dropdownButton:active, .tui-dropdownButton:focus:active {
    color: var(--dropdown-item-text-color-hover);
    text-decoration: none;
    background-color: var(--dropdown-item-bg-color-hover);
    outline: 0; }
  .tui-dropdownButton:focus, .tui-dropdownButton:active, .tui-dropdownButton:focus:active {
    color: var(--dropdown-item-text-color-focus);
    background-color: var(--dropdown-item-bg-color-focus); }
  .tui-dropdownButton--disabled, .tui-dropdownButton--disabled:hover, .tui-dropdownButton--disabled:focus {
    color: var(--dropdown-item-text-color-disabled);
    background-color: transparent;
    cursor: not-allowed; }
  .tui-dropdownButton--disabled:active {
    pointer-events: none; }
  .tui-dropdownButton--noPadding {
    padding: 0; }

.tui-dropdownGroup__header {
  padding: var(--gap-2) var(--gap-4);
  font-weight: bold; }
.tui-dropdownGroup__items {
  display: flex;
  flex-direction: column; }
  .tui-dropdownGroup__items > * {
    padding-left: var(--gap-7); }
.tui-dropdownGroup--separator .tui-dropdownGroup__items > * {
  border-top: var(--border-width-thin) solid var(--dropdown-menu-border-color); }

.tui-dropdownItem {
  color: var(--color-text);
  font-weight: normal;
  font-size: var(--font-size-15);
  line-height: var(--font-body-line-height);
  display: block;
  width: 100%;
  padding: var(--gap-2) var(--gap-4);
  overflow: hidden;
  color: var(--dropdown-item-text-color);
  line-height: 1.4;
  white-space: nowrap;
  text-overflow: ellipsis;
  cursor: pointer; }
  .tui-dropdownItem:hover, .tui-dropdownItem:focus {
    color: var(--dropdown-item-text-color-hover);
    text-decoration: none;
    background-color: var(--dropdown-item-bg-color-hover);
    outline: 0; }
  .tui-dropdownItem:focus {
    color: var(--dropdown-item-text-color-focus);
    background-color: var(--dropdown-item-bg-color-focus); }
  .tui-dropdownItem--disabled, .tui-dropdownItem--disabled:hover, .tui-dropdownItem--disabled:focus {
    color: var(--dropdown-item-text-color-disabled);
    background-color: transparent;
    cursor: not-allowed; }
  .tui-dropdownItem--disabled:focus {
    background-color: var(--dropdown-item-bg-color-disabled-focus); }
  .tui-dropdownItem--disabled:active {
    pointer-events: none; }
  .tui-dropdownItem--noPadding {
    padding: 0; }

.tui-editorLoading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
  background-color: var(--form-input-bg-color);
  border: var(--border-width-thin) solid var(--color-neutral-5);
  /* inner must be separate for intrinsic height to work*/ }
  .tui-editorLoading__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    /* similar to default Weka height*/
    height: calc(9.2rem + 2px); }
  .tui-editorLoading--compact .tui-editorLoading__inner {
    /* similar to default Weka height with compact on*/
    height: calc(5.9rem + 2px); }
  .tui-editorLoading__spinner {
    color: var(--color-neutral-5); }

.tui-editorTextarea {
  display: flex;
  flex-direction: column;
  /* expand to full width if in horizontal flex*/
  width: 100%;
  /* needed a more specific selector to override tui-select { flex-grow: 1; }*/ }
  .tui-editorTextarea > :first-child {
    flex-grow: 0; }
  .tui-editorTextarea__textarea {
    /* stretch child input to be full height if the editor is given a specific height*/
    flex-grow: 1;
    margin-top: var(--gap-1); }

.tui-responsiveEmbedIframe {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden; }
  .tui-responsiveEmbedIframe::before {
    display: block;
    content: ''; }
  .tui-responsiveEmbedIframe__item {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0; }

.tui-errorModal__detailsToggle {
  display: block;
  margin-top: var(--gap-4);
  text-decoration: none; }
  .tui-errorModal__detailsToggle:hover, .tui-errorModal__detailsToggle:focus {
    text-decoration: none; }
.tui-errorModal__buttons {
  display: flex;
  justify-content: space-between;
  width: 100%; }
.tui-errorModal__navButtons {
  display: flex;
  align-items: center; }
  .tui-errorModal__navButtons > * + * {
    margin-left: var(--gap-4); }
.tui-errorModal__details {
  margin-top: var(--gap-3); }
.tui-errorModal__label {
  font-weight: bold;
  font-size: var(--font-size-16);
  line-height: 1.25; }
.tui-errorModal__context {
  color: var(--color-text-hint); }
.tui-errorModal__extraInfo {
  white-space: pre-wrap; }
.tui-errorModal__stackPre {
  margin: var(--gap-2) 0 0 0;
  padding: var(--gap-4);
  color: var(--color-neutral-7);
  word-break: break-word;
  background-color: var(--color-neutral-3);
  border-radius: 4px; }

.tui-errorDisplay {
  padding: var(--gap-8);
  background: var(--color-neutral-3);
  border-radius: 4px; }
  .tui-errorDisplay__title {
    margin-top: 0; }
  .tui-errorDisplay__buttons {
    margin-bottom: var(--gap-4); }
  .tui-errorDisplay__buttons:last-child {
    margin-bottom: 0; }
  .tui-errorDisplay__detailsToggle {
    text-decoration: none; }
    .tui-errorDisplay__detailsToggle:hover, .tui-errorDisplay__detailsToggle:focus {
      text-decoration: none; }
  .tui-errorDisplay__detailsPre {
    margin-top: var(--gap-2);
    margin-bottom: 0;
    padding: var(--gap-4);
    background-color: var(--color-neutral-1);
    border-radius: 4px; }

.tui-sesskeyExpired__button {
  margin-top: var(--gap-6);
  margin-left: auto; }

.tui-fileCard {
  position: relative;
  display: flex;
  align-items: center;
  padding: var(--gap-2);
  white-space: normal;
  border: var(--border-width-thin) solid var(--color-neutral-5);
  border-radius: var(--card-border-radius); }
@media (max-width: 490px) {
  .tui-fileCard {
    /* From 490px downward*/
    width: 100%;
    overflow: hidden; } }
@media (min-width: 491px) {
  .tui-fileCard {
    /* From 490px onward*/
    flex-basis: 20%;
    min-width: 235px; } }
.tui-fileCard__info {
  flex-direction: column;
  overflow: hidden; }
.tui-fileCard__fileSize {
  margin: 0;
  font-size: var(--font-size-3);
  white-space: nowrap; }
.tui-fileCard__filename {
  display: flex; }
  .tui-fileCard__filename-text {
    margin: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis; }
  .tui-fileCard__filename-ext {
    flex-shrink: 0; }
.tui-fileCard__icon {
  flex-shrink: 0;
  width: 3.2rem;
  margin-right: var(--gap-2);
  color: var(--color-state); }
.tui-fileCard--downloadable {
  cursor: pointer; }

.tui-buttonFilter.tui-buttonFilter--stacked {
  text-align: right; }
  .tui-buttonFilter.tui-buttonFilter--stacked > * {
    margin-top: var(--gap-4); }

.tui-filterBar {
  display: flex;
  flex-direction: column;
  padding: 0 var(--gap-3); }
  .tui-filterBar--hasTop {
    padding-top: var(--gap-4);
    border-top: var(--border-width-thin) solid var(--filter-bar-border-color); }
  .tui-filterBar--hasBottom {
    padding-bottom: var(--gap-4);
    border-bottom: var(--border-width-thin) solid var(--filter-bar-border-color); }
  .tui-filterBar__heading {
    /* The use of '!important' here is an exception and should not be replicated else where */
    /* stylelint-disable declaration-no-important */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    /* stylelint-enable */ }
  .tui-filterBar__toggle {
    display: flex;
    justify-content: center; }
    .tui-filterBar__toggle-btn {
      margin: var(--gap-2) 0; }
  .tui-filterBar__filters {
    display: flex;
    flex-grow: 1; }
    .tui-filterBar__filters-left, .tui-filterBar__filters-right {
      display: flex;
      flex-shrink: 0; }
      .tui-filterBar__filters-left > *, .tui-filterBar__filters-right > * {
        flex-shrink: 0; }
      .tui-filterBar__filters-left > * + *, .tui-filterBar__filters-right > * + * {
        margin-left: var(--gap-4);
        /* make slider icon closer to next filter item*/ }
      .tui-filterBar__filters-left > .tui-filterBar__filters-icon + *, .tui-filterBar__filters-right > .tui-filterBar__filters-icon + * {
        margin-left: var(--gap-2); }
      .tui-filterBar__filters--stacked .tui-filterBar__filters-left, .tui-filterBar__filters--stacked .tui-filterBar__filters-right {
        flex-direction: column;
        margin-left: 0; }
        .tui-filterBar__filters--stacked .tui-filterBar__filters-left .tui-formLabel, .tui-filterBar__filters--stacked .tui-filterBar__filters-right .tui-formLabel {
          font-weight: bold;
          font-size: var(--font-size-13);
          line-height: 1.15; }
        .tui-filterBar__filters--stacked .tui-filterBar__filters-left > *, .tui-filterBar__filters--stacked .tui-filterBar__filters-right > * {
          margin-top: var(--gap-2);
          margin-left: 0; }
    .tui-filterBar__filters-right {
      flex-grow: 1;
      justify-content: flex-end;
      margin-left: var(--gap-4); }
    .tui-filterBar__filters-icon {
      display: flex;
      align-items: center; }
    .tui-filterBar__filters-iconSlider {
      display: flex;
      margin: auto 0; }
    .tui-filterBar__filters--stacked {
      flex-direction: column; }

.tui-filterSidePanel {
  display: block; }
  .tui-filterSidePanel__header {
    font-weight: bold;
    font-size: var(--font-size-20);
    line-height: 1.25;
    min-width: 0;
    margin: 0 var(--gap-2) 0 0; }
  .tui-filterSidePanel__heading {
    display: flex;
    padding-bottom: var(--gap-2);
    border-bottom: var(--border-width-normal) solid var(--color-neutral-7); }
  .tui-filterSidePanel__instructions, .tui-filterSidePanel__status {
    /* The use of '!important' here is an exception and should not be replicated else where */
    /* stylelint-disable declaration-no-important */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    /* stylelint-enable */ }
  .tui-filterSidePanel .tui-filterSidePanel__clearBtn {
    flex-shrink: 0;
    margin-left: auto; }

.tui-filterSidePanel.tui-filterSidePanel > * + * {
  margin-top: var(--gap-4); }
.tui-filterSidePanel.tui-filterSidePanel .tui-fieldset__legend, .tui-filterSidePanel.tui-filterSidePanel .tui-formLabel {
  font-weight: bold;
  font-size: var(--font-size-13);
  line-height: 1.15; }

.tui-multiSelectFilter > * + * {
  margin-top: var(--gap-1); }
.tui-multiSelectFilter__collapsible {
  margin: 0; }
  .tui-multiSelectFilter__collapsible-collapsed > * {
    margin-top: var(--gap-1); }
  .tui-multiSelectFilter__collapsible-toggle {
    margin-left: var(--gap-1); }

.tui-searchFilter {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center; }
  .tui-searchFilter input.tui-formInput {
    flex-grow: 0; }
  .tui-searchFilter .tui-formLabel {
    margin: auto var(--gap-3) auto 0; }
  .tui-searchFilter__group {
    position: relative;
    display: flex;
    flex-grow: 1;
    margin-top: 0;
    margin-bottom: auto; }
    .tui-searchFilter__group--stacked {
      margin-top: var(--gap-1); }
    .tui-searchFilter__group-icon {
      position: absolute;
      left: var(--gap-1);
      display: flex;
      align-items: center;
      height: 100%;
      color: var(--filter-search-icon-color); }
      .tui-searchFilter__group-icon .fa-search {
        margin: auto 0; }
    .tui-searchFilter__group-clearContainer {
      position: absolute;
      right: 0;
      height: 100%; }
  .tui-searchFilter__search {
    /* disable the default clear (x) action in IE*/ }
    .tui-searchFilter__search::-ms-clear {
      display: none; }
  .tui-searchFilter__removeIcon {
    color: var(--filter-search-clear-icon-color); }
  .tui-searchFilter--stacked {
    flex-direction: column;
    align-items: stretch; }
    .tui-searchFilter--stacked .tui-formLabel {
      margin: var(--gap-1) 0; }

.tui-selectFilter {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center; }
  .tui-selectFilter .tui-formLabel {
    margin: auto var(--gap-3) auto 0; }
  .tui-selectFilter .tui-select {
    width: auto;
    max-width: 250px; }
  .tui-selectFilter--stacked {
    flex-direction: column;
    align-items: stretch; }
    .tui-selectFilter--stacked .tui-formLabel {
      margin: var(--gap-1) 0 0; }
    .tui-selectFilter--stacked .tui-select {
      max-width: initial;
      margin-top: var(--gap-1); }

:root {
  /* Size of checkbox*/
  --form-checkbox-size: var(--form-input-font-size);
  --form-checkbox-size-large: calc(var(--form-input-font-size) * 1.333);
  --checkbox-check-width: 0.2rem; }

.tui-checkbox {
  position: relative;
  display: flex;
  min-height: calc(var(--form-checkbox-size) + 2px); }
  .tui-checkbox--large {
    min-height: calc(var(--form-checkbox-size-large) + 2px); }
  .tui-checkbox__input {
    position: absolute;
    opacity: 0; }
  .tui-checkbox__label {
    position: relative;
    margin: 0;
    padding-left: calc(var(--form-checkbox-size) * 1.5);
    font-weight: normal;
    font-size: var(--form-input-font-size);
    line-height: 1; }
    .tui-checkbox--large .tui-checkbox__label {
      padding-left: calc(var(--form-checkbox-size-large) * 1.5); }
    .tui-checkbox__label--noOffset {
      padding-left: var(--form-checkbox-size); }
      .tui-checkbox--large .tui-checkbox__label--noOffset {
        padding-left: var(--form-checkbox-size-large); }
    .tui-checkbox__label::before {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: var(--form-checkbox-size);
      height: var(--form-checkbox-size);
      margin-top: 1px;
      background: var(--form-checkbox-bg-color);
      border: var(--form-input-border-size) solid;
      border-color: var(--form-checkbox-border-color);
      transition: border var(--transition-form-function) var(--transition-form-duration), box-shadow var(--transition-form-function) var(--transition-form-duration);
      content: '';
      pointer-events: none; }
      .tui-checkbox--large .tui-checkbox__label::before {
        width: var(--form-checkbox-size-large);
        height: var(--form-checkbox-size-large); }
      .tui-contextInvalid .tui-checkbox__label::before {
        border-color: var(--form-input-border-color-invalid);
        box-shadow: var(--shadow-none), var(--form-input-shadow-invalid); }
  .tui-checkbox__input:disabled ~ .tui-checkbox__label {
    color: var(--form-input-text-color-disabled); }
  .tui-checkbox__input:checked:hover ~ .tui-checkbox__label::before, .tui-checkbox__input:hover ~ .tui-checkbox__label::before, .tui-checkbox__input:focus ~ .tui-checkbox__label::before {
    border: var(--form-input-border-size) solid;
    border-color: var(--form-checkbox-border-color-focus);
    box-shadow: var(--form-input-shadow-focus); }
    .tui-contextInvalid .tui-checkbox__input:checked:hover ~ .tui-checkbox__label::before, .tui-contextInvalid .tui-checkbox__input:hover ~ .tui-checkbox__label::before, .tui-contextInvalid .tui-checkbox__input:focus ~ .tui-checkbox__label::before {
      border-color: var(--form-input-border-color-invalid);
      box-shadow: var(--shadow-none), var(--form-input-shadow-invalid-focus); }
  .tui-checkbox__input:focus ~ .tui-checkbox__label::before {
    background: var(--form-checkbox-bg-color-focus); }
  .tui-checkbox__input:disabled:checked ~ .tui-checkbox__label::before, .tui-checkbox__input:disabled ~ .tui-checkbox__label::before {
    background: var(--form-checkbox-bg-color-disabled);
    border: var(--form-input-border-size) solid;
    border-color: var(--form-checkbox-border-color-disabled);
    box-shadow: none; }
  .tui-checkbox__input ~ .tui-checkbox__label::after {
    /* construct a check mark out of two sides of a rotated box*/
    position: absolute;
    top: calc(0.267 * var(--form-checkbox-size));
    left: calc(0.133 * var(--form-checkbox-size));
    display: block;
    width: calc(0.733 * var(--form-checkbox-size));
    height: calc(0.4 * var(--form-checkbox-size));
    border-color: var(--form-checkbox-check-color);
    border-style: solid;
    /*rtl:ignore*/
    border-width: 0 0 var(--checkbox-check-width) var(--checkbox-check-width);
    transform: rotate(-45deg);
    opacity: 0;
    transition: opacity var(--transition-form-function) var(--transition-form-duration);
    content: '';
    pointer-events: none; }
    .tui-checkbox--large .tui-checkbox__input ~ .tui-checkbox__label::after {
      top: calc(0.267 * var(--form-checkbox-size-large));
      left: calc(0.133 * var(--form-checkbox-size-large));
      width: calc(0.733 * var(--form-checkbox-size-large));
      height: calc(0.4 * var(--form-checkbox-size-large)); }
  .tui-checkbox__input:disabled:checked ~ .tui-checkbox__label::after, .tui-checkbox__input:disabled ~ .tui-checkbox__label::after {
    border-color: var(--form-checkbox-check-color-disabled); }
  .tui-checkbox__input:checked ~ .tui-checkbox__label::before {
    background: var(--form-checkbox-bg-color-active); }
  .tui-checkbox__input:checked ~ .tui-checkbox__label::after {
    opacity: 1; }

@media print {
  .tui-checkbox__input:checked ~ .tui-checkbox__label::before {
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    /* IE11 & Edge support*/ }
  .ie .tui-checkbox__input:checked ~ .tui-checkbox__label::before, .msedge .tui-checkbox__input:checked ~ .tui-checkbox__label::before {
    border: solid var(--form-checkbox-bg-color-active);
    border-width: 0 var(--form-checkbox-size) 0 0; } }

.tui-checkboxButton {
  position: relative;
  display: flex; }
  .tui-checkboxButton__input {
    position: absolute;
    opacity: 0; }
  .tui-checkboxButton__label {
    display: flex;
    flex-grow: 1;
    margin: 0;
    padding: var(--gap-1);
    color: var(--btn-checkbox-text-color);
    font-weight: normal;
    cursor: pointer; }
    .tui-checkboxButton__label:hover {
      color: var(--btn-checkbox-text-color-focus);
      background: var(--btn-checkbox-bg-color-hover); }
    .tui-checkboxButton__label:active:hover, .tui-checkboxButton__label:active {
      color: var(--btn-checkbox-text-color-active); }
  .tui-checkboxButton__deselectIcon {
    margin: auto 0 auto auto;
    color: var(--btn-checkbox-text-color-selected);
    visibility: hidden; }
  .tui-checkboxButton__input:checked ~ .tui-checkboxButton__label {
    color: var(--btn-checkbox-text-color-selected);
    background: var(--btn-checkbox-bg-color-selected); }
    .tui-checkboxButton__input:checked ~ .tui-checkboxButton__label .tui-checkboxButton__deselectIcon {
      visibility: visible; }
    .tui-checkboxButton__input:checked ~ .tui-checkboxButton__label:hover {
      color: var(--btn-checkbox-text-color-focus);
      background: var(--btn-checkbox-bg-color-hover); }
      .tui-checkboxButton__input:checked ~ .tui-checkboxButton__label:hover .tui-checkboxButton__deselectIcon {
        color: var(--btn-checkbox-text-color-focus);
        visibility: visible; }
    .tui-checkboxButton__input:checked ~ .tui-checkboxButton__label:active:hover, .tui-checkboxButton__input:checked ~ .tui-checkboxButton__label:active {
      color: var(--btn-checkbox-text-color-active);
      background: var(--btn-checkbox-bg-color-hover); }
      .tui-checkboxButton__input:checked ~ .tui-checkboxButton__label:active:hover .tui-checkboxButton__deselectIcon, .tui-checkboxButton__input:checked ~ .tui-checkboxButton__label:active .tui-checkboxButton__deselectIcon {
        color: var(--btn-checkbox-text-color-active);
        visibility: visible; }
  .tui-checkboxButton__input:focus ~ .tui-checkboxButton__label {
    outline: 1px dashed var(--color-state-focus);
    outline-offset: 1px; }
  .tui-checkboxButton__input:focus:checked ~ .tui-checkboxButton__label {
    outline: 1px dashed var(--color-state-focus);
    outline-offset: 1px; }
    .tui-checkboxButton__input:focus:checked ~ .tui-checkboxButton__label .tui-checkboxButton__deselectIcon {
      color: var(--btn-checkbox-text-color-selected);
      visibility: visible; }

:root {
  --form-checkbox-group-padding: var(--gap-2);
  --form-checkbox-group-spacing-v: var(--gap-4);
  --form-checkbox-group-spacing-h: var(--gap-4); }

.tui-checkboxGroup {
  display: flex;
  flex-direction: column;
  padding: var(--form-checkbox-group-padding) 0; }
  .tui-checkboxGroup > * + * {
    margin-top: var(--form-checkbox-group-spacing-v); }

@media screen and (min-width: 768px) {
  .tui-checkboxGroup--horizontal {
    flex-direction: row;
    flex-wrap: wrap;
    /* stylelint-disable length-zero-no-unit*/
    /* prettier-ignore*/
    margin-top: calc(0px - var(--form-checkbox-group-spacing-v) + var(--form-checkbox-group-padding));
    padding-top: 0; }
    .tui-checkboxGroup--horizontal > * {
      margin-top: var(--form-checkbox-group-spacing-v);
      margin-right: var(--form-checkbox-group-spacing-h); } }

.tui-dateSelector {
  display: flex;
  flex-wrap: wrap; }
  .tui-dateSelector__date {
    display: flex;
    margin: 0 var(--gap-4) var(--gap-2) 0; }
    .tui-dateSelector__date > * {
      display: flex; }
    .tui-dateSelector__date > * + * {
      margin-left: var(--gap-2); }
    .tui-dateSelector__date-day {
      width: 5rem; }
    .tui-dateSelector__date-month {
      width: 12rem; }
    .tui-dateSelector__date-year {
      width: 7rem; }
  .tui-dateSelector__time {
    display: flex;
    width: calc((var(--gap-2) * 2) + 24rem); }

.tui-formFieldError {
  /* offset the extra red shadow on invalid elements + we want the error*/
  /* message to be spaced 1px away*/
  margin-top: calc(var(--form-input-invalid-shadow-size) + 1px); }
  .tui-formFieldError__inner {
    font-weight: normal;
    font-size: var(--font-size-13);
    line-height: 1.15;
    display: inline-flex;
    align-items: center;
    padding: 0.6rem 0.8rem;
    color: var(--form-error-text-color);
    background: var(--form-error-bg-color); }
  .tui-formFieldError__dismiss {
    margin-left: var(--gap-1);
    padding: 0;
    color: inherit;
    opacity: 0.7; }
    .tui-formFieldError__dismiss:hover:active, .tui-formFieldError__dismiss:active, .tui-formFieldError__dismiss:hover, .tui-formFieldError__dismiss:focus {
      color: inherit;
      opacity: 1; }
    .tui-formFieldError__dismiss-icon {
      position: relative;
      top: -1px;
      font-weight: normal;
      font-size: var(--font-size-13);
      line-height: 1.15; }

.tui-formFieldGroup {
  flex-grow: 1;
  width: 100%;
  min-width: 0; }

.tui-fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0; }
  .tui-fieldset__legend {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    color: var(--form-text-color);
    font-size: var(--font-size-18);
    line-height: inherit;
    border: none; }
  .tui-fieldset--hidden {
    /* The use of '!important' here is an exception and should not be replicated else where */
    /* stylelint-disable declaration-no-important */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    /* stylelint-enable */ }

.tui-form > * + * {
  margin-top: var(--gap-4); }

.tui-formRow {
  display: flex;
  flex-direction: column;
  /* __inner is needed as setting margin on the root element is the*/
  /* responsibility of the containing element (outside-in spacing).*/
  /* (see below for margin setting)*/ }
  .tui-formRow__inner {
    display: flex;
    flex-direction: column;
    flex-grow: 1; }
  .tui-formRow__inner > .tui-formRow__desc {
    min-width: 0;
    padding-top: var(--gap-1);
    padding-right: var(--gap-2);
    text-align: left;
    overflow-wrap: break-word; }
    .tui-form--vertical .tui-formRow__inner > .tui-formRow__desc, .tui-formRow--vertical .tui-formRow__inner > .tui-formRow__desc, .tui-formRow--emptyDesc .tui-formRow__inner > .tui-formRow__desc {
      padding: 0; }
  .tui-formRow__inner > .tui-formRow__action {
    display: flex;
    max-width: 71.2rem; }
    .tui-form--vertical .tui-formRow__inner > .tui-formRow__action, .tui-formRow--vertical .tui-formRow__inner > .tui-formRow__action {
      margin-top: var(--gap-2); }
    .tui-formRow--emptyDesc .tui-formRow__inner > .tui-formRow__action {
      margin-top: 0; }
    .tui-formRow__inner > .tui-formRow__action--isStacked {
      display: block;
      flex-direction: column; }
      .tui-formRow__inner > .tui-formRow__action--isStacked > * + * {
        margin-top: var(--gap-2); }

.tui-form--horizontal .tui-formRow:not(.tui-formRow--vertical) > .tui-formRow__inner {
  /* width of the sidebar*/
  /* width of the content*/
  /* size of the gutter between sidebar and content*/
  /* selector for child sidebar element*/
  /* selector for child content element*/ }
  .tui-form--horizontal .tui-formRow:not(.tui-formRow--vertical) > .tui-formRow__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: calc((var(--gap-1) / 2) * -1); }
    .tui-form--horizontal .tui-formRow:not(.tui-formRow--vertical) > .tui-formRow__inner > .tui-formRow__desc {
      flex-basis: 22rem;
      flex-grow: 0;
      margin: calc(var(--gap-1) / 2); }
    .tui-form--horizontal .tui-formRow:not(.tui-formRow--vertical) > .tui-formRow__inner > .tui-formRow__action {
      flex-basis: 0;
      /* Set a really high flex-grow value so it takes up all the available*/
      /* space. This will squish the sidebar down to its intrinsic width*/
      /* (or flex-basis, if set).*/
      flex-grow: 999;
      /* This element cannot shrink beyond min-width, so it will wrap on to the*/
      /* next line (switch to vertical).*/
      min-width: calc(60% - var(--gap-1));
      margin: calc(var(--gap-1) / 2); }

.tui-formRow__defaults {
  color: var(--form-defaults-text-color);
  font-weight: normal;
  font-size: var(--font-size-12);
  line-height: 1.25; }

.tui-formRow__details {
  color: var(--form-details-text-color);
  font-weight: normal;
  font-size: var(--font-size-13);
  line-height: 1.15; }

.tui-formRowStack > * + * {
  margin-top: var(--gap-4); }
  .tui-formRowStack--spacing-large > * + * {
    margin-top: var(--gap-8); }

.tui-formHelpIcon {
  display: inline-block; }
  .tui-formHelpIcon__icon {
    padding: 0;
    color: var(--color-state); }
  .tui-formHelpIcon__desc {
    /* aria-describedby still works even if the target element is display: none*/
    /* https://developer.paciellogroup.com/blog/2015/05/short-note-on-aria-labelledby-and-aria-describedby/*/
    display: none; }

.tui-formImageUpload {
  color: var(--form-input-text-color);
  font-size: var(--form-input-font-size);
  line-height: 1;
  background: var(--form-input-bg-color); }
  .tui-formImageUpload__actions {
    display: flex;
    padding: var(--form-input-v-padding) var(--gap-2);
    background: var(--color-neutral-3);
    border-color: var(--form-input-border-color);
    border-top: var(--form-input-border-size) solid;
    border-right: var(--form-input-border-size) solid;
    border-left: var(--form-input-border-size) solid; }
  .tui-formImageUpload__deleteButton {
    margin-left: auto; }
  .tui-formImageUpload__filearea {
    padding: var(--form-input-v-padding) var(--gap-2);
    border: var(--form-input-border-size) solid;
    border-color: var(--form-input-border-color); }
    .tui-formImageUpload--highlight .tui-formImageUpload__filearea {
      background: var(--form-input-bg-color-focus);
      border-color: var(--form-input-border-color-focus);
      outline: none;
      box-shadow: var(--form-input-shadow-focus); }
    .tui-formImageUpload--isError .tui-formImageUpload__filearea {
      border-color: var(--form-input-border-color-invalid);
      box-shadow: var(--form-input-shadow-invalid); }
  .tui-formImageUpload__display .tui-responsiveImage {
    max-height: 25rem; }
  .tui-formImageUpload__progress {
    padding: var(--form-input-v-padding) var(--gap-2); }

/* Reset*/
input[type].tui-formInput {
  display: inline-block;
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  margin: 0;
  padding: 1px;
  color: black;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: normal;
  text-align: start;
  text-transform: none;
  text-indent: 0;
  text-shadow: none;
  word-spacing: normal;
  background-color: white;
  border-color: #dadada;
  border-style: inset;
  border-width: 2px;
  border-radius: 0;
  border-image-source: none;
  border-image-slice: 100%;
  border-image-width: 1;
  border-image-outset: 0;
  border-image-repeat: stretch;
  border-spacing: 0;
  box-shadow: none;
  cursor: text;
  transition-delay: 0s;
  transition-timing-function: ease;
  transition-duration: 0s;
  transition-property: all;
  text-rendering: auto; }
  input[type].tui-formInput[disabled] {
    color: #3d444b;
    background: #dadada; }
  input[type].tui-formInput:focus {
    border-color: #dadada;
    outline-width: 3px;
    outline-style: auto;
    outline-color: Highlight;
    outline-color: -webkit-focus-ring-color;
    outline-offset: -2px;
    box-shadow: none;
    -moz-user-focus: normal; }
  input[type].tui-formInput::-webkit-input-placeholder {
    color: #a9a9a9;
    opacity: 1; }
  input[type].tui-formInput:-ms-input-placeholder {
    color: #a9a9a9;
    opacity: 1; }
  input[type].tui-formInput::placeholder {
    color: #a9a9a9;
    opacity: 1; }

input[type].tui-formInput {
  display: block;
  flex-grow: 1;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: var(--form-input-height);
  padding: var(--form-input-v-padding) var(--gap-2);
  color: var(--form-input-text-color);
  font-size: var(--form-input-font-size);
  line-height: 1;
  background: var(--form-input-bg-color);
  border: var(--form-input-border-size) solid;
  border-color: var(--form-input-border-color); }
  input[type].tui-formInput--charLength-2 {
    max-width: calc(2 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-3 {
    max-width: calc(3 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-4 {
    max-width: calc(4 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-5 {
    max-width: calc(5 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-10 {
    max-width: calc(10 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-15 {
    max-width: calc(15 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-20 {
    max-width: calc(20 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-25 {
    max-width: calc(25 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-30 {
    max-width: calc(30 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-50 {
    max-width: calc(50 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-75 {
    max-width: calc(75 * var(--form-input-font-size)); }
  input[type].tui-formInput--charLength-100 {
    max-width: calc(100 * var(--form-input-font-size));
    /* Set a custom size for inputs in a limited form*/ }
  .tui-form--inputWidth-limited input[type].tui-formInput:not(.tui-input--customSize) {
    max-width: var(--form-input-limited-width); }
    .tui-form--inputWidth-limited .tui-inputSet--split input[type].tui-formInput:not(.tui-input--customSize) {
      max-width: none; }
  input[type].tui-formInput::-webkit-input-placeholder {
    color: var(--form-input-text-placeholder-color); }
  input[type].tui-formInput:-ms-input-placeholder {
    color: var(--form-input-text-placeholder-color); }
  input[type].tui-formInput::placeholder {
    color: var(--form-input-text-placeholder-color); }
  .tui-contextInvalid input[type].tui-formInput {
    border-color: var(--form-input-border-color-invalid);
    box-shadow: var(--form-input-shadow-invalid); }
  input[type].tui-formInput:focus {
    background: var(--form-input-bg-color-focus);
    border: var(--form-input-border-size) solid;
    border-color: var(--form-input-border-color-focus);
    outline: none;
    box-shadow: var(--form-input-shadow-focus); }
    .tui-contextInvalid input[type].tui-formInput:focus {
      background: var(--form-input-bg-color-invalid-focus);
      border-color: var(--form-input-border-color-invalid);
      box-shadow: var(--form-input-shadow-invalid-focus); }
  input[type].tui-formInput--preIcon {
    padding-left: var(--gap-6); }
  input[type].tui-formInput--postIcon {
    padding-right: var(--gap-6); }
  input[type].tui-formInput--transparent, input[type].tui-formInput--transparent:focus {
    background-color: transparent;
    border: none;
    box-shadow: none; }
  input[type].tui-formInput[readonly] {
    color: var(--form-input-text-color);
    background: var(--form-input-bg-color);
    border-color: var(--form-input-border-color); }
    input[type].tui-formInput[readonly]::-webkit-input-placeholder {
      color: var(--form-input-text-placeholder-color); }
    input[type].tui-formInput[readonly]:-ms-input-placeholder {
      color: var(--form-input-text-placeholder-color); }
    input[type].tui-formInput[readonly]::placeholder {
      color: var(--form-input-text-placeholder-color); }
  input[type].tui-formInput[disabled] {
    color: var(--form-input-text-color-disabled);
    background: var(--form-input-bg-color-disabled);
    border-color: var(--form-input-border-color-disabled); }
    input[type].tui-formInput[disabled]::-webkit-input-placeholder {
      color: var(--form-input-text-color-disabled); }
    input[type].tui-formInput[disabled]:-ms-input-placeholder {
      color: var(--form-input-text-color-disabled); }
    input[type].tui-formInput[disabled]::placeholder {
      color: var(--form-input-text-color-disabled); }

.tui-inputColor {
  position: relative; }
  .tui-inputColor--charLength-2 {
    max-width: calc(2 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-3 {
    max-width: calc(3 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-4 {
    max-width: calc(4 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-5 {
    max-width: calc(5 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-10 {
    max-width: calc(10 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-15 {
    max-width: calc(15 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-20 {
    max-width: calc(20 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-25 {
    max-width: calc(25 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-30 {
    max-width: calc(30 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-50 {
    max-width: calc(50 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-75 {
    max-width: calc(75 * var(--form-input-font-size)); }
  .tui-inputColor--charLength-100 {
    max-width: calc(100 * var(--form-input-font-size));
    /* Set a custom size for inputs in a limited form*/ }
  .tui-form--inputWidth-limited .tui-inputColor:not(.tui-input--customSize) {
    max-width: var(--form-input-limited-width); }
    .tui-form--inputWidth-limited .tui-inputSet--split .tui-inputColor:not(.tui-input--customSize) {
      max-width: none;
      /* visually hide the colour Input control*/ }
  .tui-inputColor .tui-inputColor__picker[type='color'] {
    position: absolute;
    width: calc(var(--gap-8) + var(--gap-2));
    opacity: 0; }
    .tui-inputColor .tui-inputColor__picker[type='color'][disabled='disabled'] {
      cursor: not-allowed;
      /* quite acute box model and positioning values to make sure they scale with*/
      /* associated text Input values*/ }
  .tui-inputColor__colorBlock {
    position: absolute;
    /* prettier-ignore*/
    top: calc(var(--form-input-v-padding) / 2 + var(--form-input-border-size));
    left: calc(var(--gap-2) / 2);
    width: var(--gap-8);
    /* prettier-ignore*/
    height: calc(100% - var(--form-input-v-padding) - var(--form-input-border-size) * 2);
    border-radius: var(--border-radius-small); }
    .tui-inputColor__colorBlock--disabled {
      cursor: not-allowed; }
  .tui-inputColor .tui-inputColor__input[type='text'] {
    padding-left: calc(var(--gap-8) + var(--gap-2)); }

.tui-inputSet {
  display: flex;
  flex-grow: 1; }
  .tui-inputSet--charLength-2 {
    max-width: calc(2 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-3 {
    max-width: calc(3 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-4 {
    max-width: calc(4 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-5 {
    max-width: calc(5 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-10 {
    max-width: calc(10 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-15 {
    max-width: calc(15 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-20 {
    max-width: calc(20 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-25 {
    max-width: calc(25 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-30 {
    max-width: calc(30 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-50 {
    max-width: calc(50 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-75 {
    max-width: calc(75 * var(--form-input-font-size)); }
  .tui-inputSet--charLength-100 {
    max-width: calc(100 * var(--form-input-font-size));
    /* Set a custom size for inputs in a limited form*/ }
  .tui-form--inputWidth-limited .tui-inputSet:not(.tui-input--customSize) {
    max-width: var(--form-input-limited-width); }
    .tui-form--inputWidth-limited .tui-inputSet--split .tui-inputSet:not(.tui-input--customSize) {
      max-width: none;
      /* can't set margin on inputSet itself, so it is just a wrapper for this*/
      /* the variants are on inner to ensure the & > * selectors retain low specificity (0-1-0)*/ }
  .tui-inputSet > .tui-inputSet__inner {
    display: flex;
    flex-basis: 0;
    /* required for things to look correct in IE 11*/
    flex-grow: 1;
    margin: calc((var(--input-set-spacing) / 2) * -1); }
    .tui-inputSet > .tui-inputSet__inner--vertical {
      flex-direction: column; }
    .tui-inputSet > .tui-inputSet__inner--horizontal {
      flex-direction: row;
      flex-wrap: wrap; }
    .tui-inputSet > .tui-inputSet__inner > *, .tui-inputSet > .tui-inputSet__inner > .tui-formInput {
      margin: calc(var(--input-set-spacing) / 2); }
    .tui-inputSet > .tui-inputSet__inner > .tui-formLabel {
      padding: 0; }
    .tui-inputSet > .tui-inputSet__inner > {
      /* replaced input elements have their width set to 100% normally as*/
      /* `width: auto` doesn't fill the container like it does on divs*/ }
      .tui-inputSet > .tui-inputSet__inner > input[type].tui-formInput, .tui-inputSet > .tui-inputSet__inner > .tui-formTextarea, .tui-inputSet > .tui-inputSet__inner > .tui-range, .tui-inputSet > .tui-inputSet__inner > .tui-select {
        width: auto; }
    .tui-inputSet > .tui-inputSet__inner--split > * {
      flex-basis: 0;
      flex-grow: 1;
      width: auto;
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-2 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-2 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(2 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-3 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-3 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(3 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-4 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-4 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(4 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-5 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-5 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(5 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-10 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-10 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(10 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-15 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-15 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(15 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-20 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-20 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(20 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-25 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-25 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(25 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-30 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-30 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(30 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-50 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-50 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(50 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-75 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-75 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(75 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999);
      /* need to specify .tui-formInput here too for specificity reasons*/ }
    .tui-inputSet > .tui-inputSet__inner--stackBelow-100 > *, .tui-inputSet > .tui-inputSet__inner--stackBelow-100 > .tui-formInput {
      /* This triggers the children to switch to being vertically stacked below a*/
      /* certain width.*/
      /* It works like this:*/
      /* Above the specified width, (width - 100%) evaluates to a large*/
      /* negative flex basis, and is therefore ignored.*/
      /* Below the specified width, (width - 100%) evaluates to a large*/
      /* positve flex basis, and forces each item to take up its own line.*/
      /* Magic!*/
      /* prettier-ignore*/
      flex-basis: calc((calc(100 * var(--form-input-font-size)) - (100% - var(--input-set-spacing))) * 999); }

.tui-formInputSizedText {
  /* prettier-ignore*/
  padding: calc((var(--form-input-height) - (1em * var(--font-body-line-height))) / 2) 0;
  line-height: var(--font-body-line-height); }

.tui-formLabel {
  font-weight: bold;
  font-size: var(--font-size-15);
  line-height: 1.2;
  min-width: 0;
  margin: 0;
  padding: 0 var(--gap-1) 0 0; }
  legend.tui-formLabel {
    width: auto;
    margin: 0;
    padding: 0 var(--gap-1) 0 0;
    color: inherit;
    border: none; }
  .tui-formLabel--inline {
    display: inline; }
  .tui-formLabel--hidden {
    /* The use of '!important' here is an exception and should not be replicated else where */
    /* stylelint-disable declaration-no-important */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    /* stylelint-enable */ }
  .tui-formLabel--subfield {
    color: var(--color-text);
    font-weight: normal;
    font-size: var(--font-size-15);
    line-height: var(--font-body-line-height); }
  .tui-formLabel__required {
    color: var(--color-prompt-alert); }

.tui-notepadLines--charLength-2 {
  max-width: calc(2 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-3 {
  max-width: calc(3 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-4 {
  max-width: calc(4 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-5 {
  max-width: calc(5 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-10 {
  max-width: calc(10 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-15 {
  max-width: calc(15 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-20 {
  max-width: calc(20 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-25 {
  max-width: calc(25 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-30 {
  max-width: calc(30 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-50 {
  max-width: calc(50 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-75 {
  max-width: calc(75 * var(--form-input-font-size)); }
.tui-notepadLines--charLength-100 {
  max-width: calc(100 * var(--form-input-font-size));
  /* Set a custom size for inputs in a limited form*/ }
.tui-form--inputWidth-limited .tui-notepadLines:not(.tui-input--customSize) {
  max-width: var(--form-input-limited-width); }
  .tui-form--inputWidth-limited .tui-inputSet--split .tui-notepadLines:not(.tui-input--customSize) {
    max-width: none; }
.tui-notepadLines__line {
  height: var(--form-notepad-line-height);
  border-bottom: var(--form-notepad-line-border); }

:root {
  /* Size of radio circle*/
  --form-radio-size: var(--font-size-16);
  /* Size of radio inner dot*/
  --form-radio-dot-size: calc(var(--form-radio-size) / 2);
  /* Offset to center dot*/
  --radio-dot-offset: calc(var(--form-radio-size) / 4); }

.tui-radio {
  position: relative;
  display: inline-flex; }
  .tui-radio__input {
    position: absolute;
    opacity: 0; }
  .tui-radio__label {
    position: relative;
    margin: 0;
    padding-left: var(--radio-label-offset);
    font-weight: normal;
    font-size: var(--form-input-font-size);
    line-height: 1; }
    .tui-radio__label::before {
      position: absolute;
      top: calc(50% - var(--form-radio-size) / 2);
      left: 0;
      display: block;
      width: var(--form-radio-size);
      height: var(--form-radio-size);
      background: var(--form-radio-bg-color);
      border: var(--form-input-border-size) solid;
      border-color: var(--form-radio-border-color);
      border-radius: 50%;
      transition: border var(--transition-form-function) var(--transition-form-duration), box-shadow var(--transition-form-function) var(--transition-form-duration);
      content: '';
      pointer-events: none; }
      .tui-contextInvalid .tui-radio__label::before {
        border-color: var(--form-input-border-color-invalid);
        box-shadow: var(--shadow-none), var(--form-input-shadow-invalid); }
  .tui-radio__input:disabled ~ .tui-radio__label {
    color: var(--form-input-text-color-disabled); }
  .tui-radio__input:hover ~ .tui-radio__label::before {
    background: var(--form-radio-bg-color-hover); }
  .tui-radio__input:focus ~ .tui-radio__label::before {
    background: var(--form-radio-bg-color-focus); }
  .tui-radio__input:hover ~ .tui-radio__label::before, .tui-radio__input:focus ~ .tui-radio__label::before {
    border: var(--form-input-border-size) solid;
    border-color: var(--form-radio-border-color-focus);
    box-shadow: var(--form-input-shadow-focus); }
    .tui-contextInvalid .tui-radio__input:hover ~ .tui-radio__label::before, .tui-contextInvalid .tui-radio__input:focus ~ .tui-radio__label::before {
      border-color: var(--form-input-border-color-invalid);
      box-shadow: var(--shadow-none), var(--form-input-shadow-invalid-focus); }
  .tui-radio__input:active:focus ~ .tui-radio__label::before, .tui-radio__input:active:hover ~ .tui-radio__label::before, .tui-radio__input:active ~ .tui-radio__label::before {
    background: var(--form-radio-bg-color-active);
    border: var(--form-input-border-size) solid;
    border-color: var(--form-radio-border-color-active);
    box-shadow: var(--form-input-shadow-focus); }
    .tui-contextInvalid .tui-radio__input:active:focus ~ .tui-radio__label::before, .tui-contextInvalid .tui-radio__input:active:hover ~ .tui-radio__label::before, .tui-contextInvalid .tui-radio__input:active ~ .tui-radio__label::before {
      border-color: var(--form-input-border-color-invalid);
      box-shadow: var(--shadow-none), var(--form-input-shadow-invalid-focus); }
  .tui-radio__input:disabled:active ~ .tui-radio__label::before, .tui-radio__input:disabled ~ .tui-radio__label::before {
    background: var(--form-radio-bg-color-disabled);
    border: var(--form-input-border-size) solid;
    border-color: var(--form-radio-border-color-disabled);
    box-shadow: none; }
  .tui-radio__input ~ .tui-radio__label::after {
    position: absolute;
    top: calc(50% - var(--form-radio-dot-size) / 2);
    left: var(--radio-dot-offset);
    display: block;
    width: var(--form-radio-dot-size);
    height: var(--form-radio-dot-size);
    background-color: var(--form-radio-dot-color);
    border-radius: 50%;
    opacity: 0;
    transition: opacity var(--transition-form-function) var(--transition-form-duration);
    content: '';
    pointer-events: none; }
  .tui-radio__input:disabled ~ .tui-radio__label::after {
    background-color: var(--form-input-text-color-disabled); }
  .tui-radio__input:checked ~ .tui-radio__label::after {
    opacity: 1; }

@media print {
  .tui-radio__input ~ .tui-radio__label::after {
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    /* IE11 & Edge support*/ }
  .ie .tui-radio__input ~ .tui-radio__label::after, .msedge .tui-radio__input ~ .tui-radio__label::after {
    border: 4px solid var(--form-radio-dot-color); } }

.tui-radioDateRangeInput {
  display: flex; }
  .tui-radioDateRangeInput > * + * {
    margin-left: var(--gap-2); }
  .tui-radioDateRangeInput__number {
    display: flex;
    width: 6rem; }
  .tui-radioDateRangeInput__type {
    display: flex;
    width: 12rem; }

:root {
  --form-radio-group-padding: var(--gap-2);
  /* note: should not be more than twice padding*/
  --form-radio-group-spacing-v: var(--gap-4);
  --form-radio-group-spacing-h: var(--gap-4); }

.tui-radioGroup {
  display: flex;
  flex-direction: column;
  padding: var(--form-radio-group-padding) 0; }
  .tui-radioGroup > * + * {
    margin-top: var(--form-radio-group-spacing-v); }
    .tui-radioGroup--inputSizedOptions > * {
      align-items: center;
      min-height: var(--form-input-height); }

@media screen and (min-width: 768px) {
  .tui-radioGroup--horizontal {
    flex-direction: row;
    flex-wrap: wrap;
    /* prettier-ignore*/
    padding: calc(var(--form-radio-group-padding) - var(--form-radio-group-spacing-v) / 2) 0; }
    .tui-radioGroup--horizontal > * {
      margin: calc(var(--form-radio-group-spacing-v) / 2) 0;
      margin-right: var(--form-radio-group-spacing-h); } }

.tui-radioNumberInput {
  display: flex;
  /* Use same indentation as radio for nicer wrapping*/
  margin-left: var(--radio-label-offset); }
  .tui-radioNumberInput__number {
    display: flex;
    width: 6rem; }

.tui-radioWithInput {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center; }
  .tui-radioWithInput > * + * {
    /* Use same indentation as radio for nicer wrapping*/
    margin-left: var(--radio-label-offset); }
  .tui-radioWithInput__radio {
    margin: var(--gap-2) 0; }

:root {
  /* rem does not work correctly in IE*/
  --form-range-height: 20px;
  --form-range-track-height: 10px;
  --form-range-thumb-size: 18px; }

.tui-range {
  flex: auto;
  flex-direction: column; }
  .tui-range__labels {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: var(--gap-1); }
  .tui-range__lowLabel, .tui-range__highLabel {
    font-weight: normal;
    font-size: var(--font-size-13);
    line-height: 1.15;
    flex-basis: 40%;
    color: var(--color-neutral-6); }
  .tui-range__lowLabel {
    text-align: left; }
  .tui-range__highLabel {
    text-align: right; }
  .tui-range__input {
    height: var(--form-range-height);
    padding: 0;
    outline: none;
    -webkit-appearance: none; }
    .tui-range__input:disabled {
      background-color: transparent; }
    .tui-range__input:focus {
      outline: 1px dashed var(--color-state-focus);
      outline-offset: 1px; }
    .tui-range__input::-moz-focus-outer {
      border: 0;
      /* Track styles */ }
    .tui-range__input::-webkit-slider-runnable-track {
      height: var(--form-range-track-height);
      background: var(--color-neutral-4);
      border-radius: var(--border-radius-small);
      cursor: pointer;
      -webkit-print-color-adjust: exact;
      color-adjust: exact; }
    .tui-range__input:focus::-webkit-slider-runnable-track {
      background: var(--color-neutral-4);
      -webkit-print-color-adjust: exact;
      color-adjust: exact; }
    .tui-range__input::-moz-range-track {
      height: var(--form-range-track-height);
      background: var(--color-neutral-4);
      border-radius: var(--border-radius-small);
      cursor: pointer;
      -webkit-print-color-adjust: exact;
      color-adjust: exact; }
    .tui-range__input::-ms-track {
      height: var(--form-range-track-height);
      background: var(--color-neutral-4);
      border-radius: var(--border-radius-small);
      cursor: pointer;
      -webkit-print-color-adjust: exact;
      color-adjust: exact;
      color: transparent;
      /* Remove default tick marks */
      background: transparent;
      /* Replace bg colour from the track with ms-fill-lower and ms-fill-upper */
      border-color: transparent;
      /* Thumb can not overlay track so we add invisible border */ }
    .tui-range__input::-ms-fill-upper, .tui-range__input::-ms-fill-lower {
      background: var(--color-neutral-4);
      border-radius: var(--border-radius-small); }
    .tui-range__input:focus::-ms-fill-upper, .tui-range__input:focus::-ms-fill-lower {
      background: var(--color-neutral-4);
      /* Thumb styles */ }
    .tui-range__input::-webkit-slider-thumb {
      width: var(--form-range-thumb-size);
      height: var(--form-range-thumb-size);
      background: var(--color-neutral-5);
      border: none;
      border-radius: 50%;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
      cursor: pointer;
      /* prettier-ignore*/
      margin-top: calc((var(--form-range-track-height) / 2) - (var(--form-range-thumb-size) / 2));
      -webkit-appearance: none; }
    .tui-range__input::-moz-range-thumb {
      width: var(--form-range-thumb-size);
      height: var(--form-range-thumb-size);
      background: var(--color-neutral-5);
      border: none;
      border-radius: 50%;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
      cursor: pointer; }
    .tui-range__input::-ms-thumb {
      width: var(--form-range-thumb-size);
      height: var(--form-range-thumb-size);
      background: var(--color-neutral-5);
      border: none;
      border-radius: 50%;
      box-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
      cursor: pointer; }
      .tui-range__input.tui-range__input--selected::-webkit-slider-thumb {
        background: var(--color-state); }
      .tui-range__input.tui-range__input--selected::-moz-range-thumb {
        background: var(--color-state); }
      .tui-range__input.tui-range__input--selected::-ms-thumb {
        background: var(--color-state); }
    .tui-range__input.tui-range__input--noThumb::-webkit-slider-thumb {
      display: none; }
    .tui-range__input.tui-range__input--noThumb::-moz-range-thumb {
      /* Display none does not work.*/
      opacity: 0; }
    .tui-range__input.tui-range__input--noThumb::-ms-thumb {
      display: none; }

.tui-repeater {
  display: block;
  flex-grow: 1;
  width: 100%;
  min-width: 0; }
  .tui-repeater > * + * {
    margin-top: var(--gap-3); }
  .tui-repeater__row, .tui-repeater__headerRow {
    display: flex;
    align-items: flex-start; }
  .tui-repeater__headerRow + .tui-repeater__row {
    margin-top: var(--gap-2); }
  .tui-repeater__row + .tui-repeater__afterRow {
    margin-top: var(--gap-4); }
  .tui-repeater__afterRow + .tui-repeater__row {
    margin-top: var(--gap-8); }
  .tui-repeater__afterRow + .tui-repeater__headerRow {
    margin-top: var(--gap-4); }
  .tui-repeater--noSpacing > * {
    margin: 0; }
  .tui-repeater__headerRow .tui-repeater__delete {
    height: 1px;
    min-height: 1px;
    overflow: hidden; }

.tui-searchBox {
  position: relative;
  display: flex; }
  .tui-searchBox__inputWrapper {
    position: relative;
    display: flex;
    flex-grow: 1; }
    .tui-searchBox__inputWrapper--charLength-2 {
      max-width: calc(2 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-3 {
      max-width: calc(3 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-4 {
      max-width: calc(4 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-5 {
      max-width: calc(5 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-10 {
      max-width: calc(10 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-15 {
      max-width: calc(15 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-20 {
      max-width: calc(20 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-25 {
      max-width: calc(25 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-30 {
      max-width: calc(30 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-50 {
      max-width: calc(50 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-75 {
      max-width: calc(75 * var(--form-input-font-size)); }
    .tui-searchBox__inputWrapper--charLength-100 {
      max-width: calc(100 * var(--form-input-font-size));
      /* Set a custom size for inputs in a limited form*/ }
    .tui-form--inputWidth-limited .tui-searchBox__inputWrapper:not(.tui-input--customSize) {
      max-width: var(--form-input-limited-width); }
      .tui-form--inputWidth-limited .tui-inputSet--split .tui-searchBox__inputWrapper:not(.tui-input--customSize) {
        max-width: none; }
  .tui-searchBox__search {
    /* disable the default clear (x) action in IE*/ }
    .tui-searchBox__search::-ms-clear {
      display: none; }
  .tui-searchBox .tui-formLabel {
    margin-right: var(--gap-2); }
  .tui-searchBox__clearContainer {
    position: absolute;
    right: 0;
    height: 100%; }
  .tui-searchBox__removeIcon {
    color: var(--filter-search-clear-icon-color);
    /* So that the search button matches the format of the input that is next to it*/ }
  .tui-searchBox__button {
    border-left: none;
    border-radius: 0; }
    .tui-searchBox__button:active, .tui-searchBox__button:focus, .tui-searchBox__button:active:focus, .tui-searchBox__button:active:hover, .tui-searchBox__button:hover {
      border-left: none; }

:root {
  --select-icon-size: var(--gap-1); }

/* Reset*/
.tui-select__input {
  display: inline-block;
  width: auto;
  max-width: none;
  height: auto;
  max-height: none;
  margin: 0;
  padding: 0;
  color: black;
  font: 400 13.3333px Arial;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: normal;
  white-space: pre;
  text-align: start;
  text-transform: none;
  text-indent: 0;
  text-shadow: none;
  word-spacing: normal;
  background-color: white;
  border-color: darkgrey;
  border-style: solid;
  border-width: 1px;
  border-radius: 0;
  border-image: initial;
  box-shadow: none;
  cursor: default;
  transition-delay: 0s;
  transition-timing-function: ease;
  transition-duration: 0s;
  transition-property: all;
  text-rendering: auto;
  -webkit-appearance: menulist;
  appearance: menulist; }
  .tui-select__input[disabled] {
    color: #3d444b;
    background: #dadada;
    cursor: default; }
  .tui-select__input[multiple] {
    height: auto;
    overflow-x: hidden;
    overflow-y: visible; }
  .tui-select__input:focus {
    border-color: #dadada;
    outline-width: 3px;
    outline-style: auto;
    outline-color: Highlight;
    outline-color: -webkit-focus-ring-color;
    outline-offset: -2px;
    box-shadow: none;
    -moz-user-focus: normal; }

.tui-select {
  position: relative;
  display: flex;
  flex-grow: 1;
  width: 100%;
  min-width: 0;
  height: var(--form-input-height); }
  .tui-select--charLength-2 {
    max-width: calc(2 * var(--form-input-font-size)); }
  .tui-select--charLength-3 {
    max-width: calc(3 * var(--form-input-font-size)); }
  .tui-select--charLength-4 {
    max-width: calc(4 * var(--form-input-font-size)); }
  .tui-select--charLength-5 {
    max-width: calc(5 * var(--form-input-font-size)); }
  .tui-select--charLength-10 {
    max-width: calc(10 * var(--form-input-font-size)); }
  .tui-select--charLength-15 {
    max-width: calc(15 * var(--form-input-font-size)); }
  .tui-select--charLength-20 {
    max-width: calc(20 * var(--form-input-font-size)); }
  .tui-select--charLength-25 {
    max-width: calc(25 * var(--form-input-font-size)); }
  .tui-select--charLength-30 {
    max-width: calc(30 * var(--form-input-font-size)); }
  .tui-select--charLength-50 {
    max-width: calc(50 * var(--form-input-font-size)); }
  .tui-select--charLength-75 {
    max-width: calc(75 * var(--form-input-font-size)); }
  .tui-select--charLength-100 {
    max-width: calc(100 * var(--form-input-font-size));
    /* Set a custom size for inputs in a limited form*/ }
  .tui-form--inputWidth-limited .tui-select:not(.tui-input--customSize) {
    max-width: var(--form-input-limited-width); }
    .tui-form--inputWidth-limited .tui-inputSet--split .tui-select:not(.tui-input--customSize) {
      max-width: none; }
  .tui-select::after {
    position: absolute;
    top: calc((var(--form-input-height) - var(--select-icon-size)) / 2);
    right: calc((var(--form-input-height) - var(--select-icon-size) * 2) / 2);
    display: block;
    width: 0;
    height: 0;
    border: var(--select-icon-size) solid transparent;
    border-top-color: var(--form-input-text-color);
    content: '';
    pointer-events: none; }
  .tui-select--disabled::after {
    border-top-color: var(--form-input-text-color-disabled); }
  .tui-select--multiple::after {
    display: none; }
  .tui-select--large {
    height: var(--form-input-height-large); }
    .tui-select--large::after {
      top: calc((var(--form-input-height-large) - var(--select-icon-size)) / 2);
      /* prettier-ignore*/
      right: calc((var(--form-input-height-large) - var(--select-icon-size) * 2) / 2); }
  .tui-select__input {
    flex-grow: 1;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    padding: 0 var(--gap-6) 0 var(--gap-1);
    color: var(--form-input-text-color);
    font-size: var(--form-input-font-size);
    background: var(--form-input-bg-color);
    border: var(--form-input-border-size) solid;
    border-color: var(--form-input-border-color);
    -webkit-appearance: none;
    appearance: none; }
    .tui-select__input[multiple] {
      height: auto; }
    .tui-select__input[disabled] {
      color: var(--form-input-text-color-disabled);
      background: var(--form-input-bg-color-disabled);
      border-color: var(--form-input-border-color-disabled); }
    .tui-select__input:focus {
      background: var(--form-input-bg-color-focus);
      border: var(--form-input-border-size) solid;
      border-color: var(--form-input-border-color-focus);
      outline: none;
      box-shadow: var(--form-input-shadow-focus); }
      .tui-contextInvalid .tui-select__input:focus {
        background: var(--form-input-bg-color-invalid-focus);
        border-color: var(--form-input-border-color-invalid);
        box-shadow: var(--form-input-shadow-invalid-focus);
        /* Drop select outline*/ }
    .tui-select__input:-moz-focusring {
      color: transparent;
      text-shadow: 0 0 0 #000;
      /* appearance: none; equivalent for IE*/ }
    .tui-select__input::-ms-expand {
      display: none;
      /* prevent weird styling after selecting value*/ }
    .tui-select__input::-ms-value {
      color: inherit;
      background-color: transparent; }
    .tui-contextInvalid .tui-select__input {
      border-color: var(--form-input-border-color-invalid);
      box-shadow: var(--form-input-shadow-invalid); }

.tui-formTextarea {
  display: block;
  flex-grow: 1;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  max-height: 100%;
  padding: var(--gap-1) var(--gap-2);
  overflow: auto;
  color: var(--form-input-text-color);
  font-size: var(--form-input-font-size);
  font-family: inherit;
  line-height: inherit;
  border: var(--form-input-border-size) solid var(--form-input-border-color);
  resize: none; }
  .tui-formTextarea--charLength-2 {
    max-width: calc(2 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-3 {
    max-width: calc(3 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-4 {
    max-width: calc(4 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-5 {
    max-width: calc(5 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-10 {
    max-width: calc(10 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-15 {
    max-width: calc(15 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-20 {
    max-width: calc(20 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-25 {
    max-width: calc(25 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-30 {
    max-width: calc(30 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-50 {
    max-width: calc(50 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-75 {
    max-width: calc(75 * var(--form-input-font-size)); }
  .tui-formTextarea--charLength-100 {
    max-width: calc(100 * var(--form-input-font-size));
    /* Set a custom size for inputs in a limited form*/ }
  .tui-form--inputWidth-limited .tui-formTextarea:not(.tui-input--customSize) {
    max-width: var(--form-input-limited-width); }
    .tui-form--inputWidth-limited .tui-inputSet--split .tui-formTextarea:not(.tui-input--customSize) {
      max-width: none; }
  .tui-formTextarea::-webkit-input-placeholder {
    color: var(--form-input-text-placeholder-color); }
  .tui-formTextarea:-ms-input-placeholder {
    color: var(--form-input-text-placeholder-color); }
  .tui-formTextarea::placeholder {
    color: var(--form-input-text-placeholder-color); }
  .tui-contextInvalid .tui-formTextarea {
    border-color: var(--form-input-border-color-invalid);
    box-shadow: var(--form-input-shadow-invalid); }
  .tui-formTextarea:focus {
    background: var(--form-input-bg-color-focus);
    border: var(--form-input-border-size) solid var(--form-input-border-color-focus);
    outline: none;
    box-shadow: var(--form-input-shadow-focus); }
    .tui-contextInvalid .tui-formTextarea:focus {
      background: var(--form-input-bg-color-invalid-focus);
      border-color: var(--form-input-border-color-invalid);
      box-shadow: var(--form-input-shadow-invalid-focus); }
  .tui-formTextarea[disabled] {
    color: var(--form-input-text-color-disabled);
    background: var(--form-input-bg-color-disabled);
    border-color: var(--form-input-border-color-disabled); }
    .tui-formTextarea[disabled]::-webkit-input-placeholder {
      color: var(--form-input-text-color-disabled); }
    .tui-formTextarea[disabled]:-ms-input-placeholder {
      color: var(--form-input-text-color-disabled); }
    .tui-formTextarea[disabled]::placeholder {
      color: var(--form-input-text-color-disabled); }

/* Grid styles*/
.tui-grid {
  display: flex;
  flex-grow: 1;
  /* in case nested inside a parent grid cell*/
  max-width: 100%;
  /* main Grid modifiers applied based on supplied prop values*/ }
  .tui-grid--wrapped {
    flex-wrap: wrap;
    /* content-containing elements*/ }
  .tui-grid-item {
    flex-grow: 0;
    /* by default we want item size to respect unit-based calculations*/
    flex-shrink: 1;
    /* by default we want to auto-adjust for gutters*/
    min-width: 0;
    /* allows flex items to shrink below their minimum content size*/
    margin: 0;
    padding: 0;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    /* default prevents text from causing grid mis-alignments*/
    /* Grid item modifiers based on supplied prop values*/ }
    .tui-grid-item--grow {
      flex-grow: 1; }
    .tui-grid-item--no-shrink {
      flex-shrink: 0; }
    .tui-grid-item--no-hyphens {
      -webkit-hyphens: none;
      -ms-hyphens: none;
      hyphens: none; }
    .tui-grid-item--overflow {
      overflow: auto;
      /* horizontal grid*/ }
  .tui-grid--horizontal {
    flex-direction: row; }
    .tui-grid--horizontal-gap > .tui-grid-item {
      /* because we use transparent borders for gutters but don't want that*/
      /* counting as visible item width*/
      box-sizing: content-box;
      background-clip: padding-box;
      /* reset all possibly existing border widths, it is assumed that grid gaps*/
      /* are unidirectional*/
      border-width: 0;
      border-left: var(--grid-gutter) solid transparent;
      /* the "first" item should never have a gutter, but `:first-child` may not be*/
      /* accurate if flex re-ordering has been applied, so use generated "first"*/
      /* className instead. this works in most cases with the exception of:*/
      /*  - when the browser ignores the order property due to siblings not having*/
      /*    an order property also*/ }
    .tui-grid--horizontal-gap > .tui-grid-item--first {
      border-width: 0;
      /* vertical grid*/ }
  .tui-grid--vertical {
    flex-direction: column; }
    .tui-grid--vertical-gap > .tui-grid-item {
      /* because we use transparent borders for gutters but don't want that*/
      /* counting as visible item width*/
      box-sizing: content-box;
      background-clip: padding-box;
      /* reset all possibly existing border widths, it is assumed that grid gaps*/
      /* are unidirectional*/
      border-width: 0;
      border-top: var(--grid-gutter) solid transparent;
      /* the "first" item should never have a gutter, but `:first-child` may not be*/
      /* accurate if flex re-ordering has been applied, so use generated "first"*/
      /* className instead. this works in most cases with the exception of:*/
      /*  - when the browser ignores the order property due to siblings not having*/
      /*    an order property also*/ }
    .tui-grid--vertical-gap > .tui-grid-item--first {
      border-width: 0;
      /* IE11 doesn't distribute vertical space without an explicit height set*/
      /* on the container, so the safest thing to do is revert to block layout*/ }
    .ie .tui-grid--vertical {
      display: block; }
  .tui-grid--wrapped-gap .tui-grid-item--wrapped {
    /* margin better to use here instead of borders, as natural grid gap is*/
    /* assumed to be unidirectional, whereas this additional type of grid gap*/
    /* only applies when grid items wrap, and if the gap is confgured as*/
    /* desirable for a given grid*/
    margin-top: var(--grid-gutter);
    /* all zero unit GridItems should not show any gutters or content*/ }
    .tui-grid--vertical .tui-grid-item--no-units, .tui-grid--horizontal .tui-grid-item--no-units {
      overflow: hidden;
      border-width: 0;
      /* switch to stacked display at an container-based pixel width breakpoint*/
      /* value (class is conditionally applied during Grid render())*/ }
  .tui-grid--stacked {
    display: block; }
    .tui-grid--stacked > .tui-grid-item {
      flex-basis: auto; }
      .tui-grid--stacked-gap > .tui-grid-item {
        /* because we use transparent borders for gutters but don't want that*/
        /* counting as visible item width*/
        box-sizing: content-box;
        background-clip: padding-box;
        /* reset all possibly existing border widths, it is assumed that grid gaps*/
        /* are unidirectional*/
        border-width: 0;
        border-top: var(--grid-gutter) solid transparent;
        /* the "first" item should never have a gutter, but `:first-child` may not be*/
        /* accurate if flex re-ordering has been applied, so use generated "first"*/
        /* className instead. this works in most cases with the exception of:*/
        /*  - when the browser ignores the order property due to siblings not having*/
        /*    an order property also*/ }
      .tui-grid--stacked-gap > .tui-grid-item--first {
        border-width: 0; }
  .tui-grid--list {
    margin: 0;
    padding: 0;
    list-style-type: none; }

.tui-iconLoading {
  animation: tui-iconLoading-spin 1s steps(12, end) infinite; }

@keyframes tui-iconLoading-spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

.tui-svgIcon {
  /* same as the bootstrap icons default css*/
  /* better alignment in most cases than vertical-align: middle*/
  vertical-align: text-bottom; }
  .tui-svgIcon--size-100 {
    font-size: 1.4rem; }
  .tui-svgIcon--size-200 {
    font-size: 1.6rem; }
  .tui-svgIcon--size-300 {
    font-size: 2rem; }
  .tui-svgIcon--size-400 {
    font-size: 2.4rem; }
  .tui-svgIcon--size-500 {
    font-size: 2.8rem; }
  .tui-svgIcon--size-600 {
    font-size: 3.2rem; }
  .tui-svgIcon--size-700 {
    font-size: 3.8rem; }
.tui-svgIcon--state-info {
  color: var(--color-prompt-info); }
.tui-svgIcon--state-alert {
  color: var(--color-prompt-alert); }
.tui-svgIcon--state-warning {
  color: var(--color-prompt-warning); }
.tui-svgIcon--state-success {
  color: var(--color-prompt-success); }
.tui-svgIcon--state-dimmed {
  color: var(--color-neutral-6); }

.dir-rtl .tui-svgIcon--flipRtl {
  transform: scale(-1, 1); }

.tui-responsiveImage {
  display: block;
  max-width: 100%;
  height: auto; }

.tui-attachmentNodeCollection {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: var(--gap-1) 0;
  white-space: normal;
  border-top: var(--border-width-thin) solid var(--color-neutral-5);
  border-bottom: var(--border-width-thin) solid var(--color-neutral-5); }
  .tui-attachmentNodeCollection > .tui-fileCard {
    /* Doing the margin for the single attachment.*/
    margin-top: var(--gap-1);
    margin-right: var(--gap-1);
    margin-bottom: var(--gap-1); }
  @media (min-width: 720px) {
    .tui-attachmentNodeCollection > .tui-fileCard {
      margin-right: var(--gap-4); } }

.tui-audioBlock {
  margin: var(--gap-8) 0; }
  .tui-audioBlock__actionsWrapper {
    display: flex;
    justify-content: flex-end;
    margin-top: var(--gap-2); }
  .tui-audioBlock__viewTranscript {
    margin-right: auto; }
  .tui-audioBlock__transcriptContent {
    height: 60rem;
    white-space: pre-line; }

.tui-emoji {
  display: inline-block;
  font-family: 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', Times, Symbola, Aegyptus, Code2000, Code2001, Code2002, Musica, serif, LastResort;
  white-space: normal;
  text-decoration: none;
  font-variant-emoji: emoji; }

.tui-hashtag {
  display: inline-block;
  white-space: normal; }
  .tui-hashtag__text {
    color: var(--color-state); }
    .tui-hashtag__text:hover {
      /* Hover state, for now we keep the same color.*/
      color: var(--color-state); }

.tui-imageBlock {
  margin: var(--gap-8) 0; }

.tui-linkBlock {
  position: relative;
  display: flex;
  max-width: 28.6rem;
  height: calc(7.6rem + 2px);
  font-size: var(--font-size-13);
  line-height: 1.15;
  white-space: normal;
  border: 1px solid var(--card-border-color);
  border-radius: 4px;
  transition: box-shadow var(--transition-form-function) var(--transition-form-duration); }
  .tui-linkBlock:hover, .tui-linkBlock:focus {
    box-shadow: var(--shadow-2); }
  .tui-linkBlock__image {
    flex-shrink: 0;
    order: 2;
    width: 6rem;
    height: 6rem;
    margin: var(--gap-2);
    background-position: center;
    background-size: cover;
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px; }
    .tui-linkBlock__image > img {
      width: 100%; }
  .tui-linkBlock__summary {
    flex-grow: 1;
    order: 1;
    padding: var(--gap-2);
    overflow: hidden; }
  .tui-linkBlock__site {
    margin-bottom: 0.3rem;
    font-weight: bold;
    font-size: var(--font-size-12);
    line-height: 1.15; }
  .tui-linkBlock__title {
    margin-bottom: 0.3rem;
    color: var(--color-state);
    font-weight: bold; }
  .tui-linkBlock__description {
    /* show a max of 2 lines*/
    height: calc(var(--font-size-13) * 2 * 1.15);
    overflow: hidden; }
  .tui-linkBlock__linkOnly {
    /* show a max of 4 lines*/
    height: calc(var(--font-size-13) * 4 * 1.12);
    margin-top: 0.2rem;
    overflow: hidden;
    color: var(--color-state);
    font-weight: bold;
    font-size: var(--font-size-13);
    line-height: 1.15; }
  .tui-linkBlock__overlayLink {
    position: absolute;
    /* -1px to account for border*/
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px; }

.tui-mention {
  display: inline-block;
  white-space: normal; }
  .tui-mention__displayName {
    color: var(--color-state); }
    .tui-mention__displayName:hover {
      /* Hover state, for now we keep the same color.*/
      color: var(--color-state); }

.tui-videoBlock {
  display: flex;
  width: 100%;
  max-width: var(--embedded-media-max-width);
  margin: var(--gap-8) 0; }
  .tui-videoBlock .video-js .vjs-control {
    white-space: nowrap; }

.tui-layoutOneColumn {
  color: var(--color-text);
  font-weight: normal;
  font-size: var(--font-size-15);
  line-height: var(--font-body-line-height);
  margin-top: var(--gap-2); }
  .tui-layoutOneColumn > * + * {
    margin-top: var(--gap-8); }
    .tui-layoutOneColumn__heading > * + * {
      margin-top: var(--gap-2); }
  .tui-layoutOneColumn--flush {
    margin-top: var(--gap-12); }

.tui-layoutThreeColumn__heading {
  font-weight: 500;
  font-size: var(--font-size-30);
  line-height: 1; }

.tui-layoutTwoColumn__heading {
  font-weight: 500;
  font-size: var(--font-size-30);
  line-height: 1; }

.tui-pageBackLink {
  display: inline-flex;
  align-items: center; }
  .tui-pageBackLink__icon {
    margin-right: var(--gap-1);
    /* Negative Offset to left align arrow with page content*/
    margin-left: -0.19em; }

.tui-pageHeading {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap; }
  .tui-pageHeading__title {
    margin: 0;
    font-weight: 500;
    font-size: var(--font-size-30);
    line-height: 1;
    word-break: break-word;
    -webkit-hyphens: none;
    -ms-hyphens: none;
    hyphens: none; }
    .ie .tui-pageHeading__title {
      -ms-word-break: break-all;
      -ms-hyphens: none; }
  .tui-pageHeading__buttons > * {
    margin: var(--gap-3) 0 0 var(--gap-2); }

@media (min-width: 768px) {
  .tui-pageHeading {
    flex-direction: row; }
    .tui-pageHeading__buttons {
      margin-left: auto; }
      .tui-pageHeading__buttons > * {
        margin-top: 0; } }

.tui-actionLink {
  /* stylelint-disable-next-line tui/at-extend-only-placeholders*/
  display: inline-block; }
  .tui-actionLink--prim {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }
  .tui-actionLink--small {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }
  .tui-actionLink--srOnly {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/ }
  .tui-actionLink:not([href]) {
    color: var(--btn-text-color-disabled);
    background-color: var(--btn-bg-color-disabled);
    border-color: var(--btn-border-color-disabled);
    cursor: default;
    opacity: 1; }
    .tui-actionLink:not([href]):active, .tui-actionLink:not([href]):focus, .tui-actionLink:not([href]):active:focus, .tui-actionLink:not([href]):active:hover, .tui-actionLink:not([href]):hover {
      color: var(--btn-text-color-disabled);
      background-color: var(--btn-bg-color-disabled);
      border-color: var(--btn-border-color-disabled);
      box-shadow: none; }

.tui-skipToContent {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0, 0, 0, 0); }
  .tui-skipToContent:focus {
    position: static;
    display: block;
    width: auto;
    height: auto; }

.tui-componentLoading {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--gap-3);
  color: var(--color-neutral-6); }

.tui-loader {
  position: relative;
  /* Don't show nested loaders*/ }
  .tui-loader--active > * .tui-loader__overlay {
    display: none;
    /* If no slot content (e.g. initial load)*/ }
  .tui-loader__empty {
    min-height: var(--gap-8); }
  .tui-loader__overlay {
    position: absolute;
    top: 0;
    /*rtl:ignore*/
    left: 0;
    width: 100%;
    height: 100%; }
    .tui-loader--fullpage .tui-loader__overlay {
      position: fixed;
      z-index: var(--zindex-loading-page); }
    .tui-loader__overlay-positioner {
      position: absolute;
      display: flex;
      align-items: center;
      justify-content: center;
      width: 100%;
      height: 100%;
      background: var(--color-background);
      opacity: 0.85;
      content: ''; }
  .tui-loader__display {
    position: -webkit-sticky;
    position: sticky;
    top: var(--gap-6);
    bottom: var(--gap-6);
    color: var(--color-neutral-6);
    font-size: var(--font-size-15); }
    .tui-loader__display .fa-spinner {
      position: relative;
      top: -1px; }

:root {
  /* Background colour of skeleton area*/
  /* Should have at least 3:1 contrast ratio*/
  /* https://www.w3.org/WAI/WCAG21/Understanding/non-text-contrast.html*/
  /* Future option https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast*/
  --skeleton-content-background: #949494;
  /* Background colour of skeleton area when under a loading overlay*/
  --skeleton-content-overlay-background: var(--color-neutral-5);
  /* Colour of shimmer*/
  --skeleton-content-shimmer-color: #aaa;
  /* Colour of shimmer when under a loading overlay*/
  --skeleton-content-shimmer-overlay-color: #e6e5e5;
  /* Border radius for skeleton content*/
  --skeleton-content-border-radius: var(--border-radius-small); }

.tui-skeletonContent {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--skeleton-content-background);
  border-radius: var(--skeleton-content-border-radius); }
  .tui-skeletonContent--charLength-2 {
    max-width: calc(2 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-3 {
    max-width: calc(3 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-4 {
    max-width: calc(4 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-5 {
    max-width: calc(5 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-10 {
    max-width: calc(10 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-15 {
    max-width: calc(15 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-20 {
    max-width: calc(20 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-25 {
    max-width: calc(25 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-30 {
    max-width: calc(30 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-50 {
    max-width: calc(50 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-75 {
    max-width: calc(75 * var(--form-input-font-size)); }
  .tui-skeletonContent--charLength-100 {
    max-width: calc(100 * var(--form-input-font-size));
    /* Set a custom size for inputs in a limited form*/ }
  .tui-form--inputWidth-limited .tui-skeletonContent:not(.tui-input--customSize) {
    max-width: var(--form-input-limited-width); }
    .tui-form--inputWidth-limited .tui-inputSet--split .tui-skeletonContent:not(.tui-input--customSize) {
      max-width: none; }
  .tui-skeletonContent--hasOverlay {
    background: var(--skeleton-content-overlay-background); }
  .tui-skeletonContent--shimmer {
    background: linear-gradient(-55deg, var(--skeleton-content-background) 0%, var(--skeleton-content-background) 35%, var(--skeleton-content-shimmer-color) 50%, var(--skeleton-content-background) 58%, var(--skeleton-content-background) 100%);
    background-size: 1000px 100%;
    background-attachment: fixed;
    animation: tui-skeletonShimmer 3s linear infinite; }
  @media (prefers-reduced-motion) {
    .tui-skeletonContent--shimmer {
      animation: none; } }

@keyframes tui-skeletonShimmer {
  0% {
    /*!rtl:ignore*/
    background-position: 0 0; }
  100% {
    /*!rtl:ignore*/
    background-position: 1000px 0; } }

.tui-skeletonContent--hasOverlay.tui-skeletonContent--shimmer {
  background: linear-gradient(-55deg, var(--skeleton-content-overlay-background) 0%, var(--skeleton-content-overlay-background) 35%, var(--skeleton-content-shimmer-overlay-color) 50%, var(--skeleton-content-overlay-background) 58%, var(--skeleton-content-overlay-background) 100%);
  background-size: 1000px 100%;
  background-attachment: fixed; }

.tui-lozenge {
  display: inline-flex;
  padding: 3px var(--gap-2) 3px;
  color: var(--color-neutral-1);
  font-weight: normal;
  font-size: var(--font-size-12);
  line-height: 1.25;
  font-weight: bold;
  line-height: 1;
  background: var(--color-prompt-info);
  border-radius: var(--border-radius-small); }
  .tui-lozenge--alert {
    background: var(--color-prompt-alert); }
  .tui-lozenge--success {
    background: var(--color-prompt-success); }
  .tui-lozenge--warning {
    background: var(--color-prompt-warning); }
  .tui-lozenge--neutral {
    background: var(--color-neutral-6); }

.tui-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--zindex-modal);
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
  outline: none; }
  .tui-modal--shade {
    background-color: var(--color-backdrop-standard); }
    .tui-modal--shade.tui-modal--size-sheet {
      background-color: var(--color-backdrop-heavy); }
  .tui-modal--animated {
    opacity: 0;
    transition: opacity var(--transition-modal-function) var(--transition-modal-duration); }
    .tui-modal--animated .tui-modal__inner {
      transform: translateY(100vh);
      transition: transform var(--transition-modal-function) var(--transition-modal-duration); }
    .tui-modal--animated.tui-modal--in {
      opacity: 1; }
    .tui-modal--animated.tui-modal--in .tui-modal__inner {
      transform: translateY(0); }
  .tui-modal--error {
    z-index: var(--zindex-error-modal); }
    .tui-modal.tui-modal--size-sheet .tui-modal__inner {
      overflow: auto; }
  .tui-modal__pad {
    width: 100%;
    height: 100%;
    padding: 0; }
  .tui-modal__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin: auto;
    color: var(--color-text);
    background-color: var(--color-background);
    box-shadow: var(--shadow-4); }
  .tui-modal__header {
    display: flex;
    flex-shrink: 0; }
  .tui-modal__close, .tui-modal__outsideClose {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    padding: var(--gap-4);
    font-size: var(--font-size-18); }
  .tui-modal__outsideClose {
    display: none;
    color: var(--color-backdrop-contrast); }
  .tui-modal__outsideClose:hover, .tui-modal__outsideClose:focus {
    color: var(--color-backdrop-contrast);
    opacity: 0.8; }

.has-tui-modal {
  overflow: hidden; }

@media (min-width: 768px) {
  .tui-modal.tui-modal--size-sheet.tui-modal--animated .tui-modal__inner {
    transform: scale(0.9);
    opacity: 0; }
  .tui-modal.tui-modal--size-sheet.tui-modal--animated.tui-modal--in .tui-modal__inner {
    transform: none;
    opacity: 1; }
  .tui-modal.tui-modal--size-sheet.tui-modal--animated .tui-modal__outsideClose {
    opacity: 0;
    transition: opacity var(--transition-modal-function) var(--transition-modal-duration); }
  .tui-modal.tui-modal--size-sheet.tui-modal--animated.tui-modal--in .tui-modal__outsideClose {
    opacity: 1; }
  .tui-modal.tui-modal--size-sheet.tui-modal--animated.tui-modal--in .tui-modal__outsideClose:hover, .tui-modal.tui-modal--size-sheet.tui-modal--animated.tui-modal--in .tui-modal__outsideClose:focus {
    opacity: 0.8; }
  .tui-modal.tui-modal--size-sheet .tui-modal__pad {
    padding: var(--modal-sheet-padding); }
  .tui-modal.tui-modal--size-sheet .tui-modal__inner {
    border-radius: var(--modal-border-radius); }
  .tui-modal.tui-modal--size-sheet .tui-modal__close {
    display: none; }
  .tui-modal.tui-modal--size-sheet .tui-modal__outsideClose {
    display: flex; } }

@media (min-width: 475px) {
  .tui-modal.tui-modal--size-small {
    overflow-y: auto; }
    .tui-modal.tui-modal--size-small.tui-modal--always-scroll {
      overflow-y: scroll; }
      .tui-modal.tui-modal--size-small.tui-modal--animated .tui-modal__inner {
        transform: scale(0.9); }
      .tui-modal.tui-modal--size-small.tui-modal--animated.tui-modal--in .tui-modal__inner {
        transform: none;
        /* a separate __pad element is required as flexbox centering with*/
        /* `margin-top/bottom: auto;` and padding on the parent are not compatible*/ }
    .tui-modal.tui-modal--size-small .tui-modal__pad {
      height: auto;
      margin: auto;
      padding: var(--modal-container-padding) 0; }
    .tui-modal.tui-modal--size-small .tui-modal__inner {
      width: 400px;
      height: auto;
      border-radius: var(--modal-border-radius); }
    .tui-modal.tui-modal--size-small .tui-modal__close {
      display: none; }
    .tui-modal.tui-modal--size-small .tui-modal__outsideClose {
      display: flex; } }

@media (min-width: 635px) {
  .tui-modal.tui-modal--size-normal {
    overflow-y: auto; }
    .tui-modal.tui-modal--size-normal.tui-modal--always-scroll {
      overflow-y: scroll; }
      .tui-modal.tui-modal--size-normal.tui-modal--animated .tui-modal__inner {
        transform: scale(0.9); }
      .tui-modal.tui-modal--size-normal.tui-modal--animated.tui-modal--in .tui-modal__inner {
        transform: none;
        /* a separate __pad element is required as flexbox centering with*/
        /* `margin-top/bottom: auto;` and padding on the parent are not compatible*/ }
    .tui-modal.tui-modal--size-normal .tui-modal__pad {
      height: auto;
      margin: auto;
      padding: var(--modal-container-padding) 0; }
    .tui-modal.tui-modal--size-normal .tui-modal__inner {
      width: 560px;
      height: auto;
      border-radius: var(--modal-border-radius); }
    .tui-modal.tui-modal--size-normal .tui-modal__close {
      display: none; }
    .tui-modal.tui-modal--size-normal .tui-modal__outsideClose {
      display: flex; } }

@media (min-width: 875px) {
  .tui-modal.tui-modal--size-large {
    overflow-y: auto; }
    .tui-modal.tui-modal--size-large.tui-modal--always-scroll {
      overflow-y: scroll; }
      .tui-modal.tui-modal--size-large.tui-modal--animated .tui-modal__inner {
        transform: scale(0.9); }
      .tui-modal.tui-modal--size-large.tui-modal--animated.tui-modal--in .tui-modal__inner {
        transform: none;
        /* a separate __pad element is required as flexbox centering with*/
        /* `margin-top/bottom: auto;` and padding on the parent are not compatible*/ }
    .tui-modal.tui-modal--size-large .tui-modal__pad {
      height: auto;
      margin: auto;
      padding: var(--modal-container-padding) 0; }
    .tui-modal.tui-modal--size-large .tui-modal__inner {
      width: 800px;
      height: auto;
      border-radius: var(--modal-border-radius); }
    .tui-modal.tui-modal--size-large .tui-modal__close {
      display: none; }
    .tui-modal.tui-modal--size-large .tui-modal__outsideClose {
      display: flex; } }

.tui-modalContent {
  color: var(--color-text);
  font-weight: normal;
  font-size: var(--font-size-15);
  line-height: var(--font-body-line-height);
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  min-height: 0;
  padding: var(--modal-content-outer-padding) 0; }
  .tui-modalContent--noContentPadding {
    padding-bottom: 0; }
  .tui-modalContent__header {
    display: flex;
    flex-shrink: 0;
    padding: 0 var(--modal-content-outer-padding); }
    .tui-modalContent__header-title {
      font-weight: bold;
      font-size: var(--font-size-20);
      line-height: 1.25;
      flex-grow: 1;
      overflow: hidden; }
      .tui-modalContent__header-title--sronly {
        /* The use of '!important' here is an exception and should not be replicated else where */
        /* stylelint-disable declaration-no-important */
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        margin: -1px !important;
        padding: 0 !important;
        overflow: hidden !important;
        white-space: nowrap !important;
        border: 0 !important;
        clip: rect(0, 0, 0, 0) !important;
        /* stylelint-enable */ }
    .tui-modalContent__header-close {
      position: absolute;
      top: 0;
      right: 0;
      padding: var(--gap-3); }
  .tui-modalContent__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
    margin-top: var(--modal-content-separation);
    padding: 0 var(--modal-content-outer-padding) 2px;
    overflow-y: auto; }
  .tui-modalContent--noContentPadding .tui-modalContent__content {
    padding: 0; }
  .tui-modalContent__footer {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    margin-top: var(--modal-content-separation-large);
    padding: 0 var(--modal-content-outer-padding); }
    .tui-modalContent__footer-buttons {
      margin-left: auto; }

.tui-notificationBanner {
  font-weight: normal;
  font-size: var(--font-size-13);
  line-height: 1.15;
  display: flex;
  background-color: var(--color-background);
  border: var(--border-width-thin) solid var(--color-prompt-info);
  border-radius: var(--border-radius-small); }
  .tui-notificationBanner__icon {
    display: flex;
    padding: var(--gap-4);
    color: var(--color-neutral-1);
    background: var(--color-prompt-info);
    /* -1px to avoid issue with razor thin white line between icon container and notification border*/
    /* prettier-ignore*/
    border-top-left-radius: calc(var(--border-radius-small) - var(--border-width-thin) - 1px);
    /* prettier-ignore*/
    border-bottom-left-radius: calc(var(--border-radius-small) - var(--border-width-thin) - 1px); }
  .tui-notificationBanner__body {
    flex-grow: 1; }
  .tui-notificationBanner__message {
    display: flex;
    flex: 1;
    align-items: center;
    padding: var(--gap-4) var(--gap-3); }
  .tui-notificationBanner__dismiss {
    display: flex; }
    .tui-notificationBanner__dismiss_button {
      color: var(--color-neutral-6); }

.tui-notificationBanner--success {
  border-color: var(--color-prompt-success); }
.tui-notificationBanner--success .tui-notificationBanner__icon {
  background: var(--color-prompt-success); }

.tui-notificationBanner--warning {
  border-color: var(--color-prompt-warning); }
.tui-notificationBanner--warning .tui-notificationBanner__icon {
  background: var(--color-prompt-warning); }

.tui-notificationBanner--error {
  border-color: var(--color-prompt-alert); }
.tui-notificationBanner--error .tui-notificationBanner__icon {
  background: var(--color-prompt-alert); }

@media screen and (min-width: 768px) {
  .tui-notificationBanner {
    color: var(--color-text);
    font-weight: normal;
    font-size: var(--font-size-15);
    line-height: var(--font-body-line-height);
    border-radius: var(--border-radius-normal); }
    .tui-notificationBanner__icon {
      /* -1px to avoid issue with razor thin white line between icon container and notification border*/
      /* prettier-ignore*/
      border-top-left-radius: calc(var(--border-radius-normal) - var(--border-width-thin) - 1px);
      /* prettier-ignore*/
      border-bottom-left-radius: calc(var(--border-radius-normal) - var(--border-width-thin) - 1px); } }

.tui-notificationToast {
  font-weight: normal;
  font-size: var(--font-size-13);
  line-height: 1.15;
  display: flex;
  color: var(--toast-color-text);
  background-color: var(--color-prompt-success);
  border-radius: var(--border-radius-small);
  box-shadow: var(--shadow-3); }
  .tui-notificationToast__icon {
    display: flex;
    align-items: center;
    padding: var(--gap-4) 0 var(--gap-4) var(--gap-4);
    color: var(--color-neutral-1);
    background: var(--color-prompt-success);
    /* -1px to avoid isue with razor thin white line between icon container and notification border*/
    /* prettier-ignore*/
    border-top-left-radius: calc(var(--border-radius-small) - var(--border-width-thin) - 1px);
    /* prettier-ignore*/
    border-bottom-left-radius: calc(var(--border-radius-small) - var(--border-width-thin) - 1px); }
  .tui-notificationToast__message {
    display: flex;
    flex: 1;
    align-items: center;
    padding: var(--gap-4) var(--gap-2); }
  .tui-notificationToast__dismiss {
    display: flex; }
    .tui-notificationToast__dismiss_button {
      color: var(--color-neutral-3); }
      .tui-notificationToast__dismiss_button:hover {
        color: var(--color-neutral-1); }

.tui-notificationToast--error {
  background: var(--color-prompt-alert); }
.tui-notificationToast--error .tui-notificationToast__icon {
  background: var(--color-prompt-alert); }

@media screen and (min-width: 768px) {
  .tui-notificationToast {
    color: var(--color-text);
    font-weight: normal;
    font-size: var(--font-size-15);
    line-height: var(--font-body-line-height);
    color: var(--toast-color-text);
    border-radius: var(--border-radius-normal); }
    .tui-notificationToast__icon {
      /* -1px to avoid isue with razor thin white line between icon container and notification border*/
      /* prettier-ignore*/
      border-top-left-radius: calc(var(--border-radius-normal) - var(--border-width-thin) - 1px);
      /* prettier-ignore*/
      border-bottom-left-radius: calc(var(--border-radius-normal) - var(--border-width-thin) - 1px); } }

.tui-toastContainer {
  position: fixed;
  top: var(--gap-6);
  right: 0;
  left: 0;
  z-index: var(--zindex-toast);
  display: flex;
  justify-content: center;
  pointer-events: none; }
  .tui-toastContainer__inner {
    position: relative;
    flex-basis: 300px;
    pointer-events: auto; }
    .tui-toastContainer__item-transition-enter-active, .tui-toastContainer__item-transition-leave-active {
      transition: all 0.15s ease-out; }
    .tui-toastContainer__item-transition-enter, .tui-toastContainer__item-transition-leave-to {
      opacity: 0; }
    .tui-toastContainer__item-transition-leave-active {
      position: absolute;
      right: 0;
      left: 0;
      opacity: 0; }

@media screen and (min-width: 768px) {
  .tui-toastContainer__inner {
    flex-basis: 500px; } }

.tui-overflowContainer__container {
  display: flex; }
  .tui-overflowContainer__container > * + * {
    margin-left: var(--gap-4); }
    .tui-overflowContainer--wide .tui-overflowContainer__container > * + * {
      margin-left: var(--gap-6); }
.tui-overflowContainer__containerItem {
  display: flex;
  flex-basis: 200px;
  flex-direction: column;
  flex-grow: 1;
  flex-shrink: 1;
  min-width: 198px;
  max-width: 248px; }
  .tui-overflowContainer__containerItem > * {
    flex-grow: 1; }
  .tui-overflowContainer__containerItem--post {
    color: var(--color-state); }
    .tui-overflowContainer__containerItem--post .tui-overflowContainer__containerItem-viewAll {
      display: flex;
      flex-direction: column;
      flex-grow: 1;
      margin: auto 0;
      text-align: center;
      background-color: var(--color-neutral-3); }
      .tui-overflowContainer__containerItem--post .tui-overflowContainer__containerItem-viewAll--only {
        min-height: 200px; }
    .tui-overflowContainer__containerItem--post .tui-overflowContainer__containerItem-viewAllIcon {
      display: block;
      width: 48px;
      height: 48px;
      margin: auto auto 0 auto;
      padding: 10px;
      font-size: var(--font-size-24);
      border: var(--border-width-thin) solid var(--color-state);
      border-radius: 50%; }
    .tui-overflowContainer__containerItem--post .tui-overflowContainer__containerItem-viewAllAction {
      margin: var(--gap-2) 0 auto; }
    .tui-overflowContainer__containerItem--post .tui-overflowContainer__containerItem-link {
      outline: 0; }

.tui-paging {
  display: flex;
  flex-wrap: wrap; }
  .tui-paging__perPage {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    flex-shrink: 0;
    align-items: center;
    margin: auto 0; }
    .tui-paging__perPage-label {
      margin: auto var(--gap-3) auto 0; }
    .tui-paging__perPage-select {
      flex: 7rem 0 0; }
  .tui-paging__selector {
    display: flex;
    flex-shrink: 0;
    margin: auto 0; }
    .tui-paging__selector-number {
      min-width: 40px;
      min-height: 40px;
      margin: auto 0;
      padding: var(--gap-4); }
      .tui-paging__selector-number--current {
        font-weight: bold; }
  .tui-paging__direct {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-shrink: 0;
    align-items: center;
    margin: auto 0;
    padding-left: var(--gap-4);
    border-left: var(--border-width-thin) solid var(--color-neutral-5); }
    .tui-paging--narrow .tui-paging__direct {
      padding-left: 0;
      border-left: none; }
    .tui-paging__direct-label {
      margin: auto var(--gap-2) auto 0; }
    .tui-paging__direct .tui-paging__direct-page[type] {
      margin: auto var(--gap-1) auto 0; }

.tui-popoverFrame {
  color: var(--color-text);
  font-weight: normal;
  font-size: var(--font-size-15);
  line-height: var(--font-body-line-height);
  position: relative;
  max-width: 300px;
  /* margin must be equal on all 4 sides, and must not change with position*/
  margin: 10px;
  padding: var(--gap-4);
  background: var(--color-background);
  background-clip: padding-box;
  box-shadow: var(--shadow-3); }
  .tui-popoverFrame::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 0 1px var(--color-neutral-5);
    content: ''; }
  .tui-popoverFrame--size-sm {
    width: 250px;
    max-width: none; }
  .tui-popoverFrame--size-md {
    width: 300px;
    max-width: none; }
  .tui-popoverFrame__close {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    padding: calc(1.4rem - 0.1em) calc(1.4rem - 0.3em); }
  .tui-popoverFrame__title {
    font-weight: bold;
    font-size: var(--font-size-16);
    line-height: 1.25;
    padding-top: var(--gap-2);
    padding-right: var(--gap-4); }
  .tui-popoverFrame__content {
    padding: var(--gap-2) var(--gap-4) var(--gap-2) 0; }
    .tui-popoverFrame__content img {
      max-width: 100%; }
  .tui-popoverFrame__title + .tui-popoverFrame__content, .tui-popoverFrame .tui-popoverFrame__content--nonClosable {
    padding-right: 0; }
  .tui-popoverFrame__buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-top: var(--gap-1);
    padding-bottom: var(--gap-3); }
    .tui-popoverFrame__buttons > * {
      margin-top: var(--gap-2); }
    .tui-popoverFrame__buttons > * + * {
      margin-left: var(--gap-4); }

.tui-popoverPositioner {
  /* note: position: absolute + z-index triggers a new stacking context*/
  /* this allows us to escape from overflow: hidden.*/
  /* because stacking contexts can be nested, this will still work correctly*/
  /* even inside modals, which have a higher z-index*/
  position: absolute;
  top: 0;
  /*rtl:ignore*/
  left: 0;
  z-index: var(--zindex-popover);
  width: auto;
  color: var(--color-text);
  font-weight: normal;
  font-size: var(--font-size-15);
  line-height: var(--font-body-line-height); }
  .tui-popoverPositioner--fixed {
    position: fixed; }
  .tui-popoverPositioner--transition-default {
    transition: opacity 0.2s; }
  .tui-popoverPositioner--transition-default-enter, .tui-popoverPositioner--transition-default-leave-to {
    opacity: 0; }
  .tui-popoverPositioner--transition-dropdown {
    transition: opacity 0s; }
  .tui-popoverPositioner--transition-dropdown-enter, .tui-popoverPositioner--transition-dropdown-leave-to {
    opacity: 0; }
  .tui-popoverPositioner--transition-dropdown-leave-to {
    transition: opacity 0.15s; }

.tui-modal--animated .tui-popoverPositioner {
  display: none; }

.tui-modal--animated.tui-modal--in .tui-popoverPositioner {
  display: block; }

.tui-miniProfileCard {
  /* The parent who uses this card decides the width/height.*/
  display: flex;
  align-items: flex-start;
  padding: var(--gap-2);
  outline: none; }
  .tui-miniProfileCard--no-avatar {
    padding-left: var(--gap-4); }
  .tui-miniProfileCard--no-dropdown {
    padding-right: var(--gap-4); }
  .tui-miniProfileCard--no-padding {
    /* Reset padding to zero.*/
    padding: 0; }
  .tui-miniProfileCard--border {
    border: var(--border-width-thin) solid var(--color-neutral-5);
    border-radius: var(--border-radius-normal); }
  .tui-miniProfileCard--hasShadow {
    box-shadow: var(--shadow-2); }
  .tui-miniProfileCard__avatar {
    margin-right: var(--gap-2); }
  .tui-miniProfileCard__description {
    display: flex;
    flex: 1;
    flex-direction: column;
    overflow: hidden; }
  .tui-miniProfileCard__row {
    display: flex;
    align-items: center; }
    .tui-miniProfileCard__row-text {
      font-weight: normal;
      font-size: var(--font-size-13);
      line-height: 1.15;
      margin: 0;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; }
      .tui-miniProfileCard__row-text--bold {
        font-weight: bold; }
    .tui-miniProfileCard__row-link {
      color: var(--color-state);
      font-size: var(--font-size-13);
      line-height: 1.33;
      cursor: pointer;
      margin: 0;
      overflow: hidden;
      white-space: nowrap;
      text-overflow: ellipsis; }
      .tui-miniProfileCard__row-link:hover, .tui-miniProfileCard__row-link:focus {
        color: var(--color-state-hover); }
      .tui-miniProfileCard__row-link:active, .tui-miniProfileCard__row-link:active:hover, .tui-miniProfileCard__row-link:active:focus {
        color: var(--color-state-active); }
      .tui-miniProfileCard__row-link--bold {
        font-weight: bold; }
    .tui-miniProfileCard__row--withGap {
      margin-bottom: var(--gap-1); }
  .tui-miniProfileCard__dropDown {
    margin-left: var(--gap-4); }

.tui-progress {
  font-weight: normal;
  font-size: var(--font-size-11);
  line-height: 1.1;
  display: flex;
  height: 14px;
  background-color: var(--progress-container-bg-color);
  border: 1px solid var(--progress-border-color);
  border-radius: var(--gap-2); }
  .tui-progress--small {
    height: 12px;
    line-height: 10px; }
  .tui-progress--hideBackground {
    background: none; }
  .tui-progress__bar {
    display: flex;
    justify-content: flex-end;
    background-color: var(--progress-value-bg-color);
    border-radius: var(--gap-2);
    transition: width var(--transition-progress-function) var(--transition-progress-duration); }
  .tui-progress__label {
    padding: 0 var(--gap-1);
    opacity: 0; }
    .tui-progress__label--inside {
      color: var(--progress-value-text-color);
      opacity: 1;
      transition: opacity var(--transition-progress-function) var(--transition-progress-duration); }
    .tui-progress__label--outside {
      color: var(--progress-container-text-color);
      opacity: 1; }

.tui-progressTrackerItems {
  display: flex;
  justify-content: center;
  margin: 0;
  list-style: none;
  /* Line styles*/ }
  .tui-progressTrackerItems > * + *.tui-progressTrackerItem .tui-progressTrackerItem__content::before {
    position: absolute;
    top: 14px;
    left: -50%;
    display: block;
    width: 100%;
    border-style: solid;
    border-width: var(--border-width-thin) 0 0 0;
    content: ''; }
    .tui-progressTrackerItems > * + *.tui-progressTrackerItem--pending .tui-progressTrackerItem__content::before {
      border-color: var(--progresstracker-color-pending);
      border-style: dotted; }
  .tui-progressTrackerItems > * + *.tui-progressTrackerItem--complete .tui-progressTrackerItem__content::before {
    top: 13px;
    border-color: var(--progresstracker-color-complete);
    border-width: var(--border-width-thick) 0 0 0; }
.tui-progressTrackerItems > * + *.tui-progressTrackerItem--achieved .tui-progressTrackerItem__content::before {
  top: 13px;
  border-color: var(--progresstracker-color-achieved);
  border-width: var(--border-width-thick) 0 0 0; }
.tui-progressTrackerItems--vertical > * + *.tui-progressTrackerItem .tui-progressTrackerItem__content::before {
  top: -50%;
  left: 13px;
  width: 0;
  height: 100%;
  border-width: 0 0 0 var(--border-width-thick); }
.tui-progressTrackerItems .tui-progressTrackerItem {
  position: relative;
  flex-shrink: 0; }
  .tui-progressTrackerItems .tui-progressTrackerItem--small {
    width: 100px; }
  .tui-progressTrackerItems .tui-progressTrackerItem--medium {
    width: 200px; }
  .tui-progressTrackerItems .tui-progressTrackerItem--large {
    width: 250px; }
  .tui-progressTrackerItems .tui-progressTrackerItem__content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%; }
  .tui-progressTrackerItems .tui-progressTrackerItem__label {
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: var(--gap-2);
    text-align: center; }
    .tui-progressTrackerItems .tui-progressTrackerItem__label-current .tui-formBtn, .tui-progressTrackerItems .tui-progressTrackerItem__label-current .tui-iconBtn, .tui-progressTrackerItems .tui-progressTrackerItem__label-current .tui-actionLink, .tui-progressTrackerItems .tui-progressTrackerItem__label-current .tui-toggleSwitch__btn {
      color: var(--color-state-active);
      font-weight: bold; }
  .tui-progressTrackerItems .tui-progressTrackerItem__status, .tui-progressTrackerItems .tui-progressTrackerItem__target {
    /* The use of '!important' here is an exception and should not be replicated else where */
    /* stylelint-disable declaration-no-important */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    /* stylelint-enable */
    /* Spacing after for overflow detector*/ }
    .tui-progressTrackerItems .tui-progressTrackerItem :last-child--small {
      width: 200px;
      padding-right: 100px; }
    .tui-progressTrackerItems .tui-progressTrackerItem :last-child--medium {
      width: 400px;
      padding-right: 200px; }
    .tui-progressTrackerItems .tui-progressTrackerItem :last-child--large {
      width: 500px;
      padding-right: 250px; }
.tui-progressTrackerItems--vertical {
  flex-direction: column; }
  .tui-progressTrackerItems--vertical .tui-progressTrackerItem {
    width: auto;
    height: 80px; }
    .tui-progressTrackerItems--vertical .tui-progressTrackerItem__content {
      flex-direction: row;
      height: 100%; }
    .tui-progressTrackerItems--vertical .tui-progressTrackerItem__label {
      margin: 0;
      padding: var(--gap-1) var(--gap-2);
      text-align: left; }

.tui-progressTrackerCircle__outer {
  z-index: 2;
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(var(--gap-7) + 1px);
  height: calc(var(--gap-7) + 1px);
  border: var(--border-width-normal) transparent dotted;
  border-radius: 50%;
  /* Pending target*/ }
  .tui-progressTrackerCircle__outer.tui-progressTrackerCircle--pending.tui-progressTrackerCircle__outer.tui-progressTrackerCircle--target {
    border-color: var(--progresstracker-color-pending);
    /* Achieved target*/ }
  .tui-progressTrackerCircle__outer.tui-progressTrackerCircle--target.tui-progressTrackerCircle__outer.tui-progressTrackerCircle--achieved {
    background: var(--progresstracker-container-bg-color);
    border-color: var(--progresstracker-color-achieved);
    border-style: solid; }
.tui-progressTrackerCircle__middle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--gap-4) + 1px);
  height: calc(var(--gap-4) + 1px);
  background: transparent;
  border: var(--border-width-thin) solid transparent;
  border-radius: 50%;
  -webkit-print-color-adjust: exact;
  color-adjust: exact;
  /* Pending*/ }
  .tui-progressTrackerCircle--pending .tui-progressTrackerCircle__middle {
    background: var(--progresstracker-color-pending);
    /* Pending target*/ }
  .tui-progressTrackerCircle--pending.tui-progressTrackerCircle--target .tui-progressTrackerCircle__middle {
    background: transparent;
    /* Complete*/ }
  .tui-progressTrackerCircle--complete .tui-progressTrackerCircle__middle {
    background: var(--progresstracker-color-complete);
    /* Achieved*/ }
  .tui-progressTrackerCircle--achieved .tui-progressTrackerCircle__middle {
    background: var(--progresstracker-color-achieved); }
.tui-progressTrackerCircle__inner {
  width: calc(var(--gap-2) + 1px);
  height: calc(var(--gap-2) + 1px);
  background: var(--progresstracker-container-bg-color);
  border: var(--border-width-thin) solid var(--progresstracker-container-bg-color);
  border-radius: 50%;
  /* Pending*/ }
  .tui-progressTrackerCircle--pending .tui-progressTrackerCircle__inner {
    border-color: var(--progresstracker-container-bg-color);
    /* Pending target*/ }
  .tui-progressTrackerCircle--pending.tui-progressTrackerCircle--target .tui-progressTrackerCircle__inner {
    border-color: var(--progresstracker-color-pending);
    /* Achieved*/ }
  .tui-progressTrackerCircle--achieved .tui-progressTrackerCircle__inner {
    border-color: var(--progresstracker-container-bg-color); }

.ie .tui-progressTrackerCircle--achieved .tui-progressTrackerCircle__middle, .msedge .tui-progressTrackerCircle--achieved .tui-progressTrackerCircle__middle {
  border: var(--gap-1) solid var(--progresstracker-color-achieved); }
.ie .tui-progressTrackerCircle--complete .tui-progressTrackerCircle__middle, .msedge .tui-progressTrackerCircle--complete .tui-progressTrackerCircle__middle {
  border: var(--gap-1) solid var(--progresstracker-color-complete); }

.tui-progressTrackerNav__items {
  display: flex;
  justify-content: center;
  margin: 0;
  list-style: none; }
  .tui-progressTrackerNav--vertical .tui-progressTrackerNav__items {
    flex-direction: column; }

.tui-progressTrackerNavCircleAchievement {
  /* states*/ }
  .tui-progressTrackerNavCircleAchievement__outer {
    z-index: 2;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: var(--progresstracker-full-marker-size);
    height: var(--progresstracker-full-marker-size);
    border: var(--border-width-normal) transparent dotted;
    border-radius: 50%;
    /**
     * states
     **/ }
    .tui-progressTrackerNavCircleAchievement__outer.tui-progressTrackerNavCircleAchievement--pending.tui-progressTrackerNavCircleAchievement__outer.tui-progressTrackerNavCircleAchievement--target {
      border-color: var(--progresstracker-color-pending); }
    .tui-progressTrackerNavCircleAchievement__outer.tui-progressTrackerNavCircleAchievement--target.tui-progressTrackerNavCircleAchievement__outer.tui-progressTrackerNavCircleAchievement--achieved {
      background: var(--progresstracker-container-bg-color);
      border-color: var(--progresstracker-color-achieved);
      border-style: solid; }
  .tui-progressTrackerNavCircleAchievement__middle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(calc(var(--progresstracker-full-marker-size) / 2) + var(--gap-1));
    height: calc(calc(var(--progresstracker-full-marker-size) / 2) + var(--gap-1));
    background: transparent;
    border: var(--border-width-thin) solid transparent;
    border-radius: 50%;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
    /**
     * states
     **/ }
    .tui-progressTrackerNavCircleAchievement--pending .tui-progressTrackerNavCircleAchievement__middle {
      background: var(--progresstracker-color-pending); }
    .tui-progressTrackerNavCircleAchievement--pending.tui-progressTrackerNavCircleAchievement--target .tui-progressTrackerNavCircleAchievement__middle {
      background: transparent; }
    .tui-progressTrackerNavCircleAchievement--complete .tui-progressTrackerNavCircleAchievement__middle {
      background: var(--progresstracker-color-complete); }
    .tui-progressTrackerNavCircleAchievement--achieved .tui-progressTrackerNavCircleAchievement__middle {
      background: var(--progresstracker-color-achieved); }
  .tui-progressTrackerNavCircleAchievement__inner {
    display: flex;
    align-items: center;
    width: calc(calc(var(--progresstracker-full-marker-size) / 4) +
        var(--border-width-thin));
    height: calc(calc(var(--progresstracker-full-marker-size) / 4) +
        var(--border-width-thin));
    background: var(--progresstracker-container-bg-color);
    border: var(--border-width-thin) solid var(--progresstracker-container-bg-color);
    border-radius: 50%;
    /**
     * states
     **/ }
    .tui-progressTrackerNavCircleAchievement--pending .tui-progressTrackerNavCircleAchievement__inner {
      border-color: var(--progresstracker-container-bg-color); }
    .tui-progressTrackerNavCircleAchievement--pending.tui-progressTrackerNavCircleAchievement--target .tui-progressTrackerNavCircleAchievement__inner {
      border-color: var(--progresstracker-color-pending); }
    .tui-progressTrackerNavCircleAchievement--achieved .tui-progressTrackerNavCircleAchievement__inner {
      border-color: var(--progresstracker-container-bg-color); }
  .tui-progressTrackerNavCircleAchievement__label {
    /* The use of '!important' here is an exception and should not be replicated else where */
    /* stylelint-disable declaration-no-important */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    /* stylelint-enable */ }

.tui-progressTrackerNavCircleWorkflow {
  /* states*/ }
  .tui-progressTrackerNavCircleWorkflow__outer {
    z-index: 2;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: var(--progresstracker-full-marker-size);
    height: var(--progresstracker-full-marker-size);
    border: var(--border-width-normal) transparent solid;
    border-radius: 50%;
    /**
     * states
     **/ }
    .tui-progressTrackerNavCircleWorkflow__outer.tui-progressTrackerNavCircleWorkflow--locked.tui-progressTrackerNavCircleWorkflow--selected {
      border-color: var(--progresstracker-color-locked); }
    .tui-progressTrackerNavCircleWorkflow__outer.tui-progressTrackerNavCircleWorkflow--selected {
      border-color: var(--progresstracker-color-selected);
      border-style: solid; }
  .tui-progressTrackerNavCircleWorkflow__middle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(calc(var(--progresstracker-full-marker-size) / 2) + var(--gap-2));
    height: calc(calc(var(--progresstracker-full-marker-size) / 2) + var(--gap-2));
    background-color: transparent;
    border: var(--border-width-thin) solid transparent;
    border-radius: 50%;
    /**
     * states
     **/ }
    .tui-progressTrackerNavCircleWorkflow--ready .tui-progressTrackerNavCircleWorkflow__middle {
      border-color: var(--progresstracker-color-ready); }
    .tui-progressTrackerNavCircleWorkflow--locked .tui-progressTrackerNavCircleWorkflow__middle {
      border-color: var(--progresstracker-color-locked); }
    .tui-progressTrackerNavCircleWorkflow--locked.tui-progressTrackerNavCircleWorkflow--optional .tui-progressTrackerNavCircleWorkflow__middle {
      border-color: var(--progresstracker-color-locked); }
    .tui-progressTrackerNavCircleWorkflow--locked.tui-progressTrackerNavCircleWorkflow--selected .tui-progressTrackerNavCircleWorkflow__middle {
      background: var(--progresstracker-color-locked);
      border-color: var(--progresstracker-color-locked); }
    .tui-progressTrackerNavCircleWorkflow--done .tui-progressTrackerNavCircleWorkflow__middle {
      background: var(--progresstracker-color-done);
      border-color: var(--progresstracker-color-done); }
    .tui-progressTrackerNavCircleWorkflow--optional .tui-progressTrackerNavCircleWorkflow__middle {
      border-color: var(--progresstracker-color-optional);
      border-style: dashed; }
    .tui-progressTrackerNavCircleWorkflow--selected .tui-progressTrackerNavCircleWorkflow__middle {
      background: var(--progresstracker-color-selected);
      border-color: var(--progresstracker-color-selected); }
    .tui-progressTrackerNavCircleWorkflow--selected.tui-progressTrackerNavCircleWorkflow--done .tui-progressTrackerNavCircleWorkflow__middle {
      border-color: var(--progresstracker-color-done); }
  .tui-progressTrackerNavCircleWorkflow__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--gap-5);
    height: var(--gap-5);
    border-radius: 50%;
    /**
     * states
     **/ }
    .tui-progressTrackerNavCircleWorkflow--locked .tui-progressTrackerNavCircleWorkflow__inner {
      color: var(--progresstracker-color-locked); }
    .tui-progressTrackerNavCircleWorkflow--selected .tui-progressTrackerNavCircleWorkflow__inner {
      background-color: var(--progresstracker-color-selected); }
    .tui-progressTrackerNavCircleWorkflow--locked.tui-progressTrackerNavCircleWorkflow--selected .tui-progressTrackerNavCircleWorkflow__inner {
      color: var(--progresstracker-color-locked--inverse);
      background-color: var(--progresstracker-color-locked); }
    .tui-progressTrackerNavCircleWorkflow--done .tui-progressTrackerNavCircleWorkflow__inner {
      color: var(--progresstracker-color-done--inverse);
      background-color: var(--progresstracker-color-done); }
  .tui-progressTrackerNavCircleWorkflow__icon--locked {
    width: 1.2rem;
    height: 1.2rem; }
  .tui-progressTrackerNavCircleWorkflow__icon--done {
    width: 1.6rem;
    height: 1.6rem; }
  .tui-progressTrackerNavCircleWorkflow__label {
    /* The use of '!important' here is an exception and should not be replicated else where */
    /* stylelint-disable declaration-no-important */
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    margin: -1px !important;
    padding: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    /* stylelint-enable */ }

/**
 * Connector lines
 **/
.tui-progressTrackerNav__itemContentWrapper:before {
  position: absolute;
  display: block;
  border-color: var(--progresstracker-color-pending);
  border-style: dotted;
  content: ''; }
  .tui-progressTrackerNav--vertical .tui-progressTrackerNav__itemContentWrapper:before {
    top: calc(var(--progresstracker-full-marker-size) + var(--border-width-normal));
    /* nested calc() will get botched by RTLCSS processing if it is broken down onto multiple lines */
    /* prettier-ignore */
    left: calc(calc(var(--progresstracker-full-marker-size) / 2) - calc(var(--border-width-normal) / 2));
    width: var(--border-width-normal);
    /* prettier-ignore */
    height: calc(100% - calc( var(--progresstracker-full-marker-size) + calc(var(--border-width-normal) * 2) ));
    border-width: 0 0 0 var(--border-width-normal); }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemContentWrapper:before {
    /* nested calc() will get botched by RTLCSS processing if it is broken down onto multiple lines */
    /* prettier-ignore */
    top: calc(calc(var(--progresstracker-full-marker-size) / 2) - calc(var(--border-width-normal) / 2));
    /* prettier-ignore */
    left: calc(50% + calc(var(--progresstracker-full-marker-size) / 2) + var(--progresstracker-connector-gap) - var(--border-width-normal));
    /* prettier-ignore */
    width: calc(100% - calc( var(--progresstracker-full-marker-size) + calc(var(--progresstracker-connector-gap)) + var(--border-width-normal)));
    height: var(--border-width-normal);
    border-width: var(--border-width-normal) 0 0 0; }

/**
 * Connector line modifiers
 **/
.tui-progressTrackerNav__connector {
  /* item states related to Achievement*/ }
  .tui-progressTrackerNav__connector--pending {
    /* this is the default state if no state Array is passed into the item*/ }
    .tui-progressTrackerNav__connector--pending .tui-progressTrackerNav__itemContentWrapper:before {
      border-color: var(--progresstracker-color-pending); }
  .tui-progressTrackerNav__connector--complete .tui-progressTrackerNav__itemContentWrapper:before {
    border-color: var(--progresstracker-color-complete);
    border-style: solid; }
.tui-progressTrackerNav__connector--achieved .tui-progressTrackerNav__itemContentWrapper:before {
  border-color: var(--progresstracker-color-achieved);
  border-style: solid; }

/**
 * Items and their content
 **/
.tui-progressTrackerNav__item {
  position: relative;
  flex-shrink: 0; }
  .tui-progressTrackerNav__item:last-child .tui-progressTrackerNav__itemContentWrapper:before {
    display: none;
    /**
     * Connector gap adjustment for large item markers
     **/ }
.tui-progressTrackerNav__item--selected .tui-progressTrackerNav__itemContentWrapper:after, .tui-progressTrackerNav__item--target .tui-progressTrackerNav__itemContentWrapper:after {
  position: absolute;
  display: block;
  /* nested calc() will get botched by RTLCSS processing if it is broken down onto multiple lines */
  /* prettier-ignore */
  width: calc(var(--progresstracker-full-marker-size) + calc(var(--progresstracker-connector-gap) * 2));
  /* prettier-ignore */
  height: calc(var(--progresstracker-full-marker-size) + calc(var(--progresstracker-connector-gap) * 2));
  border-color: var(--progresstracker-container-bg-color);
  border-style: solid;
  border-width: var(--progresstracker-connector-gap);
  border-radius: 50%;
  content: ''; }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__item--selected .tui-progressTrackerNav__itemContentWrapper:after, .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__item--target .tui-progressTrackerNav__itemContentWrapper:after {
    top: calc(var(--progresstracker-connector-gap) * -1);
    left: calc(50% - calc(var(--progresstracker-full-marker-size) / 2) - var(--progresstracker-connector-gap)); }
  .tui-progressTrackerNav--vertical .tui-progressTrackerNav__item--selected .tui-progressTrackerNav__itemContentWrapper:after, .tui-progressTrackerNav--vertical .tui-progressTrackerNav__item--target .tui-progressTrackerNav__itemContentWrapper:after {
    top: calc(var(--progresstracker-connector-gap) * -1);
    left: calc(var(--progresstracker-connector-gap) * -1); }
.tui-progressTrackerNav__itemContentWrapper {
  position: relative;
  display: flex; }
  .tui-progressTrackerNav--vertical .tui-progressTrackerNav__itemContentWrapper {
    flex-direction: row;
    align-items: stretch;
    height: 100%; }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemContentWrapper {
    flex-direction: column;
    align-items: center; }
.tui-progressTrackerNav--vertical .tui-progressTrackerNav__itemContent {
  padding-left: var(--gap-2);
  /**
   * variable width and gap sizes based on supplied props
   **/ }
  .tui-progressTrackerNav--vertical .tui-progressTrackerNav__itemContent--gap-small {
    padding-bottom: var(--gap-2); }
  .tui-progressTrackerNav--vertical .tui-progressTrackerNav__itemContent--gap-medium {
    padding-bottom: var(--gap-5); }
  .tui-progressTrackerNav--vertical .tui-progressTrackerNav__itemContent--gap-large {
    padding-bottom: var(--gap-7); }
.tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemContent {
  align-items: center;
  /**
   * variable width and gap sizes based on supplied props
   **/ }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemContent--gap-small {
    padding-right: var(--progress-tracker-horizontal-gap--small);
    padding-left: var(--progress-tracker-horizontal-gap--small); }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemContent--size-small {
    width: var(--progress-tracker-horizontal-size--small); }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemContent--gap-medium {
    padding-right: var(--progress-tracker-horizontal-gap--medium);
    padding-left: var(--progress-tracker-horizontal-gap--medium); }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemContent--size-medium {
    width: var(--progress-tracker-horizontal-size--medium); }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemContent--gap-large {
    padding-right: var(--progress-tracker-horizontal-gap--large);
    padding-left: var(--progress-tracker-horizontal-gap--large); }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemContent--size-large {
    width: var(--progress-tracker-horizontal-size--large); }
.tui-progressTrackerNav__itemLabel {
  position: relative;
  width: 100%;
  margin: 0;
  padding-top: var(--gap-1);
  padding-bottom: var(--gap-1); }
  .tui-progressTrackerNav--horizontal .tui-progressTrackerNav__itemLabel {
    text-align: center; }
    .tui-progressTrackerNav__itemLabel--current .tui-formBtn, .tui-progressTrackerNav__itemLabel--current .tui-iconBtn, .tui-progressTrackerNav__itemLabel--current .tui-actionLink, .tui-progressTrackerNav__itemLabel--current .tui-toggleSwitch__btn {
      color: var(--color-state-active);
      font-weight: bold; }
.tui-progressTrackerNav__itemStatus {
  /* The use of '!important' here is an exception and should not be replicated else where */
  /* stylelint-disable declaration-no-important */
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  /* stylelint-enable */ }

:root {
  --settings-navigation-spacing: var(--gap-2);
  --settings-navigation-tree-width: 340px; }

.tui-settingsNavigation .tui-popoverPositioner {
  width: var(--settings-navigation-tree-width); }
.tui-settingsNavigation__content {
  margin: 0 var(--settings-navigation-spacing); }

.tui-settingsNavigationTree {
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none; }
  .tui-settingsNavigationTree__spacing {
    padding: var(--gap-2) 0; }
    .tui-settingsNavigationTree__popover-topBranch {
      padding-bottom: var(--gap-2);
      color: var(--color-neutral-6); }
    .tui-settingsNavigationTree__popover-contentsItem {
      margin-top: var(--gap-2);
      white-space: normal; }
    .tui-settingsNavigationTree__popover-contentsLabel {
      width: 100%;
      color: var(--color-neutral-6); }
  .tui-settingsNavigationTree__link {
    position: relative;
    left: -100%;
    width: calc(200% + var(--settings-navigation-spacing));
    padding: var(--gap-2) 0 var(--gap-2) 100%; }
    .tui-settingsNavigationTree__link:hover {
      color: var(--btn-checkbox-text-color-focus); }

:root {
  --tui-sidepanel-button-width: 30px;
  --tui-sidepanel-button-height: 66px;
  --tui-sidepanel-border-width: 1px; }

.tui-sidePanel {
  display: flex;
  align-items: flex-start;
  height: 100%;
  /* inner content alignment*/ }
  .tui-sidePanel--rtl, .dir-rtl .tui-sidePanel--ltr .tui-sidePanel {
    justify-content: flex-end; }
  .tui-sidePanel--ltr, .dir-rtl .tui-sidePanel--rtl .tui-sidePanel {
    justify-content: flex-start; }
  .tui-sidePanel--sticky {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    max-height: 100vh;
    overflow: hidden; }
    .ie .tui-sidePanel--sticky, .msedge .tui-sidePanel--sticky {
      position: relative;
      top: auto;
      max-height: initial; }
  .tui-sidePanel--sticky.tui-sidePanel--closed {
    overflow: visible;
    /**
     * Close button, somewhat complicated by the SidePanel being configurably
     * bi-directional and both of those directions also requiring RTL support
     **/ }
  .tui-sidePanel__outsideClose {
    flex-grow: 0;
    min-width: var(--tui-sidepanel-button-width);
    min-height: var(--tui-sidepanel-button-height);
    margin-bottom: -1px;
    padding: var(--gap-6) var(--gap-1);
    background-color: var(--color-neutral-3);
    border-color: var(--color-neutral-5); }
    .tui-sidePanel--sticky .tui-sidePanel__outsideClose {
      position: -webkit-sticky;
      position: sticky;
      top: calc(50% - (var(--tui-sidepanel-button-height) / 2)); }
    .ie .tui-sidePanel__outsideClose {
      /* height, position and scrolling will degrade in IE11, so the toggle*/
      /* button needs a more appropriate location than "the middle" of the*/
      /* SidePanel, which could be very tall in IE11*/
      top: auto;
      align-self: flex-start;
      max-width: var(--tui-sidepanel-button-width);
      max-height: var(--tui-sidepanel-button-height);
      margin-top: var(--gap-8); }
    .tui-sidePanel--rtl .tui-sidePanel__outsideClose, .dir-rtl .tui-sidePanel--ltr .tui-sidePanel__outsideClose {
      margin-right: -1px;
      border-right-width: 0;
      border-left-width: var(--tui-sidepanel-border-width);
      border-radius: var(--btn-radius) 0 0 var(--btn-radius); }
      .tui-sidePanel--rtl .tui-sidePanel__outsideClose:hover, .dir-rtl .tui-sidePanel--ltr .tui-sidePanel__outsideClose:hover, .tui-sidePanel--rtl .tui-sidePanel__outsideClose:active, .dir-rtl .tui-sidePanel--ltr .tui-sidePanel__outsideClose:active, .tui-sidePanel--rtl .tui-sidePanel__outsideClose:active:focus, .dir-rtl .tui-sidePanel--ltr .tui-sidePanel__outsideClose:active:focus, .tui-sidePanel--rtl .tui-sidePanel__outsideClose:active:hover, .dir-rtl .tui-sidePanel--ltr .tui-sidePanel__outsideClose:active:hover {
        border-right-width: 0;
        border-left-width: var(--tui-sidepanel-border-width);
        box-shadow: -2px 1px 4px 0 rgba(0, 0, 0, 0.2);
        /* FlexIcon*/ }
      .tui-sidePanel--rtl .tui-sidePanel__outsideClose .tui-iconBtn__icon, .dir-rtl .tui-sidePanel--ltr .tui-sidePanel__outsideClose .tui-iconBtn__icon {
        transform: rotate(90deg); }
    .tui-sidePanel--ltr .tui-sidePanel__outsideClose, .dir-rtl .tui-sidePanel--rtl .tui-sidePanel__outsideClose {
      margin-left: -1px;
      border-right-width: 1px;
      border-left-width: 0;
      border-radius: 0 var(--btn-radius) var(--btn-radius) 0; }
      .tui-sidePanel--ltr .tui-sidePanel__outsideClose:hover, .dir-rtl .tui-sidePanel--rtl .tui-sidePanel__outsideClose:hover, .tui-sidePanel--ltr .tui-sidePanel__outsideClose:active, .dir-rtl .tui-sidePanel--rtl .tui-sidePanel__outsideClose:active, .tui-sidePanel--ltr .tui-sidePanel__outsideClose:active:focus, .dir-rtl .tui-sidePanel--rtl .tui-sidePanel__outsideClose:active:focus, .tui-sidePanel--ltr .tui-sidePanel__outsideClose:active:hover, .dir-rtl .tui-sidePanel--rtl .tui-sidePanel__outsideClose:active:hover {
        border-right-width: var(--tui-sidepanel-border-width);
        border-left-width: 0;
        box-shadow: 2px 1px 4px 0 rgba(0, 0, 0, 0.2);
        /* FlexIcon*/ }
      .tui-sidePanel--ltr .tui-sidePanel__outsideClose .tui-iconBtn__icon, .dir-rtl .tui-sidePanel--rtl .tui-sidePanel__outsideClose .tui-iconBtn__icon {
        transform: rotate(-90deg);
        /**
         * A wrapper for content container, which helps with transitions on width
         * while overflowing content is still visible, and providing whitespace
         * between content and the edges of the SidePanel
         **/ }
  .tui-sidePanel__inner {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    flex-shrink: 1;
    width: 100%;
    height: 100%;
    background-color: var(--color-neutral-3);
    border: var(--tui-sidepanel-border-width) solid var(--color-neutral-5); }
    .tui-sidePanel--flush .tui-sidePanel__inner {
      border-top: none;
      border-bottom: none; }
    .ie .tui-sidePanel__inner {
      /* put the border back, it usually wouldn't reach the footer, only on really small resources, and would otherwise look chopped off */
      border-bottom: var(--tui-sidepanel-border-width) solid var(--color-neutral-5); }
    .tui-sidePanel--open.tui-sidePanel--overflows .tui-sidePanel__inner {
      overflow-y: auto; }
    .tui-sidePanel--closed .tui-sidePanel__inner {
      max-width: 1px;
      padding-right: 0;
      padding-left: 0;
      border-left: 0;
      /* we have to cut off overflow during these states otherwise we'll bump*/
      /* page scrollbars, or a containing element scrollbars*/ }
    .tui-sidePanel--closed .tui-sidePanel__inner, .tui-sidePanel--closing .tui-sidePanel__inner, .tui-sidePanel--opening .tui-sidePanel__inner {
      overflow: hidden;
      /**
       * Transitioned container for arbitrary SidePanel content
       **/ }
  .tui-sidePanel__content {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    overflow: hidden; }
    .ie .tui-sidePanel__content {
      height: 100%; }
    .tui-sidePanel--closed .tui-sidePanel__content, .tui-sidePanel--closing .tui-sidePanel__content {
      opacity: 0; }
    .tui-sidePanel--closed .tui-sidePanel__content {
      display: none; }
    .tui-sidePanel--open .tui-sidePanel__content, .tui-sidePanel--opening .tui-sidePanel__content {
      opacity: 1; }
    .tui-sidePanel--animated .tui-sidePanel__content {
      transition: opacity var(--transition-sidepanel-content-duration) var(--transition-sidepanel-content-function); }
    .tui-sidePanel--open.tui-sidePanel--overflows .tui-sidePanel__content {
      overflow-y: auto; }

.tui-sidePanelNav {
  padding: var(--gap-4) 0;
  background: var(--side-panel-nav-bg-color); }
  .tui-sidePanelNav > * + * {
    margin-top: var(--gap-7); }

.tui-sidePanelNavButtonItem {
  position: relative;
  display: flex;
  align-items: center;
  color: var(--side-panel-nav-item-text-color);
  background: var(--side-panel-nav-item-bg-color);
  border-color: var(--side-panel-nav-item-border-color);
  /* Item li*/ }
  .tui-sidePanelNavButtonItem.tui-focusWithin, .tui-sidePanelNavButtonItem:hover {
    color: var(--side-panel-nav-item-text-color-focus);
    background: var(--side-panel-nav-item-bg-color-focus);
    border-color: var(--side-panel-nav-item-border-color-focus); }
  .tui-sidePanelNavButtonItem__side {
    margin-left: auto;
    padding-right: var(--gap-4); }
  .tui-sidePanelNavButtonItem__notificationDot {
    position: absolute;
    /* The same as padding left of actioin plus another tui-gap-4 to make sure there is a padding between*/
    /* the action link and the dot.*/
    width: var(--sidepanel-navigation-item-padding-left);
    pointer-events: none; }
    .tui-sidePanelNavButtonItem__notificationDot-inner {
      display: block;
      width: 0.6rem;
      height: 0.6rem;
      margin-left: var(--gap-3);
      background-color: var(--color-prompt-alert);
      border-radius: 100%;
      /* Item link*/ }
  .tui-sidePanelNavButtonItem__action {
    flex-grow: 1;
    padding: var(--gap-2) var(--gap-4);
    padding-left: var(--sidepanel-navigation-item-padding-left);
    color: inherit;
    text-align: left;
    -ms-word-break: break-all;
    word-break: break-word; }
    .tui-sidePanelNavButtonItem__action:hover, .tui-sidePanelNavButtonItem__action:focus, .tui-sidePanelNavButtonItem__action:focus:hover {
      color: inherit; }
  .tui-sidePanelNavButtonItem--active {
    color: var(--side-panel-nav-item-text-color-selected);
    background: var(--side-panel-nav-item-bg-color-selected);
    border-color: var(--side-panel-nav-item-border-color-selected); }
    .tui-sidePanelNavButtonItem--active.tui-focusWithin, .tui-sidePanelNavButtonItem--active:hover {
      color: var(--side-panel-nav-item-text-color-selected);
      background: var(--side-panel-nav-item-bg-color-selected);
      border-color: var(--side-panel-nav-item-border-color-selected); }

.tui-sidePanelNavGroup > * + * {
  margin-top: var(--gap-2); }
.tui-sidePanelNavGroup__heading {
  display: flex;
  align-items: center;
  padding: 0 var(--gap-4);
  padding-left: var(--sidepanel-navigation-item-padding-left); }
  .tui-sidePanelNavGroup__heading-title {
    margin: 0;
    font-weight: bold;
    font-size: var(--font-size-15);
    line-height: 1.2; }
  .tui-sidePanelNavGroup__heading-side {
    margin-left: auto;
    padding-left: var(--gap-2); }
.tui-sidePanelNavGroup__items {
  margin-left: 0;
  list-style: none; }

.tui-sidePanelNavLinkItem {
  position: relative;
  display: flex;
  align-items: center;
  color: var(--side-panel-nav-item-text-color);
  background: var(--side-panel-nav-item-bg-color);
  border-color: var(--side-panel-nav-item-border-color);
  /* Item li*/ }
  .tui-sidePanelNavLinkItem.tui-focusWithin, .tui-sidePanelNavLinkItem:hover {
    color: var(--side-panel-nav-item-text-color-focus);
    background: var(--side-panel-nav-item-bg-color-focus);
    border-color: var(--side-panel-nav-item-border-color-focus); }
  .tui-sidePanelNavLinkItem__side {
    margin-left: auto;
    padding-right: var(--gap-4); }
  .tui-sidePanelNavLinkItem__notificationDot {
    position: absolute;
    /* The same as padding left of actioin plus another tui-gap-4 to make sure there is a padding between*/
    /* the action link and the dot.*/
    width: var(--sidepanel-navigation-item-padding-left);
    pointer-events: none; }
    .tui-sidePanelNavLinkItem__notificationDot-inner {
      display: block;
      width: 0.6rem;
      height: 0.6rem;
      margin-left: var(--gap-3);
      background-color: var(--color-prompt-alert);
      border-radius: 100%;
      /* Item link*/ }
  .tui-sidePanelNavLinkItem__action {
    flex-grow: 1;
    padding: var(--gap-2) var(--gap-4);
    padding-left: var(--sidepanel-navigation-item-padding-left);
    color: inherit;
    line-height: 1;
    -ms-word-break: break-all;
    word-break: break-word; }
    .tui-sidePanelNavLinkItem__action:hover, .tui-sidePanelNavLinkItem__action:focus, .tui-sidePanelNavLinkItem__action:focus:hover {
      color: inherit; }
  .tui-sidePanelNavLinkItem--active {
    color: var(--side-panel-nav-item-text-color-selected);
    background: var(--side-panel-nav-item-bg-color-selected);
    border-color: var(--side-panel-nav-item-border-color-selected); }
    .tui-sidePanelNavLinkItem--active.tui-focusWithin, .tui-sidePanelNavLinkItem--active:hover {
      color: var(--side-panel-nav-item-text-color-selected);
      background: var(--side-panel-nav-item-bg-color-selected);
      border-color: var(--side-panel-nav-item-border-color-selected); }

:root {
  --tab-border-width: 1px;
  /* Tab inner horizontal padding*/
  --tab-h-padding: var(--gap-6);
  /* Tab inner vertical padding*/
  --tab-v-padding: var(--gap-3);
  /* Size of Highlight*/
  --tab-highlight-height: var(--gap-1);
  /* Add extra spacing for drop shadow to be displayed*/
  --tab-shadow-offset: var(--gap-3);
  /* Tab small version inner horizontal padding*/
  --tab-small-h-padding: var(--gap-4);
  /* Tab small version inner vertical padding*/
  --tab-small-v-padding: var(--gap-3); }

.tui-tabs--vertical {
  display: flex;
  flex-direction: row; }
.tui-tabs__selector {
  list-style: none; }
.tui-tabs__tabs {
  display: flex;
  align-items: flex-end;
  margin: 0;
  padding: 0; }
  .tui-tabs--horizontal .tui-tabs__tabs {
    border-bottom: var(--tab-border-width) solid;
    border-bottom-color: var(--tabs-border-color); }
  .tui-tabs--vertical .tui-tabs__tabs {
    border-right: var(--tab-border-width) solid;
    border-right-color: var(--tabs-border-color); }
.tui-tabs--vertical .tui-tabs__tabs {
  flex-direction: column;
  align-items: stretch; }
.tui-tabs__tab {
  display: block;
  overflow: hidden;
  pointer-events: none; }
  .tui-tabs--horizontal .tui-tabs__tab {
    margin: calc(var(--tab-shadow-offset) * -1);
    margin-bottom: calc(var(--tab-border-width) * -1);
    padding: var(--tab-shadow-offset);
    padding-bottom: var(--tab-border-width); }
  .tui-tabs--vertical .tui-tabs__tab {
    max-width: 220px;
    margin-right: calc(var(--tab-border-width) * -1);
    margin-bottom: calc(var(--tab-shadow-offset) * -1);
    padding-right: var(--tab-border-width);
    padding-bottom: var(--tab-shadow-offset); }
  .tui-tabs__tab--hidden {
    display: none; }
a.tui-tabs__link {
  color: var(--color-state);
  font-size: var(--font-size-16);
  line-height: 1.33;
  cursor: pointer;
  display: flex;
  padding: var(--tab-v-padding) var(--tab-h-padding);
  color: var(--tabs-text-color);
  text-decoration: none;
  border: var(--tab-border-width) solid;
  border-color: transparent;
  pointer-events: auto; }
  a.tui-tabs__link:hover, a.tui-tabs__link:focus {
    color: var(--color-state-hover); }
  a.tui-tabs__link:active, a.tui-tabs__link:active:hover, a.tui-tabs__link:active:focus {
    color: var(--color-state-active); }
  a.tui-tabs__link:hover {
    color: var(--tabs-text-color-focus);
    background: var(--tabs-bg-color-focus); }
  a.tui-tabs__link:focus {
    color: var(--tabs-text-color-focus);
    background: var(--tabs-bg-color-focus);
    outline: dashed 1px var(--color-state-focus);
    outline-offset: -0.75rem; }
  a.tui-tabs__link:active, a.tui-tabs__link:active:focus, a.tui-tabs__link:active:hover {
    color: var(--tabs-text-color-active);
    outline: none; }
  .tui-tabs--horizontal a.tui-tabs__link {
    margin-top: var(--tab-highlight-height);
    /* overlap edges to avoid double border*/
    margin-right: calc(var(--tab-border-width) * -1);
    border-bottom: none; }
  .tui-tabs--vertical a.tui-tabs__link {
    /* overlap edges to avoid double border*/
    margin-bottom: calc(var(--tab-border-width) * -1);
    margin-left: var(--tab-highlight-height);
    border-right: none; }
.tui-tabs__tab--disabled a.tui-tabs__link {
  color: var(--tabs-text-color-disabled);
  cursor: default;
  pointer-events: none; }
.tui-tabs__tab--active a.tui-tabs__link {
  position: relative;
  color: var(--tabs-text-color-selected);
  background: var(--tabs-bg-color-selected); }
  .tui-tabs--horizontal .tui-tabs__tab--active a.tui-tabs__link {
    top: var(--tab-border-width);
    padding-top: calc(var(--tab-v-padding) - var(--tab-border-width));
    padding-bottom: calc(var(--tab-v-padding) + var(--tab-border-width));
    border-color: var(--tabs-border-color);
    box-shadow: var(--shadow-3); }
  .tui-tabs--vertical .tui-tabs__tab--active a.tui-tabs__link {
    left: var(--tab-border-width);
    padding-right: calc(var(--tab-v-padding) + var(--tab-border-width));
    padding-left: calc(var(--tab-h-padding) - var(--tab-border-width));
    border-color: var(--tabs-border-color);
    box-shadow: var(--shadow-2); }
  .tui-tabs__tab--active a.tui-tabs__link::after {
    position: absolute;
    background: var(--tabs-selected-bar-color);
    content: ''; }
    .tui-tabs--horizontal .tui-tabs__tab--active a.tui-tabs__link::after {
      top: calc(var(--tab-highlight-height) * -1);
      right: 0;
      left: -1px;
      width: calc(100% + 2px);
      height: var(--tab-highlight-height); }
    .tui-tabs--vertical .tui-tabs__tab--active a.tui-tabs__link::after {
      top: 0;
      bottom: 0;
      left: calc(var(--tab-border-width) * -2);
      width: var(--tab-highlight-height);
      height: calc(100% + 1px); }
.tui-tabs__tabLabel {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }

.tui-tabs {
  /* Small tab*/ }
  .tui-tabs--horizontal .tui-tabs__tab--small .tui-tabs__link {
    font-weight: normal;
    font-size: var(--font-size-13);
    line-height: 1.15;
    padding: var(--tab-small-v-padding) var(--tab-small-h-padding);
    /* Active small tab*/ }
.tui-tabs--horizontal .tui-tabs__tab--active.tui-tabs__tab--small .tui-tabs__link {
  padding-top: calc(var(--tab-small-v-padding) - var(--tab-border-width));
  /* prettier-ignore*/
  padding-bottom: calc(var(--tab-small-v-padding) + var(--tab-border-width));
  color: var(--tabs-text-color-selected);
  /* Disabled small tab*/ }
.tui-tabs--horizontal .tui-tabs__tab--disabled.tui-tabs__tab--small .tui-tabs__link {
  color: var(--tabs-text-color-disabled);
  cursor: default;
  pointer-events: none; }

.tui-tabs--horizontal .tui-tabContent {
  padding-top: var(--gap-4); }
.tui-tabs--horizontal.tui-tabs--contentSpacing-large .tui-tabContent {
  padding-top: var(--gap-8); }
.tui-tabs--vertical .tui-tabContent {
  padding-left: var(--gap-4); }
.tui-tabs--vertical.tui-tabs--contentSpacing-large .tui-tabContent {
  padding-left: var(--gap-8); }

.tui-tag {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  height: var(--tag-height);
  white-space: nowrap;
  background-color: var(--tag-bg-color);
  border: var(--border-width-thin) solid var(--tag-border-color);
  border-radius: var(--tag-border-radius); }
  .tui-tag__content {
    padding: 0 var(--gap-2);
    font-size: var(--font-size-13); }
    .tui-tag__content--withButton {
      padding-right: 0;
      color: var(--tag-button-color); }
  .tui-tag--primary {
    text-transform: uppercase;
    background-color: var(--color-state); }
  .tui-tag--primary .tui-tag__content {
    color: var(--color-neutral-1); }

.tui-tagList {
  display: flex;
  align-items: flex-start;
  min-width: 230px;
  padding: var(--gap-2);
  border: var(--border-width-thin) solid var(--form-input-border-color); }
  .tui-tagList__tags {
    display: flex;
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: calc(var(--tag-height) + (2 * var(--border-width-thin))); }
  .tui-tagList__tagItems {
    display: flex;
    flex-grow: 1;
    align-items: center;
    min-width: 0; }
    .tui-tagList__tagItems--open {
      flex-wrap: wrap; }
    .tui-tagList__tagItems > * {
      margin-right: var(--gap-1);
      margin-bottom: 0.2rem; }
  .tui-tagList__suffix {
    font-weight: normal;
    font-size: var(--font-size-13);
    line-height: 1.15;
    flex-shrink: 0;
    padding-right: var(--gap-2);
    padding-left: var(--gap-1);
    color: var(--color-state);
    white-space: nowrap; }
    .tui-tagList__suffix:hover {
      cursor: pointer; }
  .tui-tagList__input {
    flex-grow: 1;
    margin: -2px 0; }
  .tui-tagList__expandArrow {
    height: calc(var(--tag-height) + (2 * var(--border-width-thin))); }
  .tui-tagList__caret {
    fill: var(--color-neutral-7); }
  .tui-tagList__loading {
    margin: var(--gap-4); }

.tui-settingsFormBrand__testEmailInfoButton {
  align-self: center; }

.tui-toggleBtn {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  min-width: var(--gap-12);
  max-width: 100%;
  height: var(--form-input-height);
  padding: 0 var(--gap-2);
  color: var(--toggle-btn-text-color);
  font-size: var(--form-input-font-size);
  line-height: 1.2;
  background: var(--toggle-btn-bg-color);
  border: none;
  border-radius: calc(var(--btn-radius) - 1px); }
  .tui-toggleBtn:focus, .tui-toggleBtn:hover {
    color: var(--toggle-btn-text-color-focus);
    text-decoration: none;
    background: var(--toggle-btn-bg-color-focus);
    box-shadow: none; }
  .tui-toggleBtn:active, .tui-toggleBtn:active:focus, .tui-toggleBtn:active:hover {
    color: var(--toggle-btn-text-color-active);
    text-decoration: none;
    background: var(--toggle-btn-bg-color-active);
    border: none;
    box-shadow: none; }
  .tui-toggleBtn:active:focus, .tui-toggleBtn:focus {
    outline: 1px dashed var(--toggle-btn-text-color-active);
    outline-offset: -3px; }
  .tui-toggleBtn[disabled] {
    color: var(--toggle-btn-text-color-disabled);
    background: var(--toggle-btn-bg-color-disabled);
    cursor: default; }
    .tui-toggleBtn[disabled]:focus, .tui-toggleBtn[disabled]:hover, .tui-toggleBtn[disabled]:active, .tui-toggleBtn[disabled]:active:focus, .tui-toggleBtn[disabled]:active:hover {
      color: var(--toggle-btn-text-color-disabled);
      background: var(--toggle-btn-bg-color-disabled); }
  .tui-toggleBtn--selected {
    color: var(--toggle-btn-text-color-selected);
    background: var(--toggle-btn-bg-color-selected);
    cursor: default; }
    .tui-toggleBtn--selected:focus, .tui-toggleBtn--selected:hover, .tui-toggleBtn--selected:active, .tui-toggleBtn--selected:active:focus, .tui-toggleBtn--selected:active:hover {
      color: var(--toggle-btn-text-color-selected);
      background: var(--toggle-btn-bg-color-selected); }
    .tui-toggleBtn--selected:active:focus, .tui-toggleBtn--selected:focus {
      outline: 1px dashed var(--toggle-btn-text-color-selected);
      outline-offset: -3px; }
  .tui-toggleBtn[disabled].tui-toggleBtn--selected {
    color: var(--toggle-btn-text-color-selected);
    background: var(--toggle-btn-bg-color-selected); }
    .tui-toggleBtn[disabled].tui-toggleBtn--selected:focus, .tui-toggleBtn[disabled].tui-toggleBtn--selected:hover, .tui-toggleBtn[disabled].tui-toggleBtn--selected:active, .tui-toggleBtn[disabled].tui-toggleBtn--selected:active:focus, .tui-toggleBtn[disabled].tui-toggleBtn--selected:active:hover {
      color: var(--toggle-btn-text-color-selected);
      background: var(--toggle-btn-bg-color-selected); }
  .tui-toggleBtn--hasText {
    min-width: 70px; }
    .tui-toggleBtn--hasText .tui-toggleBtn__icon {
      font-size: var(--font-size-14); }
  .tui-toggleBtn--large {
    min-width: 10rem;
    min-height: 4.6rem; }
    .tui-toggleBtn--large .tui-toggleBtn__content {
      flex-direction: column; }
      .tui-toggleBtn--large .tui-toggleBtn__content > * + * {
        margin-top: var(--gap-1); }
  .tui-toggleBtn__content {
    display: inline-flex;
    align-items: center; }
  .tui-toggleBtn__icon {
    position: relative;
    top: 1px;
    display: flex;
    flex-shrink: 0;
    font-size: var(--font-size-15); }
  .tui-toggleBtn__text {
    padding: 0 var(--gap-1); }

.tui-toggleSet {
  display: inline-flex;
  max-width: 100%;
  padding: 1px;
  background: var(--toggle-bg-color);
  border-radius: var(--btn-radius); }
  .tui-toggleSet--disabled {
    opacity: 0.4; }
  .tui-toggleSet--select {
    width: 100%;
    background: transparent; }
  .tui-toggleSet--large {
    padding: 2px; }

:root {
  --form-toggle-color: var(--color-neutral-7);
  --form-toggle-dot-size: 1.6rem;
  --form-toggle-container-width: 4rem;
  --form-toggle-container-height: 2rem;
  --form-toggle-container-radius: 1rem;
  --form-toggle-text-offset: var(--gap-2);
  --form-toggle-dot-offset: 0.2rem;
  --form-toggle-bottom: 1.8rem;
  --form-toggle-focus-border: var(--border-width-normal);
  --form-toggle-focus-gap: 0.1rem; }

.tui-toggleSwitch {
  display: flex;
  align-items: center; }
  .tui-toggleSwitch__btn {
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/
    /* stylelint-disable-next-line tui/at-extend-only-placeholders*/
    color: var(--form-toggle-color); }
    .tui-toggleSwitch__btn:focus, .tui-toggleSwitch__btn:active:focus {
      color: var(--form-toggle-color);
      outline: none; }
    .tui-toggleSwitch__btn:hover {
      color: var(--form-toggle-color); }
    .tui-toggleSwitch__btn[disabled] {
      opacity: 0.4; }
    .tui-toggleSwitch__btn-text {
      position: relative;
      /* toggle size and shape*/ }
  .tui-toggleSwitch__ui {
    position: relative;
    width: var(--form-toggle-container-width);
    margin-left: var(--form-toggle-text-offset);
    /* prettier-ignore*/
    padding: calc(var(--form-toggle-focus-gap) + var(--form-toggle-focus-border)); }
    .tui-toggleSwitch__ui--toggleOnly {
      margin-left: calc(-1 * (var(--form-toggle-focus-gap) + var(--form-toggle-focus-border)));
      /* the toggle background*/ }
    .tui-toggleSwitch__ui:before {
      display: block;
      height: var(--form-toggle-container-height);
      border-radius: var(--form-toggle-container-radius);
      transition: background-color var(--transition-button-duration) var(--transition-button-function), border-color var(--transition-button-duration) var(--transition-button-function);
      content: ''; }
      .tui-contextInvalid .tui-toggleSwitch__ui:before {
        box-shadow: 0 0 0 2px var(--form-input-border-color-invalid);
        /* the toggle dot*/ }
    .tui-toggleSwitch__ui:after {
      position: absolute;
      /* prettier-ignore*/
      top: calc(var(--form-toggle-dot-offset) + calc(var(--form-toggle-focus-gap) + var(--form-toggle-focus-border)));
      /* prettier-ignore*/
      left: calc(var(--form-toggle-dot-offset) + calc(var(--form-toggle-focus-gap) + var(--form-toggle-focus-border)));
      display: block;
      width: var(--form-toggle-dot-size);
      height: var(--form-toggle-dot-size);
      border-radius: 50%;
      box-shadow: var(--shadow-2);
      content: ''; }
    .tui-toggleSwitch__ui:hover, .tui-toggleSwitch__ui:focus {
      cursor: pointer; }
    .tui-toggleSwitch__ui[disabled] {
      opacity: 0.4;
      /* toggled off*/
      /* the toggle background*/ }
    .tui-toggleSwitch__ui:before {
      background-color: var(--form-toggle-off-bg-color);
      border: var(--form-input-border-size) solid;
      border-color: var(--form-toggle-border-color);
      /* the toggle dot*/ }
    .tui-toggleSwitch__ui:after {
      background-color: var(--form-toggle-dot-color); }
      .tui-toggleSwitch__ui:hover:before, .tui-toggleSwitch__ui:focus:before {
        background-color: var(--form-toggle-off-bg-color-hover-focus);
        /* toggled off, via the button*/ }
  .tui-toggleSwitch__btn:hover ~ .tui-toggleSwitch__ui, .tui-toggleSwitch__btn:focus ~ .tui-toggleSwitch__ui {
    padding: var(--form-toggle-focus-gap);
    border: var(--form-toggle-focus-border) solid transparent;
    /* prettier-ignore*/
    border-radius: calc(calc(var(--form-toggle-container-radius) + var(--form-toggle-focus-gap)) + var(--form-toggle-focus-border)); }
    .tui-toggleSwitch__btn:hover ~ .tui-toggleSwitch__ui:after, .tui-toggleSwitch__btn:focus ~ .tui-toggleSwitch__ui:after {
      /* prettier-ignore*/
      top: calc(var(--form-toggle-dot-offset) + var(--form-toggle-focus-gap));
      /* prettier-ignore*/
      left: calc(var(--form-toggle-dot-offset) + var(--form-toggle-focus-gap)); }
  .tui-toggleSwitch__btn:focus ~ .tui-toggleSwitch__ui {
    border: var(--form-toggle-focus-border) solid var(--color-state);
    /* toggled on*/ }
  .tui-toggleSwitch__btn[aria-pressed] ~ .tui-toggleSwitch__ui {
    /* the dot*/ }
    .tui-toggleSwitch__btn[aria-pressed] ~ .tui-toggleSwitch__ui:after {
      /* prettier-ignore*/
      right: calc(var(--form-toggle-dot-offset) + calc(var(--form-toggle-focus-gap) + var(--form-toggle-focus-border)));
      left: auto;
      /* the toggle background*/ }
    .tui-toggleSwitch__btn[aria-pressed] ~ .tui-toggleSwitch__ui:before {
      background-color: var(--form-toggle-on-bg-color);
      border-color: var(--form-toggle-on-border-color); }
      .tui-toggleSwitch__btn[aria-pressed] ~ .tui-toggleSwitch__ui:hover:before, .tui-toggleSwitch__btn[aria-pressed] ~ .tui-toggleSwitch__ui:focus:before {
        background-color: var(--form-toggle-on-bg-color-hover-focus);
        /* toggled on, via the button*/ }
  .tui-toggleSwitch__btn[aria-pressed]:hover ~ .tui-toggleSwitch__ui:after, .tui-toggleSwitch__btn[aria-pressed]:focus ~ .tui-toggleSwitch__ui:after {
    /* prettier-ignore*/
    right: calc(var(--form-toggle-dot-offset) + var(--form-toggle-focus-gap));
    /* toggle on the left, text on the right*/ }
.tui-toggleSwitch--left .tui-toggleSwitch__ui {
  order: 1;
  margin-right: var(--form-toggle-text-offset);
  margin-left: 0; }
.tui-toggleSwitch--left .tui-toggleSwitch__btn {
  order: 2; }
.tui-toggleSwitch--left .tui-toggleSwitch__icon {
  order: 3; }

.tui-tree {
  list-style: none; }

.tui-treeNode {
  display: flex;
  align-items: baseline;
  width: 100%;
  padding: 1px 0; }
  .tui-treeNode--noPadding {
    padding: 0; }
  .tui-treeNode--top {
    position: relative;
    padding: var(--gap-2) 0; }
    .tui-treeNode--separator:after {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      border-bottom: var(--border-width-thin) solid var(--color-neutral-5);
      content: ''; }
  .tui-treeNode__content {
    width: 100%;
    min-width: 0;
    padding-left: calc(var(--gap-1) / 2); }
  .tui-treeNode__trigger {
    position: relative;
    top: calc(var(--gap-1) / 2);
    z-index: 1;
    height: 1em; }
    .tui-treeNode__trigger-btn {
      left: calc(var(--gap-1) / 2 * -1);
      padding: 0 var(--gap-1); }
      .tui-treeNode__trigger--top .tui-treeNode__trigger-btn {
        left: 0; }
    .tui-treeNode__trigger--spacing {
      padding-left: var(--gap-6); }
  .tui-treeNode__bar {
    display: flex;
    width: 100%;
    min-width: 0; }
    .tui-treeNode__bar > * + * {
      margin-left: var(--gap-2); }
    .tui-treeNode__bar-btn {
      flex-grow: 0;
      flex-shrink: 1;
      line-height: 1.2;
      text-align: left;
      -ms-word-break: break-all;
      word-break: break-word; }
    .tui-treeNode__bar-label, .tui-treeNode__bar-link {
      font-weight: bold;
      font-size: var(--font-size-15);
      line-height: 1.2;
      margin: 0;
      -ms-word-break: break-all;
      word-break: break-word;
      -webkit-hyphens: none;
      -ms-hyphens: none;
      hyphens: none; }
    .tui-treeNode__bar-side {
      flex-shrink: 0;
      margin-left: auto; }
  .tui-treeNode__child {
    margin: 0;
    padding-top: var(--gap-3);
    list-style: none; }
    .tui-treeNode__child--noPadding {
      padding-top: 0; }

.tui-formField {
  flex-grow: 1;
  width: 100%;
  min-width: 0; }
  .tui-formField--charLength-2 {
    max-width: calc(2 * var(--form-input-font-size)); }
  .tui-formField--charLength-3 {
    max-width: calc(3 * var(--form-input-font-size)); }
  .tui-formField--charLength-4 {
    max-width: calc(4 * var(--form-input-font-size)); }
  .tui-formField--charLength-5 {
    max-width: calc(5 * var(--form-input-font-size)); }
  .tui-formField--charLength-10 {
    max-width: calc(10 * var(--form-input-font-size)); }
  .tui-formField--charLength-15 {
    max-width: calc(15 * var(--form-input-font-size)); }
  .tui-formField--charLength-20 {
    max-width: calc(20 * var(--form-input-font-size)); }
  .tui-formField--charLength-25 {
    max-width: calc(25 * var(--form-input-font-size)); }
  .tui-formField--charLength-30 {
    max-width: calc(30 * var(--form-input-font-size)); }
  .tui-formField--charLength-50 {
    max-width: calc(50 * var(--form-input-font-size)); }
  .tui-formField--charLength-75 {
    max-width: calc(75 * var(--form-input-font-size)); }
  .tui-formField--charLength-100 {
    max-width: calc(100 * var(--form-input-font-size));
    /* Set a custom size for inputs in a limited form*/ }
  .tui-form--inputWidth-limited .tui-formField:not(.tui-input--customSize) {
    max-width: var(--form-input-limited-width); }
    .tui-form--inputWidth-limited .tui-inputSet--split .tui-formField:not(.tui-input--customSize) {
      max-width: none; }

.tui-themeSettings__content {
  margin-top: var(--gap-8); }
  .tui-themeSettings__forms > * + * {
    margin-top: var(--gap-8); }

.tui-themeTenants__content {
  margin-top: var(--gap-8); }
.tui-themeTenants__section + .tui-themeTenants__section {
  margin-top: var(--gap-12); }
  .tui-themeTenants__section > * + * {
    margin-top: var(--gap-4); }
/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvdHVpX3NpemVzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL3R1aV9zcGFjaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL3R1aV9ib3JkZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL3R1aV9idXR0b25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL3R1aV9jb2xvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvY29sb3JzL2Fycm93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL2NvbG9ycy9mb3Jtcy5zY3NzIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9nbG9iYWxfc3R5bGVzL3ZhcmlhYmxlcy9jb2xvcnMvYXZhdGFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL2NvbG9ycy9kcm9wZG93bi5zY3NzIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9nbG9iYWxfc3R5bGVzL3ZhcmlhYmxlcy9jb2xvcnMvZGF0YXRhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL2NvbG9ycy90YWJzLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL2NvbG9ycy9jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL2NvbG9ycy9jaGFydHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvY29sb3JzL2ZpbHRlcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvY29sb3JzL3RhZ3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvY29sb3JzL3Byb2dyZXNzYmFyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL2NvbG9ycy9jb2xsYXBzaWJsZS5zY3NzIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9nbG9iYWxfc3R5bGVzL3ZhcmlhYmxlcy9jb2xvcnMvcHJvZ3Jlc3N0cmFja2VyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL2NvbG9ycy9zaWRlX3BhbmVsX25hdi5zY3NzIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9nbG9iYWxfc3R5bGVzL3ZhcmlhYmxlcy9jb2xvcnMvdG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL2NvbG9ycy9ub3RpZmljYXRpb250b2FzdC5zY3NzIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9nbG9iYWxfc3R5bGVzL3ZhcmlhYmxlcy90dWlfc2hhZG93cy5zY3NzIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9nbG9iYWxfc3R5bGVzL3ZhcmlhYmxlcy90dWlfc2lkZV9wYW5lbF9uYXYuc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvdHVpX3Byb2dyZXNzX3RyYWNrZXJfbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL3R1aV9hbmltYXRpb25zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL3R1aV9tb2RhbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvdHVpX2VtYmVkcy5zY3NzIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9nbG9iYWxfc3R5bGVzL3ZhcmlhYmxlcy90dWlfZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvdHVpX3NlcGFyYXRvcnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvdHVpX3RhZ3Muc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvdHVpX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvZ2xvYmFsX3N0eWxlcy92YXJpYWJsZXMvdHVpX3ppbmRleC5zY3NzIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9nbG9iYWxfc3R5bGVzL3N0YXRpYy5zY3NzIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2FkZGVyL0FkZGVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9hZGRlci9IaWVyYXJjaGljYWxQYXJlbnRCdXR0b24udnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2F2YXRhci9BdmF0YXIudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2Jhc2tldC9CYXNrZXQudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2J1dHRvbnMvQnV0dG9uLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9idXR0b25zL0J1dHRvbkdyb3VwLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9idXR0b25zL0J1dHRvbkljb24udnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2J1dHRvbnMvSW5mb0ljb25CdXR0b24udnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2J1dHRvbnMvTGFiZWxsZWRCdXR0b25UcmlnZ2VyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9jYXJkL0FjdGlvbkNhcmQudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2NhcmQvQ2FyZC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvY29sbGFwc2libGUvQ29sbGFwc2libGUudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2NvbGxhcHNpYmxlL0NvbGxhcHNpYmxlR3JvdXBUb2dnbGUudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2NvbGxhcHNpYmxlL0hpZGVTaG93LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9kYXRhdGFibGUvQ2VsbC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZGF0YXRhYmxlL0V4cGFuZENlbGwudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2RhdGF0YWJsZS9FeHBhbmRlZFJvdy52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZGF0YXRhYmxlL0hlYWRlckNlbGwudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2RhdGF0YWJsZS9IZWFkZXJSb3cudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2RhdGF0YWJsZS9Sb3cudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2RhdGF0YWJsZS9Sb3dHcm91cC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZGF0YXRhYmxlL1NlbGVjdEV2ZXJ5Um93VG9nZ2xlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9kYXRhdGFibGUvU2VsZWN0Um93Q2VsbC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZGF0YXRhYmxlL1NlbGVjdFZpc2libGVSb3dzQ2VsbC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZGF0YXRhYmxlL1RhYmxlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9kZWNvci9BbmRCb3gudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2RlY29yL0Fycm93LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9kZWNvci9DYXJldC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZGVjb3IvT3JCb3gudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2RlY29yL1NlcGFyYXRvci52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZGV2L3BlcmZvcm1hbmNlL1BlcmZvcm1hbmNlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9kcmFnX2Ryb3AvRHJhZ2dhYmxlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9kcmFnX2Ryb3AvRHJhZ2dhYmxlTW92ZU1lbnUudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2RyYWdfZHJvcC9Ecm9wcGFibGUudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2Ryb3Bkb3duL0Ryb3Bkb3duLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9kcm9wZG93bi9Ecm9wZG93bkJ1dHRvbi52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vRHJvcGRvd25Hcm91cC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZHJvcGRvd24vRHJvcGRvd25JdGVtLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9lZGl0b3IvRWRpdG9yTG9hZGluZy52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZWRpdG9yL0VkaXRvclRleHRhcmVhLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9lbWJlZHMvUmVzcG9uc2l2ZUVtYmVkSWZyYW1lLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9lcnJvcnMvRXJyb3JNb2RhbC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZXJyb3JzL0Vycm9yUGFnZVJlbmRlci52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZXJyb3JzL1Nlc3Npb25FeHBpcmVkTW9kYWwudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2ZpbGUvRmlsZUNhcmQudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2ZpbHRlcnMvQnV0dG9uRmlsdGVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9maWx0ZXJzL0ZpbHRlckJhci52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZmlsdGVycy9GaWx0ZXJTaWRlUGFuZWwudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2ZpbHRlcnMvTXVsdGlTZWxlY3RGaWx0ZXIudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2ZpbHRlcnMvU2VhcmNoRmlsdGVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9maWx0ZXJzL1NlbGVjdEZpbHRlci52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9DaGVja2JveC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9DaGVja2JveEJ1dHRvbi52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9DaGVja2JveEdyb3VwLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9mb3JtL0RhdGVTZWxlY3Rvci52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9GaWVsZEVycm9yLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9mb3JtL0ZpZWxkR3JvdXAudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2Zvcm0vRmllbGRzZXQudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2Zvcm0vRm9ybVJvdy52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2dsb2JhbF9zdHlsZXMvdmFyaWFibGVzL3R1aV9sYXlvdXQuc2NzcyIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9mb3JtL0Zvcm1Sb3dEZWZhdWx0cy52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9Gb3JtUm93RGV0YWlscy52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9IZWxwSWNvbi52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9JbWFnZVVwbG9hZC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9JbnB1dC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9JbnB1dENvbG9yLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9mb3JtL0lucHV0U2V0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9mb3JtL0lucHV0U2l6ZWRUZXh0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9mb3JtL0xhYmVsLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9mb3JtL05vdGVwYWRMaW5lcy52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9SYWRpby52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9SYWRpb0RhdGVSYW5nZUlucHV0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9mb3JtL1JhZGlvR3JvdXAudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2Zvcm0vUmFkaW9OdW1iZXJJbnB1dC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9SYWRpb1dpdGhJbnB1dC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9SYW5nZS52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9SZXBlYXRlci52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvZm9ybS9TZWFyY2hCb3gudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2Zvcm0vU2VsZWN0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9mb3JtL1RleHRhcmVhLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9ncmlkL0dyaWQudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2ljb25zL0xvYWRpbmcudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2ljb25zL2ltcGxlbWVudGF0aW9uL1N2Z0ljb25XcmFwLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9pbWFnZXMvUmVzcG9uc2l2ZUltYWdlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9qc29uX2VkaXRvci9ub2Rlcy9BdHRhY2htZW50Tm9kZUNvbGxlY3Rpb24udnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2pzb25fZWRpdG9yL25vZGVzL0F1ZGlvQmxvY2sudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2pzb25fZWRpdG9yL25vZGVzL0Vtb2ppLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9qc29uX2VkaXRvci9ub2Rlcy9IYXNodGFnLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9qc29uX2VkaXRvci9ub2Rlcy9JbWFnZUJsb2NrLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9qc29uX2VkaXRvci9ub2Rlcy9MaW5rQmxvY2sudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2pzb25fZWRpdG9yL25vZGVzL01lbnRpb24udnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2pzb25fZWRpdG9yL25vZGVzL1ZpZGVvQmxvY2sudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2xheW91dHMvTGF5b3V0T25lQ29sdW1uLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9sYXlvdXRzL0xheW91dFRocmVlQ29sdW1uLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9sYXlvdXRzL0xheW91dFR3b0NvbHVtbi52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvbGF5b3V0cy9QYWdlQmFja0xpbmsudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2xheW91dHMvUGFnZUhlYWRpbmcudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2xpbmtzL0FjdGlvbkxpbmsudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2xpbmtzL1NraXBUb0NvbnRlbnQudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2xvYWRpbmcvQ29tcG9uZW50TG9hZGluZy52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvbG9hZGluZy9Mb2FkZXIudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL2xvYWRpbmcvU2tlbGV0b25Db250ZW50LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9sb3plbmdlL0xvemVuZ2UudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL21vZGFsL01vZGFsLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9tb2RhbC9Nb2RhbENvbnRlbnQudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uQmFubmVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblRvYXN0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9ub3RpZmljYXRpb25zL1RvYXN0Q29udGFpbmVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9vdmVyZmxvd19jb250YWluZXIvT3ZlcmZsb3dDb250YWluZXIudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3BhZ2luZy9QYWdpbmcudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3BvcG92ZXIvUG9wb3ZlckZyYW1lLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9wb3BvdmVyL1BvcG92ZXJQb3NpdGlvbmVyLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9wcm9maWxlL01pbmlQcm9maWxlQ2FyZC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3MvUHJvZ3Jlc3MudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3Byb2dyZXNzdHJhY2tlci9Qcm9ncmVzc1RyYWNrZXIudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3Byb2dyZXNzdHJhY2tlci9Qcm9ncmVzc1RyYWNrZXJDaXJjbGUudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3Byb2dyZXNzdHJhY2tlci9Qcm9ncmVzc1RyYWNrZXJOYXYudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3Byb2dyZXNzdHJhY2tlci9Qcm9ncmVzc1RyYWNrZXJOYXZDaXJjbGVBY2hpZXZlbWVudC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3N0cmFja2VyL1Byb2dyZXNzVHJhY2tlck5hdkNpcmNsZVdvcmtmbG93LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy9wcm9ncmVzc3RyYWNrZXIvUHJvZ3Jlc3NUcmFja2VyTmF2SXRlbS52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvc2V0dGluZ3NfbmF2aWdhdGlvbi9TZXR0aW5nc05hdmlnYXRpb24udnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3NldHRpbmdzX25hdmlnYXRpb24vU2V0dGluZ3NOYXZpZ2F0aW9uVHJlZS52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvc2lkZXBhbmVsL1NpZGVQYW5lbC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvc2lkZXBhbmVsL1NpZGVQYW5lbE5hdi52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvc2lkZXBhbmVsL1NpZGVQYW5lbE5hdkJ1dHRvbkl0ZW0udnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3NpZGVwYW5lbC9TaWRlUGFuZWxOYXZHcm91cC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvc2lkZXBhbmVsL1NpZGVQYW5lbE5hdkxpbmtJdGVtLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy90YWJzL1RhYnMudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3RhZy9UYWcudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9jb21wb25lbnRzL3RhZy9UYWdMaXN0LnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy90aGVtZV9zZXR0aW5ncy9TZXR0aW5nc0Zvcm1CcmFuZC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvdG9nZ2xlL1RvZ2dsZUJ1dHRvbi52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvdG9nZ2xlL1RvZ2dsZVNldC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvdG9nZ2xlL1RvZ2dsZVN3aXRjaC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL2NvbXBvbmVudHMvdHJlZS9UcmVlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy90cmVlL1RyZWVOb2RlLnZ1ZSIsIndlYnBhY2s6Ly8vLi9jbGllbnQvY29tcG9uZW50L3R1aS9zcmMvY29tcG9uZW50cy91bmlmb3JtL0Zvcm1GaWVsZC52dWUiLCJ3ZWJwYWNrOi8vLy4vY2xpZW50L2NvbXBvbmVudC90dWkvc3JjL3BhZ2VzL1RoZW1lU2V0dGluZ3MudnVlIiwid2VicGFjazovLy8uL2NsaWVudC9jb21wb25lbnQvdHVpL3NyYy9wYWdlcy9UaGVtZVRlbmFudHMudnVlIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MERBZ0JBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozt1QkFBQSxFQ0VBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7OztnQ0FBQSxFQ0ZBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7O29EQUFBLEVDQUE7QUFBQTtBQUFBO0FBQUE7OzsyQkFBQSxFQ0FBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztzQ0FBQSxFQ0FBO0FBQUE7QUFBQTtBQUFBOytDQUFBLEVDQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7cURBQUEsRUNBQTtBQUFBO0FBQUE7QUFBQSw4Q0FBQSxFQ0FBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozt1REFBQSxFQ0FBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztrRUFBQSxFQ0FBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7dURBQUEsRUNBQTtBQUFBO0FBQUE7QUFBQSw4Q0FBQSxFQ0FBO0FBQUE7QUFBQTtBQUFBLHVEQUFBLEVDQUE7QUFBQTtBQUFBO0FBQUE7OzJEQUFBLEVDQUE7QUFBQTtBQUFBO0FBQUE7Ozs2Q0FBQSxFQ0FBO0FBQUE7QUFBQTtBQUFBOzs7O3NEQUFBLEVDQUE7QUFBQTtB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S0E7QUFBQTtBQUFBLHNEQUFBLEVBSUE7QUFBQTtBQUFBLHNEQUFBLEVBSUE7QUFBQTtBQUFBLHNEQUFBLEVBS0E7QUFBQTtBQUFBOzswREFBQSxFQUtBO0FBQUE7QUFBQSxtREFBQSxFQUlBO0FBQUE7QUFBQSxtREFBQSxFQUlBO0FBQUE7QUFBQSxtREFBQSxFQ3hKQTtBQUFBO0FBQUE7QUFBQSxxQkFBQSxFdkVoRkE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBO3VEQUFBLEVBUUE7QUFBQTtBQUFBLCtDQUFBLEVBSUE7QUFBQTtBQUFBO2lEQUFBLEV1RTBFQTtBQUFBO0FBQUE7O2VBQUEsRUFLQTtBQUFBO0FBQUE7O3VDQUFBLEVBT0E7QUFBQTtBQUFBOzs7Ozs7OzhDQUFBLEVBVUE7QUFBQTtBQUFBLDBCQUFBLEVBS0E7QUFBQTtBQUFBLG9EQUFBLEVDN0VBO0FBQUE7QUFBQTtBQUFBO2VBQUEsRXhFcENBO0FBQUE7QUFBQSxxREFBQSxFQUFBO0FBQUE7QUFBQSxxREFBQSxFQUFBO0FBQUE7QUFBQSxxREFBQSxFQUFBO0FBQUE7QUFBQSxxREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQTt1REFBQSxFQVFBO0FBQUE7QUFBQSwrQ0FBQSxFQUlBO0FBQUE7QUFBQTs7aUdBQUEsRXdFZ0NBO0FBQUE7QUFBQTs7OztzREFBQSxFQU1BO0FBQUE7QUFBQSw2QkFBQSxFQUlBO0FBQUE7QUFBQTtzQkFBQSxFQUtBO0FBQUE7QUFBQSxpREFBQSxFQUtBO0FBQUE7QUFBQSxpQkFBQSxFQUlBO0FBQUE7QUFBQTt3RUFBQSxFQUdBO0FBQUE7QUFBQSxvQkFBQSxFQU1BO0FBQUE7QUFBQTs7OzBFQUFBLEVBeERBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzswRUFBQSxFQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzRHQUFBLEVDOURBO0FBQUE7QUFBQTtBQUFBOzs0Q0FBQSxFQzBEQTtBQUFBO0FBQUE7QUFBQTs7Ozs7OEJBQUEsRUFNQTtBQUFBO0FBQUE7Ozs7aUJBQUEsRUFRQTtBQUFBO0FBQUEsb0JBQUEsRUFJQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OzBCQUFBLEVBSUE7QUFBQTtBQUFBOzs7OENBQUEsRUFJQTtBQUFBO0FBQUEscUNBQUEsRTFFM0NBO0FBQUE7QUFBQTtBQUFBLG1EQUFBLEVBQUE7QUFBQTtBQUFBLG1EQUFBLEVBQUE7QUFBQTtBQUFBLG1EQUFBLEVBQUE7QUFBQTtBQUFBLG1EQUFBLEVBQUE7QUFBQTtBQUFBLG9EQUFBLEVBQUE7QUFBQTtBQUFBLG9EQUFBLEVBQUE7QUFBQTtBQUFBLG9EQUFBLEVBQUE7QUFBQTtBQUFBLG9EQUFBLEVBQUE7QUFBQTtBQUFBLG9EQUFBLEVBQUE7QUFBQTtBQUFBLG9EQUFBLEVBQUE7QUFBQTtBQUFBLG9EQUFBLEVBQUE7QUFBQTtBQUFBO3FEQUFBLEVBUUE7QUFBQTtBQUFBLDZDQUFBLEVBSUE7QUFBQTtBQUFBLG9CQUFBLEUyRTlCQTtBQUFBO0FBQUE7aURBQUEsRUMrQkE7QUFBQTtBQUFBO0FBQUE7Ozs7O3VEQUFBLEVBU0E7QUFBQTtBQUFBO0FBQUE7dUJBQUEsRUFJQTtBQUFBO0FBQUE7ZUFBQSxFQUtBO0FBQUE7QUFBQTs7Ozs7bUJBQUEsRUFRQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OzsyQkFBQSxFQWtCQTtBQUFBO0FBQUE7eUVBQUEsRUFPQTtBQUFBO0FBQUEsaURBQUEsRUFJQTtBQUFBO0FBQUEsaURBQUEsRUFJQTtBQUFBO0FBQUEsaURBQUEsRUFJQTtBQUFBO0FBQUE7OytDQUFBLEVBTUE7QUFBQTtBQUFBOzZFQUFBLEVBTUE7QUFBQTtBQUFBOzs7K0NBQUEsRUFRQTtBQUFBO0FBQUE7NkVBQUEsRUFNQTtBQUFBO0FBQUE7OztxQkFBQSxFQVFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7eUJBQUEsRUFnQkE7QUFBQTtBQUFBLDREQUFBLEVBSUE7QUFBQTtBQUFBLGVBQUEsRUFLQTtBQUFBO0FBQUE7QUFFQTtBQUFBOzs0QkFBQSxFQVVBO0FBQUE7QUFBQSxrREFBQSxFQUFBLEVDaEVBO0FBQUE7QUFBQTtBQUFBLGdCQUFBLEVBR0E7QUFBQTtBQUFBLDhCQUFBLEVBSUE7QUFBQTtBQUFBO2dCQUFBLEVBS0E7QUFBQTtBQUFBO2lCQUFBLEVDL0VBO0FBQUE7QUFBQTtBQUFBOzs7NkNBQUEsRUFPQTtBQUFBO0FBQUE7QUFBQTs7NkNBQUEsRXhHdkNBO0FBQUE7QUFBQSxrREFBQSxFd0crQ0E7QUFBQTtBQUFBOzJDQUFBLEVBT0E7QUFBQTtBQUFBO0FBQ0E7QUFBQTs7OzZGQUFBLEVBTUE7QUFBQTtBQUFBO3NEQUFBLEVBQUEsRUNWQTtBQUFBO0FBQUE7QUFBQTs7eUNBQUEsRUFLQTtBQUFBO0FBQUE7Z0JBQUEsRUNYQTtBQUFBO0FBQUE7QUFBQTs7c0JBQUEsRUFLQTtBQUFBO0FBQUE7MkNBQUEsRUFLQTtBQUFBO0FBQUEsMkJBQUEsRUNXQTtBQUFBO0FBQUE7QUFBQTs7O2dDQUFBLEVBeUJBO0FBQUE7QUFBQTtBQUFBO3lCQUFBLEVBSUE7QUFBQTtBQUFBOzs7Z0NBQUEsRUFPQTtBQUFBO0FBQUE7Ozs7a0NBQUEsRUFPQTtBQUFBO0FBQUEscUJBQUEsRUFJQTtBQUFBO0FBQUEsc0JBQUEsRUFJQTtBQUFBO0FBQUE7Ozs2QkFBQSxFQU1BO0FBQUE7QUFBQSxvQ0FBQSxFQUlBO0FBQUE7QUFBQTswQkFBQSxFQUdBO0FBQUE7QUFBQTt3QkFBQSxFQUtBO0FBQUE7QUFBQTs7Ozs7MEJBQUEsRUFHQTtBQUFBO0FBQUE7OzBCQUFBLEVBS0E7QUFBQTtBQUFBOzs7OzswQkFBQSxFQUdBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7a0VBQUEsRUFNQTtBQUFBO0FBQUE7Z0RBQUEsRUFLQTtBQUFBO0FBQUE7d0JBQUEsRUFNQTtBQUFBO0FBQUE7Ozs7Ozs7OzsrQkFBQSxFQU1BO0FBQUE7QUFBQTs7Ozs7O3NCQUFBLEVBR0E7QUFBQTtBQUFBOzs7Ozs7c0JBQUEsRUFLQTtBQUFBO0FBQUEsdUNBQUEsRUFHQTtBQUFBO0FBQUEsdUNBQUEsRUFHQTtBQUFBO0FBQUEsdUNBQUEsRUFNQTtBQUFBO0FBQUEsb0JBQUEsRUFHQTtBQUFBO0FBQUE7aUJBQUEsRUFJQTtBQUFBO0FBQUEsb0JBQUEsRUNyR0E7QUFBQTtBQUFBO0FBQUE7OztlQUFBLEVBTUE7QUFBQTtBQUFBLDZCQUFBLEVBSUE7QUFBQTtBQUFBOzRCQUFBLEVBTUE7QUFBQTtBQUFBLDZCQUFBLEVBSUE7QUFBQTtBQUFBLDZCQUFBLEVBSUE7QUFBQTtBQUFBLDZCQUFBLEVBSUE7QUFBQTtBQUFBLDZCQUFBLEVBSUE7QUFBQTtBQUFBLGNBQUEsRUFJQTtBQUFBO0FBQUE7O3FCQUFBLEVDOUJBO0FBQUE7QUFBQTtBQUFBO2dCQUFBLEVBSUE7QUFBQTtBQUFBOztpQkFBQSxFbkZ6RkE7QUFBQTtBQUFBLHVEQUFBLEVBQUE7QUFBQTtBQUFBLHVEQUFBLEVBQUE7QUFBQTtBQUFBLHVEQUFBLEVBQUE7QUFBQTtBQUFBLHVEQUFBLEVBQUE7QUFBQTtBQUFBLHdEQUFBLEVBQUE7QUFBQTtBQUFBLHdEQUFBLEVBQUE7QUFBQTtBQUFBLHdEQUFBLEVBQUE7QUFBQTtBQUFBLHdEQUFBLEVBQUE7QUFBQTtBQUFBLHdEQUFBLEVBQUE7QUFBQTtBQUFBLHdEQUFBLEVBQUE7QUFBQTtBQUFBLHdEQUFBLEVBQUE7QUFBQTtBQUFBO3lEQUFBLEVBUUE7QUFBQTtBQUFBLGlEQUFBLEVBSUE7QUFBQTtBQUFBLHdCQUFBLEVtRm9GQTtBQUFBO0FBQUEsbURBQUEsRUFFQTtBQUFBO0FBQUEsb0JBQUEsRUFLQTtBQUFBO0FBQUEsK0JBQUEsRUFJQTtBQUFBO0FBQUE7O2lCQUFBLEVBTUE7QUFBQTtBQUFBO3FGQUFBLEVBS0E7QUFBQTtBQUFBO3FCQUFBLEVBSUE7QUFBQTtBQUFBLHdCQUFBLEVDN0RBO0FBQUE7QUFBQTtBQUFBLG1DQUFBOztVQUtBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7dUJBQUEsRUFtQ0E7QUFBQTtBQUFBOztvQkFBQSxFQU1BO0FBQUE7QUFBQTs7d0JBQUEsRUFNQTtBQUFBO0FBQUE7Ozs7Ozs7NEJBQUEsRUFZQTtBQUFBO0FBQUE7QUFBQTs7Ozs7bUNBQUEsRXBGN0hBO0FBQUE7QUFBQSxxREFBQSxFQUFBO0FBQUE7QUFBQSxxREFBQSxFQUFBO0FBQUE7QUFBQSxxREFBQSxFQUFBO0FBQUE7QUFBQSxxREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQTt1REFBQSxFQVFBO0FBQUE7QUFBQSwrQ0FBQSxFQUlBO0FBQUE7QUFBQSxzQkFBQSxFb0YySEE7QUFBQTtBQUFBOzs7Ozs7Ozs7eUJBQUEsRUFhQTtBQUFBO0FBQUEsNERBQUEsRUFJQTtBQUFBO0FBQUEsa0JBQUEsRUFJQTtBQUFBO0FBQUEsMkNBQUEsRUFHQTtBQUFBO0FBQUE7O3NGQUFBLEVBT0E7QUFBQTtBQUFBOzs7Ozs7Ozs7OztxQkFBQSxFQWNBO0FBQUE7QUFBQSxtQkFBQSxFQUlBO0FBQUE7QUFBQTs7NERBQUEsRUFNQTtBQUFBO0FBQUE7Ozs7aURBQUEsRUFPQTtBQUFBO0FBQUE7OztnQ0FBQSxFQVFBO0FBQUE7QUFBQTs7OENBQUEsRUFNQTtBQUFBO0FBQUE7c0RBQUEsRUFLQTtBQUFBO0FBQUE7b0NBQUEsRUFLQTtBQUFBO0FBQUE7bURBQUEsRUMxTUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7ZUFBQSxFckZuQkE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBO3VEQUFBLEVBUUE7QUFBQTtBQUFBLCtDQUFBLEVBSUE7QUFBQTtBQUFBLHNCQUFBLEVxRnlCQTtBQUFBO0FBQUEsb0RBQUEsRUFJQTtBQUFBO0FBQUEsb0RBQUEsRUFJQTtBQUFBO0FBQUEsb0RBQUEsRUFJQTtBQUFBO0FBQUE7aURBQUEsRUFLQTtBQUFBO0FBQUE7OzsrQ0FBQSxFQU9BO0FBQUE7QUFBQTs7eURBQUEsRUFPQTtBQUFBO0FBQUE7OzBEQUFBLEVBS0E7QUFBQTtBQUFBLG1EQUFBLEVBSUE7QUFBQTtBQUFBLG1EQUFBLEVBSUE7QUFBQTtBQUFBLG1EQUFBOztnQkM2TEE7QUFBQTtBQUFBOzs7O2dFQUFBLEVBTUE7QUFBQTtBQUFBO29DQUFBLEVBS0E7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7MERBQUEsRUFXQTtBQUFBO0FBQUEsbUJBQUEsRUFHQTtBQUFBO0FBQUEscUJBQUEsRUFHQTtBQUFBO0FBQUE7O29CQUFBLEVBS0E7QUFBQTtBQUFBOzBCQUFBLEVBTUE7QUFBQTtBQUFBLHdCQUFBLEVBNURBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O29DQUFBLEVBZUE7QUFBQTtBQUFBO3dCQUFBLEVBc0RBO0FBQUE7QUFBQSwyQkFBQSxFQXJFQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OztvQ0FBQSxFQWVBO0FBQUE7QUFBQTs7Z0ZBQUEsRUErREE7QUFBQTtBQUFBLHFCQUFBLEVBS0E7QUFBQTtBQUFBOzs7Ozt1RUFBQSxFQVdBO0FBQUE7QUFBQTs7O3NFQUFBLEVBUUE7QUFBQTtBQUFBLG1CQUFBLEVBR0E7QUFBQTtBQUFBLHVCQUFBLEVBekdBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7O3NDQUFBLEVBZUE7QUFBQTtBQUFBLHdCQUFBLEVBbUdBO0FBQUE7QUFBQTs7MEJBQUEsRUNuWkE7QUFBQTtBQUFBO0FBQUEsNkRBQUEsRUFJQTtBQUFBO0FBQUE7QUFDQTtBQUFBLDRCQUFBLEVBR0E7QUFBQTtBQUFBLDhCQUFBLEVBQUEsRUNnREE7QUFBQTtBQUFBO0FBQUE7OzhCQUFBLEVBTUE7QUFBQTtBQUFBLHNCQUFBLEVBR0E7QUFBQTtBQUFBLHNCQUFBLEVBR0E7QUFBQTtBQUFBLG9CQUFBLEVBR0E7QUFBQTtBQUFBLHNCQUFBLEVBR0E7QUFBQTtBQUFBLHNCQUFBLEVBR0E7QUFBQTtBQUFBLHNCQUFBLEVBR0E7QUFBQTtBQUFBLHNCQUFBLEVBTUE7QUFBQTtBQUFBLGtDQUFBLEVBSUE7QUFBQTtBQUFBLG1DQUFBLEVBSUE7QUFBQTtBQUFBLHFDQUFBLEVBSUE7QUFBQTtBQUFBLHFDQUFBLEVBSUE7QUFBQTtBQUFBLGdDQUFBLEVBTUE7QUFBQTtBQUFBO0FBQUEsMEJBQUEsRUNoR0E7QUFBQTtBQUFBO0FBQUE7O2VBQUEsRUMrQ0E7QUFBQTtBQUFBO0FBQUE7Ozs7Ozt1RUFBQSxFQVNBO0FBQUE7QUFBQTs7O2dDQUFBLEVBTUE7QUFBQTtBQUFBO0FBQUEsaUNBQUEsRUFBQSxFQ3FEQTtBQUFBO0FBQUE7QUFBQSx5QkFBQSxFQUdBO0FBQUE7QUFBQTs7NkJBQUEsRUFNQTtBQUFBO0FBQUEsdUJBQUEsRUFJQTtBQUFBO0FBQUE7MEJBQUEsRUMxSEE7QUFBQTtBQUFBO0FBQUE7Ozs7NEJBQUEsRUNJQTtBQUFBO0FBQUE7QUFBQTtzQkFBQSxFQUlBO0FBQUE7QUFBQSw4QkFBQSxFQUdBO0FBQUE7QUFBQTtnQ0FBQSxFQ0lBO0FBQUE7QUFBQTtBQUFBLHlCQUFBLEVDY0E7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozt5RkFBQSxFQWFBO0FBQUE7QUFBQSxnQ0FBQSxFQUtBO0FBQUE7QUFBQTs7Ozs7Ozs7b0NBQUEsRUFXQTtBQUFBO0FBQUEsa0JBQUEsRUFLQTtBQUFBO0FBQUE7OztxQkFBQSxFQU9BO0FBQUE7QUFBQTs7O3NCQUFBLEVBT0E7QUFBQTtBQUFBOztzQkFBQSxFQU1BO0FBQUE7QUFBQTs7cUJBQUEsRUFNQTtBQUFBO0FBQUE7Ozs7Ozs7c0JBQUEsRUFXQTtBQUFBO0FBQUE7Ozs7O2VBQUEsRUMzRUE7QUFBQTtBQUFBO0FBQUE7c0JBQUEsRUFJQTtBQUFBO0FBQUEsOEJBQUEsRUFHQTtBQUFBO0FBQUE7Z0NBQUEsRUNrQ0E7QUFBQTtBQUFBO0FBQUE7Ozt5QkFBQSxFQU9BO0FBQUE7QUFBQSx3QkFBQSxFQzlDQTtBQUFBO0FBQUE7QUFBQTs7OzsyQkFBQSxFNUhyQkE7QUFBQTtBQUFBLDZCQUFBLEVBQUE7QUFBQTtBQUFBLCtCQUFBLEU0SCtCQTtBQUFBO0FBQUEsOEJBQUEsRUNxQkE7QUFBQTtBQUFBO0FBQUE7O2lCQUFBLEVDYkE7QUFBQTtBQUFBO0FBQUE7O2lCQUFBLEVDMUNBO0FBQUE7QUFBQTtBQUFBO3NCQUFBLEVBSUE7QUFBQTtBQUFBOzt5QkFBQSxFQ1BBO0FBQUE7QUFBQTtBQUFBOztrQkFBQSxFQUtBO0FBQUE7QUFBQTs7Ozs7OztrQkFBQSxFbkd1SkE7QUFBQTtBQUFBO3dCQUFBLEVtR2pKQTtBQUFBO0FBQUEsMENBQUEsRUFNQTtBQUFBO0FBQUE7QUFDQTtBQUFBLHdCQUFBLEVBR0E7QUFBQTtBQUFBLHdCQUFBLEVBRUE7QUFBQTtBQUFBLHNCQUFBLEVBQUEsRUNJQTtBQUFBO0FBQUE7QUFBQTt3QkFBQSxFQUtBO0FBQUE7QUFBQSxvRUFBQSxFQUtBO0FBQUE7QUFBQSxvRUFBQSxFQUtBO0FBQUE7QUFBQSxvRUFBQSxFQUtBO0FBQUE7QUFBQTs7OztlQUFBLEVBTUE7QUFBQTtBQUFBOzs7dUJBQUEsRUNyREE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7eUJBQUEsRUFVQTtBQUFBO0FBQUE7OztpQkFBQSxFQ1hBO0FBQUE7QUFBQTtBQUFBOzs7O2dDQUFBLEVDdUJBO0FBQUE7QUFBQTtBQUFBO2dDQUFBLEVBTUE7QUFBQTtBQUFBOytDQUFBLEVBS0E7QUFBQTtBQUFBLDZCQUFBLEVBSUE7QUFBQTtBQUFBOzs7OztpQkFBQSxFQVFBO0FBQUE7QUFBQTswQ0FBQSxFQUtBO0FBQUE7QUFBQTs7Ozs7Ozs7a0JBQUEsRUFhQTtBQUFBO0FBQUE7Ozs7O21DQUFBLEVBUUE7QUFBQTtBQUFBO2dCQUFBLEVDNURBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7K0RBQUEsRUFnQkE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7dURBQUEsRTNHTEE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHFEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBLHNEQUFBLEVBQUE7QUFBQTtBQUFBO3VEQUFBLEVBUUE7QUFBQTtBQUFBLCtDQUFBLEVBSUE7QUFBQTtBQUFBLHNCQUFBLEUyR0tBO0FBQUE7QUFBQSwyREFBQSxFQUlBO0FBQUE7QUFBQTs7O3NEQUFBLEVBYUE7QUFBQTtBQUFBO0FBQUEsc0JBQUEsRUFBQSxFQUtBO0FBQUE7QUFBQTtBQUNBO0FBQUE7NkJBQUEsRUFJQTtBQUFBO0FBQUE7a0NBQUEsRUFBQSxFQU9BO0FBQUE7QUFBQTtBQUFBOzsrQkFBQSxFQzNFQTtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7OzRDQUFBLEVBVUE7QUFBQTtBQUFBLDBDQUFBLEVBSUE7QUFBQTtBQUFBLDRDQUFBLEVBSUE7QUFBQTtBQUFBLDRDQUFBLEVBSUE7QUFBQTtBQUFBLHVDQUFBLEVDbVNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Z0JBQUEsRUFZQTtBQUFBO0FBQUEscURBQUEsRUFFQTtBQUFBO0FBQUEsb0RBQUEsRUFLQTtBQUFBO0FBQUE7MEZBQUEsRUFLQTtBQUFBO0FBQUE7OEZBQUEsRUFNQTtBQUFBO0FBQUEsaUJBQUEsRUFJQTtBQUFBO0FBQUEsK0JBQUEsRUFLQTtBQUFBO0FBQUEsdUNBQUEsRUFLQTtBQUFBO0FBQUEscUJBQUEsRUFLQTtBQUFBO0FBQUE7O2VBQUEsRUFNQTtBQUFBO0FBQUE7Ozs7Ozs7O2dDQUFBLEVBWUE7QUFBQTtBQUFBO21CQUFBLEVBS0E7QUFBQTtBQUFBOzs7OzttQ0FBQSxFQVVBO0FBQUE7QUFBQTswQ0FBQSxFQUtBO0FBQUE7QUFBQTtpQkFBQSxFQU9BO0FBQUE7QUFBQTtBQUFBLG1CQUFBLEVBSUE7QUFBQTtBQUFBO0FBR0E7QUFBQTtlQUFBLEVBS0E7QUFBQTtBQUFBO2VBQUEsRUFLQTtBQUFBO0FBQUE7MEZBQUEsRUFNQTtBQUFBO0FBQUEsZUFBQSxFQUlBO0FBQUE7QUFBQSxpQkFBQSxFQU9BO0FBQUE7QUFBQSx3Q0FBQSxFQUlBO0FBQUE7QUFBQSw4Q0FBQSxFQUlBO0FBQUE7QUFBQSxrQkFBQSxFQUlBO0FBQUE7QUFBQSxrQkFBQSxFQUFBLEVBUUE7QUFBQTtBQUFBO0FBQ0E7QUFBQSxxQkFBQSxFQUdBO0FBQUE7QUFBQSx5QkFBQSxFQUtBO0FBQUE7QUFBQSw4QkFBQSxFQUlBO0FBQUE7QUFBQTs7b0ZBQUEsRUFRQTtBQUFBO0FBQUE7O2dEQUFBLEVBTUE7QUFBQTtBQUFBOztnREFBQSxFQU1BO0FBQUE7QUFBQSxvQkFBQSxFQUlBO0FBQUE7QUFBQSxvQkFBQSxFQUFBLEVBckNBO0FBQUE7QUFBQTtBQUNBO0FBQUEscUJBQUEsRUFHQTtBQUFBO0FBQUEseUJBQUEsRUFLQTtBQUFBO0FBQUEsOEJBQUEsRUFJQTtBQUFBO0FBQUE7O29GQUFBLEVBUUE7QUFBQTtBQUFBOztnREFBQSxFQU1BO0FBQUE7QUFBQTs7Z0RBQUEsRUFNQTtBQUFBO0FBQUEsb0JBQUEsRUFJQTtBQUFBO0FBQUEsb0JBQUEsRUFBQSxFQXJDQTtBQUFBO0FBQUE7QUFDQTtBQUFBLHFCQUFBLEVBR0E7QUFBQTtBQUFBLHlCQUFBLEVBS0E7QUFBQTtBQUFBLDhCQUFBLEVBSUE7QUFBQTtBQUFBOztvRkFBQSxFQVFBO0FBQUE7QUFBQTs7Z0RBQUEsRUFNQTtBQUFBO0FBQUE7O2dEQUFBLEVBTUE7QUFBQTtBQUFBLG9CQUFBLEVBSUE7QUFBQTtBQUFBLG9CQUFBLEVBQUEsRUM1WUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7O2dEQUFBLEVBUUE7QUFBQTtBQUFBLHNCQUFBLEVBSUE7QUFBQTtBQUFBOztrREFBQSxFQUtBO0FBQUE7QUFBQTs7Ozt1QkFBQSxFQUtBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7OEJBQUEsRUFLQTtBQUFBO0FBQUE7Ozs0QkFBQSxFQVFBO0FBQUE7QUFBQTs7Ozs7O3FCQUFBLEVBVUE7QUFBQTtBQUFBLGVBQUEsRUFJQTtBQUFBO0FBQUE7Ozs7a0RBQUEsRUFPQTtBQUFBO0FBQUEsd0JBQUEsRUNoQ0E7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs0Q0FBQSxFQVFBO0FBQUE7QUFBQTs7Ozs7Ozs7aUdBQUEsRUFZQTtBQUFBO0FBQUEsaUJBQUEsRUFJQTtBQUFBO0FBQUE7Ozt1Q0FBQSxFQU9BO0FBQUE7QUFBQSxrQkFBQSxFQUdBO0FBQUE7QUFBQSxvQ0FBQSxFQTVDQTtBQUFBO0FBQUE7QUFBQSw0Q0FBQSxFQUlBO0FBQUE7QUFBQSwwQ0FBQSxFQUpBO0FBQUE7QUFBQTtBQUFBLDRDQUFBLEVBSUE7QUFBQTtBQUFBLDBDQUFBLEVBSkE7QUFBQTtBQUFBO0FBQUEsMENBQUEsRUFJQTtBQUFBO0FBQUEsd0NBQUEsRUFrREE7QUFBQTtBQUFBO0FBQ0E7QUFBQTs7OzsrQ0FBQSxFQUtBO0FBQUE7QUFBQTs7OztvR0FBQSxFQUFBLEVDakZBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OzhCQUFBLEVBU0E7QUFBQTtBQUFBOzs7Ozs7Ozs7aUdBQUEsRUFhQTtBQUFBO0FBQUE7Ozt1Q0FBQSxFQU9BO0FBQUE7QUFBQSxrQkFBQSxFQUdBO0FBQUE7QUFBQSxvQ0FBQSxFQUdBO0FBQUE7QUFBQSxzQ0FBQSxFQTdDQTtBQUFBO0FBQUE7QUFBQSx3Q0FBQSxFQUlBO0FBQUE7QUFBQSx3Q0FBQSxFQWtEQTtBQUFBO0FBQUE7QUFDQTtBQUFBOzs7OzsrQ0FBQSxFQU1BO0FBQUE7QUFBQTs7OztvR0FBQSxFQUFBLEVDaEdBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7O3VCQUFBLEVBVUE7QUFBQTtBQUFBOzt5QkFBQSxFQU9BO0FBQUE7QUFBQSxxQ0FBQSxFQUtBO0FBQUE7QUFBQSxpQkFBQSxFQUtBO0FBQUE7QUFBQTs7O2lCQUFBLEVBU0E7QUFBQTtBQUFBO0FBRUE7QUFBQSxzQkFBQSxFQUFBLEVDaUNBO0FBQUE7QUFBQTtBQUFBLGdCQUFBLEVBR0E7QUFBQTtBQUFBLDhCQUFBLEVBR0E7QUFBQTtBQUFBLGdDQUFBLEVBTUE7QUFBQTtBQUFBOzs7Ozs7bUJBQUEsRUFTQTtBQUFBO0FBQUEsaUJBQUEsRUFJQTtBQUFBO0FBQUEsOEJBQUEsRUFJQTtBQUFBO0FBQUE7Ozs7OytDQUFBLEVBUUE7QUFBQTtBQUFBLDBCQUFBLEVBS0E7QUFBQTtBQUFBOzs7Ozs7O3lCQUFBLEVBV0E7QUFBQTtBQUFBLGtDQUFBLEVBSUE7QUFBQTtBQUFBLGlCQUFBLEVDNkhBO0FBQUE7QUFBQTtBQUFBO2tCQUFBLEVBSUE7QUFBQTtBQUFBOzs7Ozs7bUJBQUEsRUFTQTtBQUFBO0FBQUEsdUNBQUEsRUFJQTtBQUFBO0FBQUEscUJBQUEsRUFLQTtBQUFBO0FBQUE7O21CQUFBLEVBS0E7QUFBQTtBQUFBOzs7NEJBQUEsRUFNQTtBQUFBO0FBQUEsMEJBQUEsRUFNQTtBQUFBO0FBQUE7Ozs7Ozs7dUVBQUEsRUFVQTtBQUFBO0FBQUE7d0JBQUEsRUFLQTtBQUFBO0FBQUEsdUNBQUEsRUFJQTtBQUFBO0FBQUEsdUNBQUEsRUM1VEE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OzhCQUFBLEVBV0E7QUFBQTtBQUFBOzs7Ozs7O2dCQUFBLEVBV0E7QUFBQTtBQUFBO29CQUFBLEVBS0E7QUFBQTtBQUFBO29CQUFBLEVBS0E7QUFBQTtBQUFBOzs7O3VEQUFBLEVBUUE7QUFBQTtBQUFBOzs7O2dDQUFBLEVBTUE7QUFBQTtBQUFBLHNEQUFBLEVBR0E7QUFBQTtBQUFBLHNCQUFBLEVBS0E7QUFBQTtBQUFBLHFCQUFBLEVBS0E7QUFBQTtBQUFBOzs7O2lDQUFBLEVBT0E7QUFBQTtBQUFBLCtCQUFBLEVBSUE7QUFBQTtBQUFBLGdDQUFBLEVDMlNBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7OzRDQUFBLEVBYUE7QUFBQTtBQUFBLG9CQUFBLEVBSUE7QUFBQTtBQUFBLDZCQUFBLEVBSUE7QUFBQTtBQUFBLGVBQUEsRUFLQTtBQUFBO0FBQUEsMkJBQUEsRUFJQTtBQUFBO0FBQUEsZUFBQSxFQUtBO0FBQUE7QUFBQSw4QkFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBLGdCQUFBLEVBR0E7QUFBQTtBQUFBO0FBQUEsaUJBQUEsRUM3UEE7QUFBQTtBQUFBO0FBQUE7Ozs7Z0JBQUEsRUFPQTtBQUFBO0FBQUEsK0JBQUEsRUFJQTtBQUFBO0FBQUEsZ0NBQUEsRUFJQTtBQUFBO0FBQUE7ZUFBQSxFQUtBO0FBQUE7QUFBQTsrQ0FBQSxFQUtBO0FBQUE7QUFBQSxnQ0FBQSxFQUlBO0FBQUE7QUFBQSwrQkFBQSxFQUlBO0FBQUE7QUFBQTs7O3FCQUFBLEVBT0E7QUFBQTtBQUFBO3dCQUFBLEVBSUE7QUFBQTtBQUFBOzs7Ozs7OEJBQUEsRUFPQTtBQUFBO0FBQUEsMEJBQUEsRUFLQTtBQUFBO0FBQUE7Ozs7Ozs7OEJBQUEsRW5IOUxBO0FBQUE7QUFBQSx3Q0FBQSxFQUtBO0FBQUE7QUFBQSx5Q0FBQSxFbUhnTUE7QUFBQTtBQUFBLDBCQUFBLEVBS0E7QUFBQTtBQUFBLGtDQUFBLEVBS0E7QUFBQTtBQUFBLDhCQUFBLEVDckpBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7OzhCQUFBLEVBU0E7QUFBQTtBQUFBO3NCQUFBLEVBS0E7QUFBQTtBQUFBLHFCQUFBLEVBSUE7QUFBQTtBQUFBOzs7OzhGQUFBLEVBU0E7QUFBQTtBQUFBO2VBQUEsRUFJQTtBQUFBO0FBQUE7O2tHQUFBLEVBTUE7QUFBQTtBQUFBO2lCQUFBLEVDL0NBO0FBQUE7QUFBQTtBQUFBOzs7O2tCQUFBLEVBU0E7QUFBQTtBQUFBOzs7Ozs7O2dCQUFBLEVBWUE7QUFBQTtBQUFBOzJCQUFBLEVBT0E7QUFBQTtBQUFBOztrREFBQSxFQVFBO0FBQUE7QUFBQTs7Z0RBQUEsRUFXQTtBQUFBO0FBQUE7Ozs7Z0RBQUEsRUFXQTtBQUFBO0FBQUE7aUJBQUEsRUFJQTtBQUFBO0FBQUEsaUJBQUEsRUFJQTtBQUFBO0FBQUEsaUJBQUEsRUFJQTtBQUFBO0FBQUEsaUJBQUEsRUFJQTtBQUFBO0FBQUE7Ozs7Z0JBQUEsRUFRQTtBQUFBO0FBQUE7Ozs7dUJBQUEsRUFRQTtBQUFBO0FBQUE7d0JBQUEsRUFPQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs0Q0FBQSxFQU9BO0FBQUE7QUFBQTsyQkFBQSxFQUtBO0FBQUE7QUFBQTsyQkFBQSxFQUtBO0FBQUE7QUFBQTsyQkFBQSxFQU9BO0FBQUE7QUFBQSx5QkFBQSxFQUdBO0FBQUE7QUFBQTtpQkFBQSxFQUlBO0FBQUE7QUFBQTttQkFBQSxFQUtBO0FBQUE7QUFBQTs7dUJBQUEsRUNoUEE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7OztxQkFBQSxFQVlBO0FBQUE7QUFBQTt3QkFBQSxFQUtBO0FBQUE7QUFBQTs7d0JBQUEsRUFPQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Y0FBQSxFQWFBO0FBQUE7QUFBQTt1QkFBQSxFQUtBO0FBQUE7QUFBQTtpQkFBQSxFQUtBO0FBQUE7QUFBQTtpQkFBQSxFQUtBO0FBQUE7QUFBQSxzREFBQSxFQUtBO0FBQUE7QUFBQTs7Ozs7Y0FBQSxFQVNBO0FBQUE7QUFBQTt1QkFBQSxFQUtBO0FBQUE7QUFBQTtpQkFBQSxFQUtBO0FBQUE7QUFBQSw0REFBQSxFQVNBO0FBQUE7QUFBQTtBQUFBLG1FQUFBLEVBUUE7QUFBQTtBQUFBLG1FQUFBLEVDeUZBO0FBQUE7QUFBQTtBQUFBOzs7bUJBQUEsRUFNQTtBQUFBO0FBQUEsMkJBQUEsRUMxSEE7QUFBQTtBQUFBO0FBQUEsYUFBQSxFQVFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7UUFBQSxFQWNBO0FBQUE7QUFBQSx5REFBQSxFQUlBO0FBQUE7QUFBQTs7MEJBQUEsRUFPQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OztRQUFBLEVBbUJBO0FBQUE7QUFBQSx1REFBQSxFQUlBO0FBQUE7QUFBQSw4QkFBQSxFQUlBO0FBQUE7QUFBQSx3REFBQSxFQUlBO0FBQUE7QUFBQSx3REFBQSxFQUtBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7UUFBQSxFQW1CQTtBQUFBO0FBQUEsOERBQUEsRUFJQTtBQUFBO0FBQUEseURBQUEsRUFJQTtBQUFBO0FBQUEsOERBQUEsRUFJQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7OzBCQUFBLEVDbEZBO0FBQUE7QUFBQTtBQUFBLGFBQUEsRUFRQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7O1FBQUEsRUFjQTtBQUFBO0FBQUEsd0RBQUEsRUFJQTtBQUFBO0FBQUE7MEJBQUEsRUFNQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7UUFBQSxFQWlCQTtBQUFBO0FBQUEsdURBQUEsRUFJQTtBQUFBO0FBQUEsd0RBQUEsRUFJQTtBQUFBO0FBQUEsd0RBQUEsRUFJQTtBQUFBO0FB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QSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQSxzREFBQSxFQUFBO0FBQUE7QUFBQTt1REFBQSxFQVFBO0FBQUE7QUFBQSwrQ0FBQSxFQUlBO0FBQUE7QUFBQSxzQkFBQSxFK0lvaUJBO0FBQUE7QUFBQTtBQUFBLDJCQUFBLEV6S2hrQkE7QUFBQTtBQUFBLDZCQUFBLEUwSytGQTtBQUFBO0FBQUE7QUFBQSwyQkFBQSxFQUlBO0FBQUE7QUFBQSw0QkFBQSxFMUtuR0E7QUFBQTtBQUFBLDZCQUFBLEVBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIEtldmluIEhvdHRpbmdlciA8a2V2aW4uaG90dGluZ2VyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbjpyb290IHtcbiAgLS1mb250LXNpemUtMTogMC4xcmVtO1xuICAtLWZvbnQtc2l6ZS0yOiAwLjJyZW07XG4gIC0tZm9udC1zaXplLTQ6IDAuNHJlbTtcbiAgLS1mb250LXNpemUtODogMC44cmVtO1xuICAtLWZvbnQtc2l6ZS0xMDogMXJlbTtcbiAgLS1mb250LXNpemUtMTE6IDEuMXJlbTtcbiAgLS1mb250LXNpemUtMTI6IDEuMnJlbTtcbiAgLS1mb250LXNpemUtMTM6IDEuM3JlbTtcbiAgLS1mb250LXNpemUtMTQ6IDEuNHJlbTtcbiAgLS1mb250LXNpemUtMTU6IDEuNXJlbTtcbiAgLS1mb250LXNpemUtMTY6IDEuNnJlbTtcbiAgLS1mb250LXNpemUtMTg6IDEuOHJlbTtcbiAgLS1mb250LXNpemUtMjA6IDJyZW07XG4gIC0tZm9udC1zaXplLTIyOiAyLjJyZW07XG4gIC0tZm9udC1zaXplLTI0OiAyLjRyZW07XG4gIC0tZm9udC1zaXplLTMwOiAzcmVtO1xuICAtLWZvbnQtc2l6ZS0zMjogMy4ycmVtO1xuICAtLWZvbnQtc2l6ZS00MDogNHJlbTtcbiAgLS1mb250LXNpemUtNDg6IDQuOHJlbTtcbiAgLS1mb250LXNpemUtNTA6IDVyZW07XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIEtldmluIEhvdHRpbmdlciA8a2V2aW4uaG90dGluZ2VyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbiR0dWktZ2FwOiAwLjRyZW07XG5cbjpyb290IHtcbiAgLyogQ29tbW9uIHNwYWNpbmcgdXNlZCBmb3IgbWFyZ2luICYgcGFkZGluZyovXG4gIC0tZ2FwLTE6ICgkdHVpLWdhcCAqIDEpO1xuICAtLWdhcC0yOiAoJHR1aS1nYXAgKiAyKTtcbiAgLS1nYXAtMzogKCR0dWktZ2FwICogMyk7XG4gIC0tZ2FwLTQ6ICgkdHVpLWdhcCAqIDQpO1xuICAtLWdhcC01OiAoJHR1aS1nYXAgKiA1KTtcbiAgLS1nYXAtNjogKCR0dWktZ2FwICogNik7XG4gIC0tZ2FwLTc6ICgkdHVpLWdhcCAqIDcpO1xuICAtLWdhcC04OiAoJHR1aS1nYXAgKiA4KTtcbiAgLS1nYXAtOTogKCR0dWktZ2FwICogOSk7XG4gIC0tZ2FwLTEwOiAoJHR1aS1nYXAgKiAxMCk7XG4gIC0tZ2FwLTExOiAoJHR1aS1nYXAgKiAxMSk7XG4gIC0tZ2FwLTEyOiAoJHR1aS1nYXAgKiAxMik7XG5cbiAgLyoqL1xuICAvKiBHcmlkKi9cbiAgLyoqL1xuXG4gIC8qIGRlZmF1bHQgZ3V0dGVyIHZhbHVlIHN0YXJ0cyB3aXRoIGEgZ2xvYmFsIGd1dHRlciB2YWx1ZSwgY2hhbmdlcyB0byBvdGhlciovXG4gIC8qIGdsb2JhbCBndXR0ZXIgdmFsdWVzIGF0IHZpZXdwb3J0L2NvbnRhaW5lciBicmVha3BvaW50cyovXG4gIC0tZ3JpZC1ndXR0ZXI6IHZhcigtLWdhcC01KTtcbiAgLyogR2xvYmFsIGRlZmF1bHQgZm9yICdob3cgbWFueSBjb2x1bW5zIGFyZSBpbiB0aGUgZ3JpZCcqL1xuICAvKiBzcGVjaWZpZWQgZm9yIHVzZSB3aXRoIHRoZW1lLmdldFZhcignZ3JpZC1tYXh1bml0cycpIGluIEdyaWQudnVlKi9cbiAgLS1ncmlkLW1heHVuaXRzOiAxMjtcblxuICAtLXBhcmFncmFwaC1nYXA6IHZhcigtLWdhcC0yKTtcbn1cblxuLyogT3V0c2lkZS1pbiBzcGFjaW5nOiBTdGFjayovXG4vKiBTdGFja3MgcHJvdmlkZSBzcGFjaW5nIGJldHdlZW4gdGhlaXIgY2hpbGRyZW4uKi9cbkBtaXhpbiB0dWktc3RhY2stdmVydGljYWwoJGdhcCkge1xuICAmID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6ICRnYXA7XG4gIH1cbn1cbkBtaXhpbiB0dWktc3RhY2staG9yaXpvbnRhbCgkZ2FwKSB7XG4gICYgPiAqICsgKiB7XG4gICAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gIH1cbn1cbiIsIi8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMuKi9cbi8qKi9cbi8qIENvcHlyaWdodCAoQykgMjAyMCBvbndhcmRzIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMgTFREKi9cbi8qKi9cbi8qIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMgaXMgcHJvdmlkZWQgb25seSB0byBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCdzIGN1c3RvbWVycyBhbmQgcGFydG5lcnMsIHB1cnN1YW50IHRvKi9cbi8qIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiBhIHNlcGFyYXRlIGFncmVlbWVudCB3aXRoIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREIG9yIGl0cyBhZmZpbGlhdGUuKi9cbi8qKi9cbi8qIElmIHlvdSBkbyBub3QgaGF2ZSBhbiBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zKi9cbi8qIExURCwgeW91IG1heSBub3QgYWNjZXNzLCB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlLiovXG4vKiBQbGVhc2UgY29udGFjdCBbbGljZW5zaW5nQHRvdGFyYWxlYXJuaW5nLmNvbV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uKi9cbi8qKi9cbi8qIEBhdXRob3IgICAgRGF2ZSBXYWxsYWNlIDxkYXZlLndhbGxhY2VAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuOnJvb3Qge1xuICAvKiovXG4gIC8qIFRoZW1lIGJvcmRlciB3aWR0aHMqL1xuICAvKiovXG5cbiAgLyogQ29udGVudCBhZ2dyZWdhdGlvbiBib3JkZXJzKi9cbiAgLyogT2Z0ZW4gdXNlZCBmb3Igc2VjdGlvbnMgb2YgY29udGVudCBzdWNoIGFzIEZvcm1zLCBCbG9ja3MsIHZhcmlvdXMgUGFuZWxzLCovXG4gIC8qIGFuZCBob3Jpem9udGFsIHJ1bGVzKi9cbiAgLS1ib3JkZXItd2lkdGgtdGhpbjogMXB4O1xuICAtLWJvcmRlci13aWR0aC1ub3JtYWw6IDJweDtcbiAgLS1ib3JkZXItd2lkdGgtdGhpY2s6IDNweDtcblxuICAvKiBCdXR0b24gcmFkaXVzKi9cbiAgLS1idG4tcmFkaXVzOiA2cHg7XG5cbiAgLyogU3RhbmRhcmQgYm9yZGVyIHJhZGl1cyovXG4gIC0tYm9yZGVyLXJhZGl1cy1jdXJ2ZWQ6IDEycHg7XG4gIC0tYm9yZGVyLXJhZGl1cy1ub3JtYWw6IDZweDtcbiAgLS1ib3JkZXItcmFkaXVzLXNtYWxsOiA0cHg7XG5cbiAgLS1jYXJkLWJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbm9ybWFsKTtcbn1cbiIsIi8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMuKi9cbi8qKi9cbi8qIENvcHlyaWdodCAoQykgMjAyMCBvbndhcmRzIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMgTFREKi9cbi8qKi9cbi8qIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMgaXMgcHJvdmlkZWQgb25seSB0byBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCdzIGN1c3RvbWVycyBhbmQgcGFydG5lcnMsIHB1cnN1YW50IHRvKi9cbi8qIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiBhIHNlcGFyYXRlIGFncmVlbWVudCB3aXRoIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREIG9yIGl0cyBhZmZpbGlhdGUuKi9cbi8qKi9cbi8qIElmIHlvdSBkbyBub3QgaGF2ZSBhbiBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zKi9cbi8qIExURCwgeW91IG1heSBub3QgYWNjZXNzLCB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlLiovXG4vKiBQbGVhc2UgY29udGFjdCBbbGljZW5zaW5nQHRvdGFyYWxlYXJuaW5nLmNvbV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uKi9cbi8qKi9cbi8qIEBhdXRob3IgICAgS2V2aW4gSG90dGluZ2VyIDxrZXZpbi5ob3R0aW5nZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuOnJvb3Qge1xuICAtLWJ0bi1zaGFkb3ctZm9jdXM6IHZhcigtLXNoYWRvdy0yKTtcbiAgLS1idG4tc2hhZG93LWFjdGl2ZTogdmFyKC0tc2hhZG93LTMpO1xuICAtLWJ0bi1taW4td2lkdGg6IDcycHg7XG4gIC0tYnRuLW1pbi1oZWlnaHQ6IDMuNnJlbTtcbn1cbiIsIi8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMuKi9cbi8qKi9cbi8qIENvcHlyaWdodCAoQykgMjAyMCBvbndhcmRzIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMgTFREKi9cbi8qKi9cbi8qIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMgaXMgcHJvdmlkZWQgb25seSB0byBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCdzIGN1c3RvbWVycyBhbmQgcGFydG5lcnMsIHB1cnN1YW50IHRvKi9cbi8qIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiBhIHNlcGFyYXRlIGFncmVlbWVudCB3aXRoIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREIG9yIGl0cyBhZmZpbGlhdGUuKi9cbi8qKi9cbi8qIElmIHlvdSBkbyBub3QgaGF2ZSBhbiBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zKi9cbi8qIExURCwgeW91IG1heSBub3QgYWNjZXNzLCB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlLiovXG4vKiBQbGVhc2UgY29udGFjdCBbbGljZW5zaW5nQHRvdGFyYWxlYXJuaW5nLmNvbV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uKi9cbi8qKi9cbi8qIEBhdXRob3IgICAgS2V2aW4gSG90dGluZ2VyIDxrZXZpbi5ob3R0aW5nZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuOnJvb3Qge1xuICAvKiovXG4gIC8qIFRoZW1lIGNvbG91cnMqL1xuICAvKiovXG5cbiAgLyogUHJpbWFyeSBjb2xvdXIqL1xuICAvKiBPZnRlbiB1c2VkIGZvciBkZWZhdWx0IGltYWdlLCBiYWNrZ3JvdW5kcywgbGluZSBzZXBhcmF0b3JzICYgdmlzdWFsIGluZGljYXRvcnMqL1xuICAtLWNvbG9yLXByaW1hcnk6ICMzYTQ1YWM7XG5cbiAgLyogU2Vjb25kYXJ5IGNvbG91ciovXG4gIC8qIE9mdGVuIHVzZWQgZm9yIHZpc3VhbCBjb21wb25lbnRzIHN1Y2ggYXMgcHJvZ3Jlc3MgYmFycyAmIGNoYXJ0cyovXG4gIC0tY29sb3Itc2Vjb25kYXJ5OiAjMDA3YWI4O1xuXG4gIC8qIFRlcnRpYXJ5IGNvbG91ciovXG4gIC8qIE9mdGVuIHVzZWQgZm9yIHZpc3VhbCBjb21wb25lbnRzLCBtdXN0IGhhdmUgaGlnaCBjb250cmFzdCB0byBiYWNrZ3JvdW5kKi9cbiAgLS1jb2xvci10ZXJ0aWFyeTogIzFlYTRhOTtcblxuICAvKiovXG4gIC8qIEludGVyYWN0aXZlIHN0YXRlIGNvbG91cnMqL1xuICAvKiovXG5cbiAgLyogRGVmYXVsdCBzdGF0ZSBjb2xvdXIsIHNob3dzIGFuIGVsZW1lbnQgaXMgaW50ZXJhY3RpdmUqL1xuICAtLWNvbG9yLXN0YXRlOiAjMzk4MmFjO1xuXG4gIC8qIEhvdmVyIHN0YXRlIGNvbG91ciwgc2hvd24gd2hlbiBjdXJzb3IgaXMgb3ZlciBpbnRlcmFjdGl2ZSBlbGVtZW50Ki9cbiAgLS1jb2xvci1zdGF0ZS1ob3ZlcjogIzI2NTc3MztcbiAgLyogRm9jdXMgc3RhdGUgY29sb3VyLCBzaG93biB3aGVuIGVsZW1lbnQgaGFzIGZvY3VzIChrZXlib2FyZCB0YWJiaW5nKSovXG4gIC0tY29sb3Itc3RhdGUtZm9jdXM6ICMyNjU3NzM7XG4gIC8qIEFjdGl2ZSBzdGF0ZSBjb2xvdXIsIHNob3duIHdoZW4gZWxlbWVudCBpcyBhY3RpdmUgKGNsaWNrZWQpKi9cbiAgLS1jb2xvci1zdGF0ZS1hY3RpdmU6ICMxOTNhNGM7XG4gIC8qIEhpZ2hsaWdodCwgdmlzdWFsIGNsdWUgZm9yIHRoaW5ncyB0aGF0IG5lZWQgdG8gYmUgaGlnaGxpZ2h0ZWQgbW9yZSovXG4gIC8qIHByb21pbmVudGx5IHRoYW4gaGlnaGxpZ2h0LW5ldXRyYWwuKi9cbiAgLS1jb2xvci1zdGF0ZS1oaWdobGlnaHQ6ICNmNmY5ZDc7XG4gIC8qIE5ldXRyYWwgaGlnaGxpZ2h0LCB2aXN1YWwgY2x1ZSBmb3IgaG92ZXIvZm9jdXMgb24gY29tcG9uZW50cyBzdWNoIGFzIGEgbGlzdCByb3cqL1xuICAtLWNvbG9yLXN0YXRlLWhpZ2hsaWdodC1uZXV0cmFsOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAvKiBEaXNhYmxlZCBjb2xvdXIgb2YgaW50ZXJhY3RpdmUgZWxlbWVudHMqL1xuICAtLWNvbG9yLXN0YXRlLWRpc2FibGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xuXG4gIC8qKi9cbiAgLyogVmlzdWFsIHByb21wdCBjb2xvdXJzKi9cbiAgLyoqL1xuXG4gIC8qIFVzZWQgdG8gaW5kaWNhdGUgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlKi9cbiAgLS1jb2xvci1wcm9tcHQtaW5mbzogIzAwN2FiODtcbiAgLS1jb2xvci1wcm9tcHQtaW5mby1iZzogI2RhZjNmZTtcbiAgLyogVXNlZCB0byBpbmRpY2F0ZSBhbiBpbXBvcnRhbnQgbWVzc2FnZSAoZXJyb3IsIGRhbmdlcikqL1xuICAtLWNvbG9yLXByb21wdC1hbGVydDogI2NjMjQyODtcbiAgLS1jb2xvci1wcm9tcHQtYWxlcnQtYmc6ICNmZWU2ZTY7XG4gIC8qIFVzZWQgdG8gaW5kaWNhdGUgYSB3YXJuaW5nIG1lc3NhZ2UqL1xuICAtLWNvbG9yLXByb21wdC13YXJuaW5nOiAjYjI2MTFmO1xuICAtLWNvbG9yLXByb21wdC13YXJuaW5nLWJnOiAjZjFlMmQ3O1xuICAvKiBVc2VkIHRvIGluZGljYXRlIGEgc3VjY2VzcyBtZXNzYWdlKi9cbiAgLS1jb2xvci1wcm9tcHQtc3VjY2VzczogIzRiN2UyYjtcbiAgLS1jb2xvci1wcm9tcHQtc3VjY2Vzcy1iZzogI2Q4ZWFjZDtcblxuICAvKiovXG4gIC8qIE5ldXRyYWwgY29sb3VyIHJhbmdlcyovXG4gIC8qKi9cblxuICAvKiBPZnRlbiB1c2VkIGZvciBuYXZpZ2F0aW9uIGJhciwgYmFja2dyb3VuZHMgJiBmb290ZXIqL1xuICAtLWNvbG9yLW5ldXRyYWwtMTogI2ZmZjtcbiAgLyogT2Z0ZW4gdXNlZCBmb3IgY29udGVudCBiYWNrZ3JvdW5kKi9cbiAgLS1jb2xvci1uZXV0cmFsLTI6ICNmYWZhZmE7XG4gIC8qIE9mdGVuIHVzZWQgZm9yIHNpZGUgcGFuZWwgYmFja2dyb3VuZCAmIGRpc2FibGVkIGJ1dHRvbnMqL1xuICAtLWNvbG9yLW5ldXRyYWwtMzogI2Y3ZjdmNztcbiAgLyogT2Z0ZW4gdXNlZCBmb3IgcHJvZ3Jlc3MgYmFyIGJhY2tncm91bmQqL1xuICAtLWNvbG9yLW5ldXRyYWwtNDogI2U2ZTRlNDtcbiAgLyogT2Z0ZW4gdXNlZCBmb3IgY2FyZCBjb21wb25lbnQgYm9yZGVycywgbGluZSBzZXBhcmF0b3JzICYgZGlzYWJsZWQgYnV0dG9uKi9cbiAgLS1jb2xvci1uZXV0cmFsLTU6ICNjN2M3Yzc7XG4gIC8qIE9mdGVuIHVzZWQgZm9yIGljb25zIGFuZCBmb3JtIGNvbXBvbmVudCBib3JkZXJzKi9cbiAgLS1jb2xvci1uZXV0cmFsLTY6ICM3Njc2NzY7XG4gIC8qIE9mdGVuIHVzZWQgZm9yIGhlYWRlcnMgYW5kIGJvZHkgdGV4dCovXG4gIC0tY29sb3ItbmV1dHJhbC03OiAjMjYyNjI2O1xuXG4gIC8qKi9cbiAgLyogQ2hhcnQgY29sb3JzKi9cbiAgLyoqL1xuICAtLWNvbG9yLWNoYXJ0LWJhY2tncm91bmQtMTogIzAwN2FiODtcbiAgLS1jb2xvci1jaGFydC10cmFuc3BhcmVudC0xOiByZ2JhKCMwMDdhYjgsIDAuMzgpO1xuICAtLWNvbG9yLWNoYXJ0LWJhY2tncm91bmQtMjogI2RhN2MyZjtcbiAgLS1jb2xvci1jaGFydC10cmFuc3BhcmVudC0yOiByZ2JhKCNkYTdjMmYsIDAuMzgpO1xuICAtLWNvbG9yLWNoYXJ0LWJhY2tncm91bmQtMzogI2JmNmM3ODtcbiAgLS1jb2xvci1jaGFydC10cmFuc3BhcmVudC0zOiByZ2JhKCNiZjZjNzgsIDAuMzgpO1xuICAtLWNvbG9yLWNoYXJ0LWJhY2tncm91bmQtNDogI2RhYzcyNTtcbiAgLS1jb2xvci1jaGFydC10cmFuc3BhcmVudC00OiByZ2JhKCNkYWM3MjUsIDAuMzgpO1xuICAtLWNvbG9yLWNoYXJ0LWJhY2tncm91bmQtNTogIzVkNWQ1ZDtcbiAgLS1jb2xvci1jaGFydC10cmFuc3BhcmVudC01OiByZ2JhKCM1ZDVkNWQsIDAuMzgpO1xuICAtLWNvbG9yLWNoYXJ0LWJhY2tncm91bmQtNjogIzk4YWFkYTtcbiAgLS1jb2xvci1jaGFydC10cmFuc3BhcmVudC02OiByZ2JhKCM5OGFhZGEsIDAuMzgpO1xuICAtLWNvbG9yLWNoYXJ0LWJhY2tncm91bmQtNzogIzIzYzFhMDtcbiAgLS1jb2xvci1jaGFydC10cmFuc3BhcmVudC03OiByZ2JhKCMyM2MxYTAsIDAuMzgpO1xuXG4gIC8qKi9cbiAgLyogQ29udGVudCBjb2xvdXJzKi9cbiAgLyoqL1xuICAtLWNvbG9yLWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG4gIC0tY29sb3ItYm9yZGVyOiB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xuICAtLWNvbG9yLXRleHQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG4gIC0tY29sb3ItdGV4dC1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC01KTtcbiAgLS1jb2xvci10ZXh0LWhpbnQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNik7XG4gIC0tbGluay1jb2xvcjogdmFyKC0tY29sb3Itc3RhdGUpO1xuICAtLWxpbmstY29sb3ItaG92ZXI6IHZhcigtLWNvbG9yLXN0YXRlLWhvdmVyKTtcblxuICAvKiBCYWNrZHJvcHMqL1xuICAtLWNvbG9yLWJhY2tkcm9wLXN0YW5kYXJkOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIC0tY29sb3ItYmFja2Ryb3AtaGVhdnk6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgLS1jb2xvci1iYWNrZHJvcC1jb250cmFzdDogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcblxuICAvKiovXG4gIC8qIEhlYWRlciBjb2xvcnMqL1xuICAvKiovXG4gIC0tbmF2LWJnLWNvbG9yOiAjZmZmO1xuICAtLW5hdi10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci10ZXh0KTtcbn1cblxuLyogQXJyb3dzKi9cbkBpbXBvcnQgJ3R1aS92YXJpYWJsZXMvY29sb3JzL2Fycm93Jztcbi8qIEZvcm1zKi9cbkBpbXBvcnQgJ3R1aS92YXJpYWJsZXMvY29sb3JzL2Zvcm1zJztcbi8qIEF2YXRhciovXG5AaW1wb3J0ICd0dWkvdmFyaWFibGVzL2NvbG9ycy9hdmF0YXInO1xuLyogRHJvcCBkb3duKi9cbkBpbXBvcnQgJ3R1aS92YXJpYWJsZXMvY29sb3JzL2Ryb3Bkb3duJztcbi8qIERhdGEgdGFibGUqL1xuQGltcG9ydCAndHVpL3ZhcmlhYmxlcy9jb2xvcnMvZGF0YXRhYmxlJztcbi8qIFRhYnMqL1xuQGltcG9ydCAndHVpL3ZhcmlhYmxlcy9jb2xvcnMvdGFicyc7XG4vKiBDYXJkKi9cbkBpbXBvcnQgJ3R1aS92YXJpYWJsZXMvY29sb3JzL2NhcmQnO1xuLyogQ2hhcnRzKi9cbkBpbXBvcnQgJ3R1aS92YXJpYWJsZXMvY29sb3JzL2NoYXJ0cyc7XG4vKiBGaWx0ZXJzKi9cbkBpbXBvcnQgJ3R1aS92YXJpYWJsZXMvY29sb3JzL2ZpbHRlcnMnO1xuLyogVGFncyovXG5AaW1wb3J0ICd0dWkvdmFyaWFibGVzL2NvbG9ycy90YWdzJztcbi8qIFRhZ3MqL1xuQGltcG9ydCAndHVpL3ZhcmlhYmxlcy9jb2xvcnMvcHJvZ3Jlc3NiYXInO1xuLyogY29sbGFwc2libGUqL1xuQGltcG9ydCAndHVpL3ZhcmlhYmxlcy9jb2xvcnMvY29sbGFwc2libGUnO1xuLyogcHJvZ3Jlc3MgdHJhY2tlciovXG5AaW1wb3J0ICd0dWkvdmFyaWFibGVzL2NvbG9ycy9wcm9ncmVzc3RyYWNrZXInO1xuLyogU2lkZSBwYW5lbCBuYXZpZ2F0aW9uKi9cbkBpbXBvcnQgJ3R1aS92YXJpYWJsZXMvY29sb3JzL3NpZGVfcGFuZWxfbmF2Jztcbi8qIFRvZ2dsZSBidXR0b25zKi9cbkBpbXBvcnQgJ3R1aS92YXJpYWJsZXMvY29sb3JzL3RvZ2dsZSc7XG4vKiBOb3RpZmljYXRpb24gdG9hc3QqL1xuQGltcG9ydCAndHVpL3ZhcmlhYmxlcy9jb2xvcnMvbm90aWZpY2F0aW9udG9hc3QnO1xuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qIENTUyBhcnJvd3MqL1xuICAtLWFycm93LWJnLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgLS1hcnJvdy1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIEtldmluIEhvdHRpbmdlciA8a2V2aW4uaG90dGluZ2VyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbjpyb290IHtcbiAgLyoqL1xuICAvKiBGb3JtIGNvbG91cnMqL1xuICAvKiovXG5cbiAgLyogRm9ybSByYWRpbyBjb2xvdXJzKi9cbiAgLS1mb3JtLXJhZGlvLWRvdC1jb2xvcjogdmFyKC0tY29sb3Itc3RhdGUpO1xuICAtLWZvcm0tcmFkaW8tYmctY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG4gIC0tZm9ybS1yYWRpby1iZy1jb2xvci1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC0zKTtcbiAgLS1mb3JtLXJhZGlvLWJnLWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci1zdGF0ZS1oaWdobGlnaHQtbmV1dHJhbCk7XG4gIC0tZm9ybS1yYWRpby1iZy1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbiAgLS1mb3JtLXJhZGlvLWJnLWNvbG9yLWFjdGl2ZTogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbiAgLS1mb3JtLXJhZGlvLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC02KTtcbiAgLS1mb3JtLXJhZGlvLWJvcmRlci1jb2xvci1kaXNhYmxlZDogdmFyKC0tY29sb3Itc3RhdGUtZGlzYWJsZWQpO1xuICAtLWZvcm0tcmFkaW8tYm9yZGVyLWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci1zdGF0ZS1mb2N1cyk7XG4gIC0tZm9ybS1yYWRpby1ib3JkZXItY29sb3ItYWN0aXZlOiB2YXIoLS1jb2xvci1zdGF0ZS1mb2N1cyk7XG5cbiAgLyogRm9ybSBjaGVja2JveCBjb2xvdXJzKi9cbiAgLS1mb3JtLWNoZWNrYm94LWNoZWNrLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLWZvcm0tY2hlY2tib3gtY2hlY2stY29sb3ItZGlzYWJsZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gIC0tZm9ybS1jaGVja2JveC1iZy1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbiAgLS1mb3JtLWNoZWNrYm94LWJnLWNvbG9yLWRpc2FibGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAtLWZvcm0tY2hlY2tib3gtYmctY29sb3ItZm9jdXM6IHZhcigtLWNvbG9yLXN0YXRlLWhpZ2hsaWdodC1uZXV0cmFsKTtcbiAgLS1mb3JtLWNoZWNrYm94LWJnLWNvbG9yLWFjdGl2ZTogdmFyKC0tY29sb3Itc3RhdGUpO1xuICAtLWZvcm0tY2hlY2tib3gtYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTYpO1xuICAtLWZvcm0tY2hlY2tib3gtYm9yZGVyLWNvbG9yLWRpc2FibGVkOiB2YXIoLS1jb2xvci1zdGF0ZS1kaXNhYmxlZCk7XG4gIC0tZm9ybS1jaGVja2JveC1ib3JkZXItY29sb3ItZm9jdXM6IHZhcigtLWNvbG9yLXN0YXRlLWZvY3VzKTtcbiAgLS1mb3JtLWNoZWNrYm94LWJvcmRlci1jb2xvci1hY3RpdmU6IHZhcigtLWNvbG9yLXN0YXRlLWZvY3VzKTtcbiAgLS1mb3JtLWNoZWNrYm94LWJvcmRlci1jb2xvci1pbnZhbGlkOiB2YXIoLS1jb2xvci1wcm9tcHQtYWxlcnQpO1xuXG4gIC8qIFRleHQgY29sb3VyIChsYWJlbHMpKi9cbiAgLS1mb3JtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG5cbiAgLyogQmFja2dyb3VuZCBvZiBmb3JtIGVsZW1lbnRzKi9cbiAgLS1mb3JtLWlucHV0LWJnLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLWZvcm0taW5wdXQtYmctY29sb3ItZGlzYWJsZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG4gIC0tZm9ybS1pbnB1dC1iZy1jb2xvci1mb2N1czogdmFyKC0tZm9ybS1pbnB1dC1iZy1jb2xvcik7XG4gIC0tZm9ybS1pbnB1dC1iZy1jb2xvci1pbnZhbGlkLWZvY3VzOiB2YXIoLS1mb3JtLWlucHV0LWJnLWNvbG9yKTtcblxuICAvKiBCb3JkZXIgb2YgZm9ybSBlbGVtZW50cyovXG4gIC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNik7XG4gIC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItZGlzYWJsZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNCk7XG4gIC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItZm9jdXM6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgLS1mb3JtLWlucHV0LWJvcmRlci1jb2xvci1pbnZhbGlkOiB2YXIoLS1jb2xvci1wcm9tcHQtYWxlcnQpO1xuICAvKiBUZXh0IGNvbG91ciBvZiBmb3JtIGVsZW1lbnRzKi9cbiAgLS1mb3JtLWlucHV0LXRleHQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG4gIC0tZm9ybS1pbnB1dC10ZXh0LWNvbG9yLWRpc2FibGVkOiB2YXIoLS1jb2xvci1zdGF0ZS1kaXNhYmxlZCk7XG4gIC0tZm9ybS1pbnB1dC10ZXh0LXBsYWNlaG9sZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTYpO1xuICAvKiBUZXh0IGNvbG91ciBvZiBmb3JtIGZpZWxkIGRlZmF1bHRzIGFuZCBkZXRhaWxzKi9cbiAgLS1mb3JtLWRldGFpbHMtdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC03KTtcbiAgLS1mb3JtLWRlZmF1bHRzLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG5cbiAgLyogU3RhbmRhcmQgYnRuIGJhY2tncm91bmQsIGJvcmRlciAmIHRleHQqL1xuICAtLWJ0bi1hY2NlbnQtY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgLS1idG4tYWNjZW50LWNvbG9yLWFjdGl2ZTogdmFyKC0tY29sb3Itc3RhdGUtYWN0aXZlKTtcbiAgLS1idG4tYWNjZW50LWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci1zdGF0ZS1mb2N1cyk7XG4gIC0tYnRuLWFjY2VudC1jb2xvci1kaXNhYmxlZDogdmFyKC0tY29sb3Itc3RhdGUtZGlzYWJsZWQpO1xuICAtLWJ0bi1iZy1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbiAgLS1idG4tYmctY29sb3ItYWN0aXZlOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLWJ0bi1iZy1jb2xvci1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC0zKTtcbiAgLS1idG4tYmctY29sb3ItZm9jdXM6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG4gIC0tYnRuLWJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWFjY2VudC1jb2xvcik7XG4gIC0tYnRuLWJvcmRlci1jb2xvci1hY3RpdmU6IHZhcigtLWJ0bi1hY2NlbnQtY29sb3ItYWN0aXZlKTtcbiAgLS1idG4tYm9yZGVyLWNvbG9yLWRpc2FibGVkOiB2YXIoLS1idG4tYWNjZW50LWNvbG9yLWRpc2FibGVkKTtcbiAgLS1idG4tYm9yZGVyLWNvbG9yLWZvY3VzOiB2YXIoLS1idG4tYWNjZW50LWNvbG9yLWZvY3VzKTtcbiAgLS1idG4tbG9hZGVyLWNvbG9yLWRpc2FibGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTYpO1xuICAtLWJ0bi10ZXh0LWNvbG9yOiB2YXIoLS1idG4tYWNjZW50LWNvbG9yKTtcbiAgLS1idG4tdGV4dC1jb2xvci1hY3RpdmU6IHZhcigtLWJ0bi1hY2NlbnQtY29sb3ItYWN0aXZlKTtcbiAgLS1idG4tdGV4dC1jb2xvci1kaXNhYmxlZDogdmFyKC0tYnRuLWFjY2VudC1jb2xvci1kaXNhYmxlZCk7XG4gIC0tYnRuLXRleHQtY29sb3ItZm9jdXM6IHZhcigtLWJ0bi1hY2NlbnQtY29sb3ItZm9jdXMpO1xuXG4gIC8qIFByaW1hcnkgYnRuIGJhY2tncm91bmQsIHRleHQgJiBib3JkZXIqL1xuICAtLWJ0bi1wcmltLWFjY2VudC1jb2xvcjogdmFyKC0tY29sb3Itc3RhdGUpO1xuICAtLWJ0bi1wcmltLWFjY2VudC1jb2xvci1hY3RpdmU6IHZhcigtLWNvbG9yLXN0YXRlLWFjdGl2ZSk7XG4gIC0tYnRuLXByaW0tYWNjZW50LWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci1zdGF0ZS1mb2N1cyk7XG4gIC0tYnRuLXByaW0tYWNjZW50LWNvbG9yLWRpc2FibGVkOiB2YXIoLS1jb2xvci1zdGF0ZS1kaXNhYmxlZCk7XG5cbiAgLS1idG4tcHJpbS1iZy1jb2xvcjogdmFyKC0tYnRuLXByaW0tYWNjZW50LWNvbG9yKTtcbiAgLS1idG4tcHJpbS1iZy1jb2xvci1hY3RpdmU6IHZhcigtLWJ0bi1wcmltLWFjY2VudC1jb2xvci1hY3RpdmUpO1xuICAtLWJ0bi1wcmltLWJnLWNvbG9yLWRpc2FibGVkOiB2YXIoLS1idG4tcHJpbS1hY2NlbnQtY29sb3ItZGlzYWJsZWQpO1xuICAtLWJ0bi1wcmltLWJnLWNvbG9yLWZvY3VzOiB2YXIoLS1idG4tcHJpbS1hY2NlbnQtY29sb3ItZm9jdXMpO1xuICAtLWJ0bi1wcmltLWJvcmRlci1jb2xvcjogdmFyKC0tYnRuLXByaW0tYWNjZW50LWNvbG9yKTtcbiAgLS1idG4tcHJpbS1ib3JkZXItY29sb3ItYWN0aXZlOiB2YXIoLS1idG4tcHJpbS1hY2NlbnQtY29sb3ItYWN0aXZlKTtcbiAgLS1idG4tcHJpbS1ib3JkZXItY29sb3ItZGlzYWJsZWQ6IHZhcigtLWJ0bi1wcmltLWFjY2VudC1jb2xvci1kaXNhYmxlZCk7XG4gIC0tYnRuLXByaW0tYm9yZGVyLWNvbG9yLWZvY3VzOiB2YXIoLS1idG4tcHJpbS1hY2NlbnQtY29sb3ItZm9jdXMpO1xuICAtLWJ0bi1wcmltLWxvYWRlci1jb2xvci1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC03KTtcbiAgLS1idG4tcHJpbS10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLWJ0bi1wcmltLXRleHQtY29sb3ItYWN0aXZlOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLWJ0bi1wcmltLXRleHQtY29sb3ItZGlzYWJsZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG4gIC0tYnRuLXByaW0tdGV4dC1jb2xvci1mb2N1czogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcblxuICAvKiBBbGVydCBidG4gYmFja2dyb3VuZCwgYm9yZGVyICYgdGV4dCovXG4gIC0tYnRuLWFsZXJ0LWJnLWNvbG9yOiB2YXIoLS1jb2xvci1wcm9tcHQtYWxlcnQpO1xuICAtLWJ0bi1hbGVydC1iZy1jb2xvci1hY3RpdmU6IHZhcigtLWNvbG9yLXByb21wdC1hbGVydCk7XG4gIC0tYnRuLWFsZXJ0LWJnLWNvbG9yLWRpc2FibGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAtLWJ0bi1hbGVydC1iZy1jb2xvci1mb2N1czogdmFyKC0tY29sb3ItcHJvbXB0LWFsZXJ0KTtcbiAgLS1idG4tYWxlcnQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1wcm9tcHQtYWxlcnQpO1xuICAtLWJ0bi1hbGVydC1ib3JkZXItY29sb3ItYWN0aXZlOiB2YXIoLS1jb2xvci1wcm9tcHQtYWxlcnQpO1xuICAtLWJ0bi1hbGVydC1ib3JkZXItY29sb3ItZGlzYWJsZWQ6IHZhcigtLWNvbG9yLXN0YXRlLWRpc2FibGVkKTtcbiAgLS1idG4tYWxlcnQtYm9yZGVyLWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci1wcm9tcHQtYWxlcnQpO1xuICAtLWJ0bi1hbGVydC10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLWJ0bi1hbGVydC10ZXh0LWNvbG9yLWFjdGl2ZTogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbiAgLS1idG4tYWxlcnQtdGV4dC1jb2xvci1kaXNhYmxlZDogdmFyKC0tY29sb3Itc3RhdGUtZGlzYWJsZWQpO1xuICAtLWJ0bi1hbGVydC10ZXh0LWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuXG4gIC8qIENoZWNrYm94IGJ0biBiYWNrZ3JvdW5kICYgdGV4dCovXG4gIC0tYnRuLWNoZWNrYm94LWJnLWNvbG9yLXNlbGVjdGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAtLWJ0bi1jaGVja2JveC1iZy1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3Itc3RhdGUtaGlnaGxpZ2h0LW5ldXRyYWwpO1xuICAtLWJ0bi1jaGVja2JveC10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gIC0tYnRuLWNoZWNrYm94LXRleHQtY29sb3ItYWN0aXZlOiB2YXIoLS1jb2xvci1zdGF0ZS1hY3RpdmUpO1xuICAtLWJ0bi1jaGVja2JveC10ZXh0LWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci1zdGF0ZS1mb2N1cyk7XG4gIC0tYnRuLWNoZWNrYm94LXRleHQtY29sb3Itc2VsZWN0ZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG5cbiAgLyogVG9vbGJhciBidG4gYmFja2dyb3VuZCAmIHRleHQqL1xuICAtLWJ0bi10b29sYmFyLWJnLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLS1idG4tdG9vbGJhci1iZy1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItbmV1dHJhbC00KTtcbiAgLS1idG4tdG9vbGJhci1iZy1jb2xvci1mb2N1czogdmFyKC0tY29sb3ItbmV1dHJhbC00KTtcbiAgLS1idG4tdG9vbGJhci1iZy1jb2xvci1zZWxlY3RlZDogdmFyKC0tY29sb3Itc3RhdGUtYWN0aXZlKTtcbiAgLS1idG4tdG9vbGJhci10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTYpO1xuICAtLWJ0bi10b29sYmFyLXRleHQtY29sb3Itc2VsZWN0ZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG5cbiAgLyogRm9ybSBlcnJvcnMqL1xuICAtLWZvcm0tZXJyb3ItYmctY29sb3I6IHZhcigtLWNvbG9yLXByb21wdC1hbGVydC1iZyk7XG4gIC0tZm9ybS1lcnJvci10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1wcm9tcHQtYWxlcnQpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qIEF2YXRhciovXG4gIC0tYXZhdGFyLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItcHJpbWFyeSk7XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIEtldmluIEhvdHRpbmdlciA8a2V2aW4uaG90dGluZ2VyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbjpyb290IHtcbiAgLyogRHJvcCBkb3duKi9cbiAgLS1kcm9wZG93bi1pdGVtLWJnLWNvbG9yLWhvdmVyOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAtLWRyb3Bkb3duLWl0ZW0tYmctY29sb3ItZm9jdXM6IHZhcigtLWNvbG9yLW5ldXRyYWwtNCk7XG4gIC0tZHJvcGRvd24taXRlbS1iZy1jb2xvci1kaXNhYmxlZC1mb2N1czogdmFyKC0tY29sb3ItbmV1dHJhbC0yKTtcbiAgLS1kcm9wZG93bi1pdGVtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAtLWRyb3Bkb3duLWl0ZW0tdGV4dC1jb2xvci1ob3ZlcjogdmFyKC0tY29sb3ItdGV4dCk7XG4gIC0tZHJvcGRvd24taXRlbS10ZXh0LWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci10ZXh0KTtcbiAgLS1kcm9wZG93bi1pdGVtLXRleHQtY29sb3ItZGlzYWJsZWQ6IHZhcigtLWNvbG9yLXRleHQtZGlzYWJsZWQpO1xuICAtLWRyb3Bkb3duLW1lbnUtYmctY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAtLWRyb3Bkb3duLW1lbnUtYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qKi9cbiAgLyogRGF0YSB0YWJsZSovXG4gIC8qKi9cbiAgLS1kYXRhdGFibGUtYmctYXJjaGl2ZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtMik7XG4gIC0tZGF0YXRhYmxlLWNlbGwtaGVhZGVyLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG4gIC8qIEV4cGFuZGVkIHN0eWxlcyovXG4gIC0tZGF0YXRhYmxlLWV4cGFuZGVkLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLWRhdGF0YWJsZS1leHBhbmRlZC1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gIC0tZGF0YXRhYmxlLWV4cGFuZGVkLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG4gIC8qIFJvdyBzdHlsZXMqL1xuICAtLWRhdGF0YWJsZS1yb3ctYmctY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLWRhdGF0YWJsZS1yb3ctYmctY29sb3ItYWN0aXZlOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAtLWRhdGF0YWJsZS1yb3ctYmctY29sb3ItZm9jdXM6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG4gIC0tZGF0YXRhYmxlLXJvdy1iZy1jb2xvci1vZGQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtMik7XG4gIC0tZGF0YXRhYmxlLXJvdy1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gIC0tZGF0YXRhYmxlLXJvdy1maXJzdC1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG4gIC8qIFNlbGVjdCBhbGwgcHJvbXB0Ki9cbiAgLS1kYXRhdGFibGUtc2VsZWN0LWV2ZXJ5dGhpbmctcHJvbXB0LWJnOiB2YXIoLS1jb2xvci1uZXV0cmFsLTIpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qKi9cbiAgLyogVGFicyovXG4gIC8qKi9cbiAgLS10YWJzLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAtLXRhYnMtYmctY29sb3Itc2VsZWN0ZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG4gIC0tdGFicy1iZy1jb2xvci1kaXNhYmxlZDogdmFyKC0tY29sb3ItbmV1dHJhbC0zKTtcbiAgLS10YWJzLWJnLWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAtLXRhYnMtc2VsZWN0ZWQtYmFyLWNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5KTtcblxuICAtLXRhYnMtdGV4dC1jb2xvcjogdmFyKC0tY29sb3Itc3RhdGUpO1xuICAtLXRhYnMtdGV4dC1jb2xvci1hY3RpdmU6IHZhcigtLWNvbG9yLXN0YXRlLWFjdGl2ZSk7XG4gIC0tdGFicy10ZXh0LWNvbG9yLWRpc2FibGVkOiB2YXIoLS1jb2xvci1zdGF0ZS1kaXNhYmxlZCk7XG4gIC0tdGFicy10ZXh0LWNvbG9yLWZvY3VzOiB2YXIoLS1jb2xvci1zdGF0ZS1mb2N1cyk7XG4gIC0tdGFicy10ZXh0LWNvbG9yLXNlbGVjdGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTcpO1xuXG4gIC0tdGFicy1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gIC0tdGFicy1ib3JkZXItY29sb3Itc2VsZWN0ZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG4gIC0tdGFicy1ib3JkZXItY29sb3ItZGlzYWJsZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNCk7XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIEtldmluIEhvdHRpbmdlciA8a2V2aW4uaG90dGluZ2VyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbjpyb290IHtcbiAgLyoqL1xuICAvKiBDYXJkKi9cbiAgLyoqL1xuICAtLWNhcmQtYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qKi9cbiAgLyogQ2hhcnRzKi9cbiAgLyoqL1xuICAtLWNvbG9yLWNoYXJ0LWRvdWdobnV0LWxhYmVsOiB2YXIoLS1jb2xvci1uZXV0cmFsLTcpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qKi9cbiAgLyogRmlsdGVycyovXG4gIC8qKi9cbiAgLS1maWx0ZXItYmFyLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC01KTtcbiAgLS1maWx0ZXItc2VhcmNoLWljb24tY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNik7XG4gIC0tZmlsdGVyLXNlYXJjaC1jbGVhci1pY29uLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTYpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qKi9cbiAgLyogVGFnKi9cbiAgLyoqL1xuICAtLXRhZy1iZy1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0yKTtcbiAgLS10YWctYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xuICAtLXRhZy1hY3RpdmUtY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgLS10YWctYnV0dG9uLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTcpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qKi9cbiAgLyogUHJvZ3Jlc3MqL1xuICAvKiovXG4gIC0tcHJvZ3Jlc3MtdmFsdWUtYmctY29sb3I6IHZhcigtLWNvbG9yLXNlY29uZGFyeSk7XG4gIC0tcHJvZ3Jlc3MtY29udGFpbmVyLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTQpO1xuICAtLXByb2dyZXNzLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbiAgLS1wcm9ncmVzcy1jb250YWluZXItdGV4dC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC03KTtcbiAgLS1wcm9ncmVzcy12YWx1ZS10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qIENTUyBjb2xsYXBzYWJsZSovXG4gIC0tY29sbGFwc2libGUtaGVhZGVyLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAtLWNvbGxhcHNpYmxlLWhlYWRlci1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIEtldmluIEhvdHRpbmdlciA8a2V2aW4uaG90dGluZ2VyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbjpyb290IHtcbiAgLS1wcm9ncmVzc3RyYWNrZXItY29udGFpbmVyLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuXG4gIC8qIHN0YXRlcyByZWxhdGVkIHRvIEFjaGlldmVtZW50Ki9cbiAgLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItcGVuZGluZzogdmFyKC0tY29sb3ItbmV1dHJhbC02KTtcbiAgLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItY3VycmVudDogdmFyKC0tY29sb3ItcHJvbXB0LWluZm8pO1xuICAtLXByb2dyZXNzdHJhY2tlci1jb2xvci1hY2hpZXZlZDogdmFyKC0tY29sb3ItdGVydGlhcnkpO1xuICAtLXByb2dyZXNzdHJhY2tlci1jb2xvci1jb21wbGV0ZTogdmFyKC0tY29sb3ItcHJvbXB0LXdhcm5pbmcpO1xuXG4gIC8qIHN0YXRlcyByZWxhdGVkIHRvIFdvcmtmbG93cyovXG4gIC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLXJlYWR5OiB2YXIoLS1jb2xvci1uZXV0cmFsLTYpO1xuICAtLXByb2dyZXNzdHJhY2tlci1jb2xvci1kb25lOiB2YXIoLS1jb2xvci1wcm9tcHQtc3VjY2Vzcyk7XG4gIC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWRvbmUtLWludmVyc2U6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG4gIC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWxvY2tlZDogdmFyKC0tY29sb3ItbmV1dHJhbC02KTtcbiAgLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItbG9ja2VkLS1pbnZlcnNlOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLXByb2dyZXNzdHJhY2tlci1jb2xvci1vcHRpb25hbDogdmFyKC0tY29sb3ItbmV1dHJhbC02KTtcbiAgLS1wcm9ncmVzc3RyYWNrZXItY29sb3Itb3B0aW9uYWwtLWludmVyc2U6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG4gIC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLXNlbGVjdGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTYpO1xuICAtLXByb2dyZXNzdHJhY2tlci1jb2xvci1zZWxlY3RlZC0taW52ZXJzZTogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbn1cbiIsIi8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMuKi9cbi8qKi9cbi8qIENvcHlyaWdodCAoQykgMjAyMCBvbndhcmRzIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMgTFREKi9cbi8qKi9cbi8qIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMgaXMgcHJvdmlkZWQgb25seSB0byBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCdzIGN1c3RvbWVycyBhbmQgcGFydG5lcnMsIHB1cnN1YW50IHRvKi9cbi8qIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiBhIHNlcGFyYXRlIGFncmVlbWVudCB3aXRoIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREIG9yIGl0cyBhZmZpbGlhdGUuKi9cbi8qKi9cbi8qIElmIHlvdSBkbyBub3QgaGF2ZSBhbiBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zKi9cbi8qIExURCwgeW91IG1heSBub3QgYWNjZXNzLCB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlLiovXG4vKiBQbGVhc2UgY29udGFjdCBbbGljZW5zaW5nQHRvdGFyYWxlYXJuaW5nLmNvbV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uKi9cbi8qKi9cbi8qIEBhdXRob3IgICAgS2V2aW4gSG90dGluZ2VyIDxrZXZpbi5ob3R0aW5nZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuOnJvb3Qge1xuICAvKiovXG4gIC8qIFNpZGUgcGFuZWwgbmF2aWdhdGlvbiovXG4gIC8qKi9cblxuICAvKiBQYW5lbCovXG4gIC0tc2lkZS1wYW5lbC1uYXYtYmctY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG5cbiAgLyogUGFuZWwgaXRlbSovXG4gIC0tc2lkZS1wYW5lbC1uYXYtaXRlbS1iZy1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0zKTtcbiAgLS1zaWRlLXBhbmVsLW5hdi1pdGVtLWJvcmRlci1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0zKTtcbiAgLS1zaWRlLXBhbmVsLW5hdi1pdGVtLXRleHQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG5cbiAgLyogUGFuZWwgaXRlbSBob3Zlci9mb2N1cyovXG4gIC0tc2lkZS1wYW5lbC1uYXYtaXRlbS1iZy1jb2xvci1mb2N1czogdmFyKC0tY29sb3ItbmV1dHJhbC00KTtcbiAgLS1zaWRlLXBhbmVsLW5hdi1pdGVtLWJvcmRlci1jb2xvci1mb2N1czogdmFyKC0tY29sb3ItbmV1dHJhbC0zKTtcbiAgLS1zaWRlLXBhbmVsLW5hdi1pdGVtLXRleHQtY29sb3ItZm9jdXM6IHZhcigtLWNvbG9yLXN0YXRlLWZvY3VzKTtcblxuICAvKiBQYW5lbCBpdGVtIHNlbGVjdGVkKi9cbiAgLS1zaWRlLXBhbmVsLW5hdi1pdGVtLWJnLWNvbG9yLXNlbGVjdGVkOiB2YXIoLS1jb2xvci1zdGF0ZS1hY3RpdmUpO1xuICAtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tYm9yZGVyLWNvbG9yLXNlbGVjdGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tdGV4dC1jb2xvci1zZWxlY3RlZDogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbn1cbiIsIi8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMuKi9cbi8qKi9cbi8qIENvcHlyaWdodCAoQykgMjAyMCBvbndhcmRzIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMgTFREKi9cbi8qKi9cbi8qIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMgaXMgcHJvdmlkZWQgb25seSB0byBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCdzIGN1c3RvbWVycyBhbmQgcGFydG5lcnMsIHB1cnN1YW50IHRvKi9cbi8qIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiBhIHNlcGFyYXRlIGFncmVlbWVudCB3aXRoIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREIG9yIGl0cyBhZmZpbGlhdGUuKi9cbi8qKi9cbi8qIElmIHlvdSBkbyBub3QgaGF2ZSBhbiBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zKi9cbi8qIExURCwgeW91IG1heSBub3QgYWNjZXNzLCB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlLiovXG4vKiBQbGVhc2UgY29udGFjdCBbbGljZW5zaW5nQHRvdGFyYWxlYXJuaW5nLmNvbV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uKi9cbi8qKi9cbi8qIEBhdXRob3IgICAgS2V2aW4gSG90dGluZ2VyIDxrZXZpbi5ob3R0aW5nZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuOnJvb3Qge1xuICAvKiovXG4gIC8qIFRvZ2dsZSBjb2xvdXJzKi9cbiAgLyoqL1xuXG4gIC8qIHRvZ2dsZSBidXR0b25zKi9cbiAgLS10b2dnbGUtYmctY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNik7XG5cbiAgLyogQnV0dG9uIGJhY2tncm91bmQqL1xuICAtLXRvZ2dsZS1idG4tYmctY29sb3I6IHRyYW5zcGFyZW50O1xuICAtLXRvZ2dsZS1idG4tYmctY29sb3ItYWN0aXZlOiB0cmFuc3BhcmVudDtcbiAgLS10b2dnbGUtYnRuLWJnLWNvbG9yLWRpc2FibGVkOiB0cmFuc3BhcmVudDtcbiAgLS10b2dnbGUtYnRuLWJnLWNvbG9yLWZvY3VzOiB0cmFuc3BhcmVudDtcbiAgLS10b2dnbGUtYnRuLWJnLWNvbG9yLXNlbGVjdGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuXG4gIC8qIEJ1dHRvbiB0ZXh0IGNvbG91ciovXG4gIC0tdG9nZ2xlLWJ0bi10ZXh0LWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLXRvZ2dsZS1idG4tdGV4dC1jb2xvci1hY3RpdmU6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG4gIC0tdG9nZ2xlLWJ0bi10ZXh0LWNvbG9yLWRpc2FibGVkOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAtLXRvZ2dsZS1idG4tdGV4dC1jb2xvci1mb2N1czogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbiAgLS10b2dnbGUtYnRuLXRleHQtY29sb3Itc2VsZWN0ZWQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNyk7XG5cbiAgLyoqL1xuICAvKiBUb2dnbGUgc3dpdGNoKi9cbiAgLyoqL1xuICAtLWZvcm0tdG9nZ2xlLWRvdC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbiAgLS1mb3JtLXRvZ2dsZS1vZmYtYmctY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNCk7XG4gIC0tZm9ybS10b2dnbGUtb2ZmLWJnLWNvbG9yLWhvdmVyLWZvY3VzOiB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xuICAtLWZvcm0tdG9nZ2xlLW9uLWJnLWNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gIC0tZm9ybS10b2dnbGUtb24tYmctY29sb3ItaG92ZXItZm9jdXM6IHZhcigtLWNvbG9yLXN0YXRlLWhvdmVyKTtcbiAgLS1mb3JtLXRvZ2dsZS1vbi1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgLS1mb3JtLXRvZ2dsZS1vbi1ib3JkZXItY29sb3ItaG92ZXItZm9jdXM6IHZhcigtLWNvbG9yLXN0YXRlLWhvdmVyKTtcbiAgLS1mb3JtLXRvZ2dsZS1ib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNik7XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIEtldmluIEhvdHRpbmdlciA8a2V2aW4uaG90dGluZ2VyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbjpyb290IHtcbiAgLyoqL1xuICAvKk5vdGlmaWNhdGlvbiB0b2FzdCovXG4gIC8qKi9cbiAgLS10b2FzdC1jb2xvci10ZXh0OiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC8qKi9cbiAgLyogU2hhZG93IGRlcHRocyovXG4gIC8qKi9cblxuICAtLXNoYWRvdy1ub25lOiAwIDAgMCAwIHRyYW5zcGFyZW50O1xuICAtLXNoYWRvdy0yOiAwIDNweCA2cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIC0tc2hhZG93LTM6IDAgNnB4IDZweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIC0tc2hhZG93LTQ6IDAgMTBweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjMpO1xuXG4gIC8qIElucHV0IGJveC1zaGFkb3dzKi9cbiAgLS1mb3JtLWlucHV0LXNoYWRvdy1mb2N1czogMCAwIDNweCAwIHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgLS1mb3JtLWlucHV0LXNoYWRvdy1pbnZhbGlkOiAwIDAgMCB2YXIoLS1mb3JtLWlucHV0LWludmFsaWQtc2hhZG93LXNpemUpXG4gICAgdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItaW52YWxpZCk7XG4gIC0tZm9ybS1pbnB1dC1zaGFkb3ctaW52YWxpZC1mb2N1czogMCAwIDAgdmFyKC0tZm9ybS1pbnB1dC1pbnZhbGlkLXNoYWRvdy1zaXplKVxuICAgICAgdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItaW52YWxpZCksXG4gICAgMCAwIDNweCB2YXIoLS1mb3JtLWlucHV0LWludmFsaWQtc2hhZG93LXNpemUpXG4gICAgICB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1jb2xvci1pbnZhbGlkKTtcbn1cbiIsIi8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMuKi9cbi8qKi9cbi8qIENvcHlyaWdodCAoQykgMjAyMCBvbndhcmRzIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMgTFREKi9cbi8qKi9cbi8qIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMgaXMgcHJvdmlkZWQgb25seSB0byBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCdzIGN1c3RvbWVycyBhbmQgcGFydG5lcnMsIHB1cnN1YW50IHRvKi9cbi8qIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiBhIHNlcGFyYXRlIGFncmVlbWVudCB3aXRoIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREIG9yIGl0cyBhZmZpbGlhdGUuKi9cbi8qKi9cbi8qIElmIHlvdSBkbyBub3QgaGF2ZSBhbiBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zKi9cbi8qIExURCwgeW91IG1heSBub3QgYWNjZXNzLCB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlLiovXG4vKiBQbGVhc2UgY29udGFjdCBbbGljZW5zaW5nQHRvdGFyYWxlYXJuaW5nLmNvbV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uKi9cbi8qKi9cbi8qIEBhdXRob3IgICAgS2V2aW4gSG90dGluZ2VyIDxrZXZpbi5ob3R0aW5nZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuOnJvb3Qge1xuICAtLXNpZGVwYW5lbC1uYXZpZ2F0aW9uLWl0ZW0tcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtOCk7XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjEgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIERhdmUgV2FsbGFjZSA8ZGF2ZS53YWxsYWNlQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbjpyb290IHtcbiAgLyogYC1zaXplLS1gIHVuaXRzIHNob3VsZCBiZSBpbiBlaXRoZXIgYHB4YCBvciBgcmVtYCBmb3IgSlMgY29udGFpbmVyIHF1ZXJ5aW5nKi9cbiAgLS1wcm9ncmVzcy10cmFja2VyLWhvcml6b250YWwtc2l6ZS0tc21hbGw6IDEwcmVtO1xuICAtLXByb2dyZXNzLXRyYWNrZXItaG9yaXpvbnRhbC1zaXplLS1tZWRpdW06IDIwcmVtO1xuICAtLXByb2dyZXNzLXRyYWNrZXItaG9yaXpvbnRhbC1zaXplLS1sYXJnZTogMjVyZW07XG4gIC0tcHJvZ3Jlc3MtdHJhY2tlci1ob3Jpem9udGFsLWdhcC0tc21hbGw6IHZhcigtLWdhcC0yKTtcbiAgLS1wcm9ncmVzcy10cmFja2VyLWhvcml6b250YWwtZ2FwLS1tZWRpdW06IHZhcigtLWdhcC00KTtcbiAgLS1wcm9ncmVzcy10cmFja2VyLWhvcml6b250YWwtZ2FwLS1sYXJnZTogdmFyKC0tZ2FwLTYpO1xuICAtLXByb2dyZXNzLXRyYWNrZXItdmVydGljYWwtZ2FwLS1zbWFsbDogdmFyKC0tZ2FwLTIpO1xuICAtLXByb2dyZXNzLXRyYWNrZXItdmVydGljYWwtZ2FwLS1tZWRpdW06IHZhcigtLWdhcC00KTtcbiAgLS1wcm9ncmVzcy10cmFja2VyLXZlcnRpY2FsLWdhcC0tbGFyZ2U6IHZhcigtLWdhcC02KTtcbiAgLS1wcm9ncmVzc3RyYWNrZXItZnVsbC1tYXJrZXItc2l6ZTogMi44cmVtO1xuICAtLXByb2dyZXNzdHJhY2tlci1jb25uZWN0b3ItZ2FwOiAwLjVyZW07XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIFNpbW9uIENoZXN0ZXIgPHNpbW9uLmNoZXN0ZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuQGZ1bmN0aW9uIHR1aS10cmFuc2l0aW9uKCR0eXBlLCAkcHJvcGVydHkpIHtcbiAgQHJldHVybiAkcHJvcGVydHkgdmFyKC0tdHJhbnNpdGlvbi0jeyRwcm9wZXJ0eX0tZHVyYXRpb24pXG4gICAgdmFyKC0tdHJhbnNpdGlvbi0jeyRwcm9wZXJ0eX0tZnVuY3Rpb24pO1xufVxuXG46cm9vdCB7XG4gIC0tdHJhbnNpdGlvbi1mb3JtLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC0tdHJhbnNpdGlvbi1mb3JtLWR1cmF0aW9uOiAwcztcbiAgLS10cmFuc2l0aW9uLW1vZGFsLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLS10cmFuc2l0aW9uLW1vZGFsLWR1cmF0aW9uOiAwLjE1cztcbiAgLS10cmFuc2l0aW9uLXNpZGVwYW5lbC1jb250ZW50LWZ1bmN0aW9uOiBsaW5lYXI7XG4gIC0tdHJhbnNpdGlvbi1zaWRlcGFuZWwtY29udGVudC1kdXJhdGlvbjogMC4xcztcbiAgLS10cmFuc2l0aW9uLXByb2dyZXNzLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgLS10cmFuc2l0aW9uLXByb2dyZXNzLWR1cmF0aW9uOiAwLjNzO1xuICAtLXRyYW5zaXRpb24tYnV0dG9uLWZ1bmN0aW9uOiBlYXNlO1xuICAtLXRyYW5zaXRpb24tYnV0dG9uLWR1cmF0aW9uOiAwLjJzO1xuICAtLXRyYW5zaXRpb24tdG9nZ2xlLWZ1bmN0aW9uOiBlYXNlO1xuICAtLXRyYW5zaXRpb24tdG9nZ2xlLWR1cmF0aW9uOiAwLjJzO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpY2thZ2UgICB0dWkqL1xuXG46cm9vdCB7XG4gIC0tbW9kYWwtY29udGFpbmVyLXBhZGRpbmc6IHZhcigtLWdhcC0xMik7XG4gIC0tbW9kYWwtc2hlZXQtcGFkZGluZzogdmFyKC0tZ2FwLTEyKTtcbiAgLS1tb2RhbC1ib3JkZXItcmFkaXVzOiAwO1xuXG4gIC0tbW9kYWwtY29udGVudC1zZXBhcmF0aW9uOiB2YXIoLS1nYXAtMik7XG4gIC0tbW9kYWwtY29udGVudC1zZXBhcmF0aW9uLWxhcmdlOiB2YXIoLS1nYXAtOCk7XG4gIC0tbW9kYWwtY29udGVudC1vdXRlci1wYWRkaW5nOiB2YXIoLS1nYXAtOCk7XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjEgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIFNpbW9uIENoZXN0ZXIgPHNpbW9uLmNoZXN0ZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuOnJvb3Qge1xuICAtLWVtYmVkZGVkLW1lZGlhLW1heC13aWR0aDogNzAwcHg7XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIEtldmluIEhvdHRpbmdlciA8a2V2aW4uaG90dGluZ2VyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbi8qIFRoaXMgY29udGFpbnMgdGhlIGNvbW1vbiB2YXJpYWJsZSBzZXQgZm9yIGZvcm0gZWxlbWVudHMsKi9cbi8qIGFsbG93aW5nIGZvcm0gZWxlbWVudHMgdG8gYmUgY29uc2lzdGVudGx5IHN0eWxlZC4qL1xuXG4vKiBsb29zZWx5IGJhc2VkIG9uIGEgbW9kdWxhciBzY2FsZSBvZiAoMiAqICgxLjUgXiBuKSkqL1xuJHR1aS1jaGFyLWxlbmd0aC1zY2FsZTogMiwgMywgNCwgNSwgMTAsIDE1LCAyMCwgMjUsIDMwLCA1MCwgNzUsIDEwMDtcblxuLyogU2VsZWN0b3JzIGZvciBmb3JtIGlucHV0cyAoYW5kIHNpbWlsYXIgZWxlbWVudHMpIHRoYXQgc2hvdWxkIGhhdmUgc2l6ZXMgYXBwbGllZCB0byB0aGVtLiovXG4vKiBJZiBtb2RpZnlpbmcgdGhpcyBsaXN0IGluIGEgdGhlbWUsIGRvIGl0IHZpYSBhcHBlbmQoKSByYXRoZXIgdGhhbiByZXBsYWNpbmcqL1xuLyogdGhlIGVudGlyZSBsaXN0LiovXG4kdHVpLWZvcm0tbGF5b3V0LXNpemVkLWlucHV0czogKFxuICAnaW5wdXRbdHlwZV0udHVpLWZvcm1JbnB1dCcsXG4gICcudHVpLWZvcm1GaWVsZCcsXG4gICcudHVpLWZvcm1UZXh0YXJlYScsXG4gICcudHVpLWlucHV0Q29sb3InLFxuICAnLnR1aS1yYW5nZScsXG4gICcudHVpLXNlbGVjdCdcbik7XG5cbi8qIFNlbGVjdG9ycyBmb3IgaW5wdXRzIHRoYXQgYXJlICpyZXBsYWNlZCBlbGVtZW50cyouKi9cbi8qIFRoZSBiZWhhdmlvciBvZiB3aWR0aDogYXV0byBkaWZmZXJzIGZvciByZXBsYWNlZCBlbGVtZW50cywgc28gdGhlc2UgYXJlIHNldCovXG4vKiB0byB3aWR0aDogMTAwJSB0byBnZXQgdGhlIFwiZ3JvdyB0byBjb250YWluZXJcIiBiZWhhdmlvci4qL1xuLyogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL1JlcGxhY2VkX2VsZW1lbnQqL1xuLyogSG93ZXZlciwgdGhpcyBjYXVzZXMgYW4gaXNzdWUgaW4gY2VydGFpbiBjb250ZXh0cyAtIG5hbWVseSBpZiB0aGUgY29udGFpbmVyKi9cbi8qIGhhcyBhIG1hcmdpbi4gVGhpcyBsaXN0IGV4aXN0cyB0byBlbmFibGUgd29ya2Fyb3VuZHMgdXNpbmcgZmxleCBhdCB0aGUgc2l0ZSovXG4vKiBvZiB1c2UuKi9cbi8qIElmIG1vZGlmeWluZyB0aGlzIGxpc3QgaW4gYSB0aGVtZSwgZG8gaXQgdmlhIGFwcGVuZCgpIHJhdGhlciB0aGFuIHJlcGxhY2luZyovXG4vKiB0aGUgZW50aXJlIGxpc3QuKi9cbiR0dWktaW5wdXQtcmVwbGFjZWQtc2VsZWN0b3JzOiAoXG4gICdpbnB1dFt0eXBlXS50dWktZm9ybUlucHV0JyxcbiAgJy50dWktZm9ybVRleHRhcmVhJyxcbiAgJy50dWktcmFuZ2UnLFxuICAnLnR1aS1zZWxlY3QnXG4pO1xuXG4vKiBEb24ndCBhcHBseSB0aGUgZGVmYXVsdCBpbnB1dCBzaXplIGlmIHRoZSBlbGVtZW50IGlzIHdpdGhpbiBvbmUgb2YgdGhlc2UqL1xuLyogc2VsZWN0b3JzLiovXG4vKiAoaWYgaXQncyBub3Qgd2l0aGluIGEgZm9ybSwgaXQgd29uJ3QgYmUgYXBwbGllZCBlaXRoZXIpKi9cbiR0dWktaW5wdXQtbm8tZGVmYXVsdC1zaXplLXBhcmVudC1zZWxlY3RvcnM6IChcbiAgLyogbWlub3IgY29udmVuaWVuY2U6IHNwbGl0IGlucHV0IHNldHMgc2hvdWxkIG5vdCBoYXZlIHRoZSB3aWR0aCBzZXQsIHRvIHNhdmUqL1xuICAgIC8qIGRldmVsb3BlcnMgZnJvbSBoYXZpbmcgdG8gcGFzcyBjaGFyLWxlbmd0aD1cImZ1bGxcIiBhbGwgdGhlIHRpbWUqL1xuICAgICcudHVpLWlucHV0U2V0LS1zcGxpdCdcbik7XG5cbi8qIENhbGN1bGF0ZSBjaGFyYWN0ZXItYmFzZWQgc2l6aW5nIGZvciBpbnB1dHMuKi9cbkBmdW5jdGlvbiB0dWktY2hhci1sZW5ndGgoJG51bSkge1xuICBAcmV0dXJuIGNhbGMoI3skbnVtfSAqIHZhcigtLWZvcm0taW5wdXQtZm9udC1zaXplKSk7XG59XG5cbi8qIEdlbmVyYXRlIHNpemluZyBjbGFzcyBmb3Igc2l6ZSovXG5AbWl4aW4gdHVpLWNoYXItbGVuZ3RoLWNsYXNzKCRuYW1lLCAkd2lkdGgpIHtcbiAgJi0tY2hhckxlbmd0aC0jeyRuYW1lfSB7XG4gICAgbWF4LXdpZHRoOiAjeyR3aWR0aH07XG4gIH1cbn1cblxuLyogRGVmYXVsdCBpbnB1dCBzaXppbmcqL1xuQG1peGluIHR1aS1jaGFyLWxlbmd0aC1jbGFzcy1mb3JtLWRlZmF1bHQoKSB7XG4gIC8qIFNldCBhIGN1c3RvbSBzaXplIGZvciBpbnB1dHMgaW4gYSBsaW1pdGVkIGZvcm0qL1xuICAudHVpLWZvcm0tLWlucHV0V2lkdGgtbGltaXRlZCAmOm5vdCgudHVpLWlucHV0LS1jdXN0b21TaXplKSB7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1mb3JtLWlucHV0LWxpbWl0ZWQtd2lkdGgpO1xuICB9XG4gIEBlYWNoICRzZWwgaW4gJHR1aS1pbnB1dC1uby1kZWZhdWx0LXNpemUtcGFyZW50LXNlbGVjdG9ycyB7XG4gICAgLnR1aS1mb3JtLS1pbnB1dFdpZHRoLWxpbWl0ZWQgI3skc2VsfSAmOm5vdCgudHVpLWlucHV0LS1jdXN0b21TaXplKSB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qIEdlbmVyYXRlIHNpemluZyBjbGFzc2VzIGZvciBwcmVkZWZpbmVkIHNpemVzKi9cbkBtaXhpbiB0dWktY2hhci1sZW5ndGgtY2xhc3NlcygpIHtcbiAgQGVhY2ggJHNpemUgaW4gJHR1aS1jaGFyLWxlbmd0aC1zY2FsZSB7XG4gICAgQGluY2x1ZGUgdHVpLWNoYXItbGVuZ3RoLWNsYXNzKCRzaXplLCB0dWktY2hhci1sZW5ndGgoJHNpemUpKTtcbiAgfVxuICBAaW5jbHVkZSB0dWktY2hhci1sZW5ndGgtY2xhc3MtZm9ybS1kZWZhdWx0KCk7XG59XG5cbjpyb290IHtcbiAgLyogSGVpZ2h0IG9mIHNpbmdsZSBsaW5lIGZvcm0gZWxlbWVudHMgKGluY2x1ZGluZyBwYWRkaW5nICYgYm9yZGVyKSovXG4gIC0tZm9ybS1pbnB1dC1oZWlnaHQ6IDNyZW07XG4gIC8qIEhlaWdodCBvZiBsYXJnZSBzaW5nbGUgbGluZSBmb3JtIGVsZW1lbnRzIChpbmNsdWRpbmcgcGFkZGluZyAmIGJvcmRlcikqL1xuICAtLWZvcm0taW5wdXQtaGVpZ2h0LWxhcmdlOiA0cmVtO1xuICAvKiBJbm5lciBmb250IHNpemUgb2YgZm9ybSBlbGVtZW50cyovXG4gIC0tZm9ybS1pbnB1dC1mb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNSk7XG4gIC8qIElubmVyIGZvbnQgc2l6ZSBvZiBmb3JtIGVsZW1lbnRzKi9cbiAgLS1mb3JtLWlucHV0LWZvbnQtc2l6ZS1zbTogdmFyKC0tZm9udC1zaXplLTEzKTtcbiAgLyogQm9yZGVyIHNpemUgb2YgaW5wdXQgZWxlbWVudHMqL1xuICAtLWZvcm0taW5wdXQtYm9yZGVyLXNpemU6IDFweDtcbiAgLyogVmVydGljYWwgcGFkZGluZyBvZiBzaW5nbGUgbGluZSBmb3JtIGVsZW1lbnRzLCovXG4gIC8qIHRoZSBjYWxjdWxhdGlvbiBzcGxpdHMgdGhlIHJlbWFpbmluZyBhdmFpbGFibGUgc3BhY2UgdG8gbWVldCB0aGUgdGFyZ2V0IGhlaWdodC4qL1xuICAvKiBNdXN0IGJlIG9uIGEgc2luZ2xlIGxpbmUgb3RoZXJ3aXNlIGl0IGJyZWFrcyAoZm9yIHNvbWUgcmVhc29uISkgc28gbXVzdCBiZSBpZ25vcmVkIGJ5IHByZXR0aWVyLiovXG4gIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAtLWZvcm0taW5wdXQtdi1wYWRkaW5nOiBjYWxjKCh2YXIoLS1mb3JtLWlucHV0LWhlaWdodCkgLSB2YXIoLS1mb3JtLWlucHV0LWZvbnQtc2l6ZSkgLSAodmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItc2l6ZSkgKiAyKSkgLyAyKTtcbiAgLS1mb3JtLWlucHV0LWludmFsaWQtc2hhZG93LXNpemU6IDFweDtcblxuICAvKiBXaWR0aCBmb3IgXCJsaW1pdGVkXCIgd2lkdGggc2V0dGluZyovXG4gIC0tZm9ybS1pbnB1dC1saW1pdGVkLXdpZHRoOiB0dWktY2hhci1sZW5ndGgoMjApO1xuXG4gIC8qIFNpbXBsZSBOb3RlcGFkIHN0eWxlIGxpbmVzLCBmb3IgcHJpbnRpbmcgdW5hbnN3ZXJlZCBmb3JtIGlucHV0cy4qL1xuICAtLWZvcm0tbm90ZXBhZC1saW5lLWhlaWdodDogM3JlbTtcbiAgLS1mb3JtLW5vdGVwYWQtbGluZS1ib3JkZXI6IHNvbGlkIDFweDtcblxuICAvKiBTcGFjaW5nIGJldHdlZW4gZWxlbWVudHMgaW4gYW4gSW5wdXRTZXQqL1xuICAtLWlucHV0LXNldC1zcGFjaW5nOiB2YXIoLS1nYXAtMik7XG5cbiAgLS1jaGFyLWxlbmd0aC1zY2FsZTogJHR1aS1jaGFyLWxlbmd0aC1zY2FsZTtcblxuICAvKiBPZmZzZXQgZm9yIHJhZGlvIGxhYmVsKi9cbiAgLS1yYWRpby1sYWJlbC1vZmZzZXQ6IGNhbGModmFyKC0tZm9ybS1yYWRpby1zaXplKSAqIDEuMzUpO1xufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIxIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciBLZXZpbiBIb3R0aW5nZXIgPGtldmluLmhvdHRpbmdlckB0b3RhcmFsZWFybmluZy5jb20+Ki9cbi8qIEBtb2R1bGUgdHVpKi9cblxuOnJvb3Qge1xuICAvKiBHYXAgdG8gdGhlIGxlZnQgJiByaWdodCBvZiBkb3Qgc2VwYXJhdG9yKi9cbiAgLS1zZXBhcmF0b3ItZG90LWdhcDogMC41M2VtO1xuICAvKiBXaWR0aCAvIGhlaWdodCBvZiBkb3QqL1xuICAtLXNlcGFyYXRvci1kb3Qtc2l6ZTogMC4yZW07XG4gIC8qIEdhcCB0byB0aGUgbGVmdCAmIHJpZ2h0IG9mIHBpcGUgc2VwYXJhdG9yKi9cbiAgLS1zZXBhcmF0b3ItcGlwZS1nYXA6IDAuNTNlbTtcbiAgLyogV2lkdGggb2YgcGlwZSovXG4gIC0tc2VwYXJhdG9yLXBpcGUtc2l6ZTogMXB4O1xufVxuXG5AbWl4aW4gdHVpLXNlcGFyYXRvci1kb3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgJiA+ICogKyAqIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2VwYXJhdG9yLWRvdC1nYXApO1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1zZXBhcmF0b3ItZG90LWdhcCkgKyBjYWxjKHZhcigtLXNlcGFyYXRvci1kb3Qtc2l6ZSkgLSAxcHgpKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyh2YXIoLS1zZXBhcmF0b3ItZG90LXNpemUpIC8gMik7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1zZXBhcmF0b3ItZG90LXNpemUpO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICBib3JkZXItbGVmdDogdmFyKC0tc2VwYXJhdG9yLWRvdC1zaXplKSBzb2xpZDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gdHVpLXNlcGFyYXRvci1waXBlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gICYgPiAqICsgKiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNlcGFyYXRvci1waXBlLWdhcCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zZXBhcmF0b3ItcGlwZS1nYXApO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGhlaWdodDogMWVtO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICBib3JkZXItbGVmdDogdmFyKC0tc2VwYXJhdG9yLXBpcGUtc2l6ZSkgc29saWQ7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMuKi9cbi8qKi9cbi8qIENvcHlyaWdodCAoQykgMjAyMCBvbndhcmRzIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMgTFREKi9cbi8qKi9cbi8qIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMgaXMgcHJvdmlkZWQgb25seSB0byBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCdzIGN1c3RvbWVycyBhbmQgcGFydG5lcnMsIHB1cnN1YW50IHRvKi9cbi8qIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiBhIHNlcGFyYXRlIGFncmVlbWVudCB3aXRoIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREIG9yIGl0cyBhZmZpbGlhdGUuKi9cbi8qKi9cbi8qIElmIHlvdSBkbyBub3QgaGF2ZSBhbiBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zKi9cbi8qIExURCwgeW91IG1heSBub3QgYWNjZXNzLCB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlLiovXG4vKiBQbGVhc2UgY29udGFjdCBbbGljZW5zaW5nQHRvdGFyYWxlYXJuaW5nLmNvbV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uKi9cbi8qKi9cbi8qIEBhdXRob3IgICAgS2V2aW4gSG90dGluZ2VyIDxrZXZpbi5ob3R0aW5nZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuOnJvb3Qge1xuICAtLXRhZy1oZWlnaHQ6IDI0cHg7XG4gIC0tdGFnLWJvcmRlci1yYWRpdXM6IDEycHg7IC8qIC0tdGFnLWhlaWdodCAvIDIgLSBmb3Igc29tZSByZWFzb24gSUUgY2FsYyB3YXNuJ3Qgd29ya2luZyBjb3JyZWN0bHkgaGVyZSovXG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIEtldmluIEhvdHRpbmdlciA8a2V2aW4uaG90dGluZ2VyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbjpyb290IHtcbiAgLS1mb250LWJvZHktbGluZS1oZWlnaHQ6IDEuMzM7XG59XG5cbi8qKi9cbi8qIEJvZHkgdGV4dCovXG4vKiovXG5cbkBtaXhpbiB0dWktZm9udC1ib2R5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNSk7XG4gIGxpbmUtaGVpZ2h0OiB2YXIoLS1mb250LWJvZHktbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gdHVpLWZvbnQtYm9keS1zbWFsbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEzKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG59XG5cbkBtaXhpbiB0dWktZm9udC1ib2R5LXgtc21hbGwge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xMik7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG5AbWl4aW4gdHVpLWZvbnQtYm9keS14eC1zbWFsbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTExKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTtcbn1cblxuQG1peGluIHR1aS1mb250LWJvZHktZGlzYWJsZWQge1xuICBjb2xvcjogdmFyKC0tY29sb3ItdGV4dC1kaXNhYmxlZCk7XG59XG5cbkBtaXhpbiB0dWktZm9udC1ib2R5LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQtaGludCk7XG59XG5cbkBtaXhpbiB0dWktZm9udC1oZWF2eSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5AbWl4aW4gdHVpLWZvbnQtaGludCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhpbnQpO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKi9cbi8qIExpbmsgdGV4dCovXG4vKiovXG5cbkBtaXhpbiB0dWktZm9udC1saW5rIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTUpO1xuICBsaW5lLWhlaWdodDogMS4zMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZS1ob3Zlcik7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJjphY3RpdmU6aG92ZXIsXG4gICY6YWN0aXZlOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdGUtYWN0aXZlKTtcbiAgfVxufVxuXG5AbWl4aW4gdHVpLWZvbnQtbGluay1sYXJnZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgbGluZS1oZWlnaHQ6IDEuMzM7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdGUtaG92ZXIpO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICY6YWN0aXZlOmhvdmVyLFxuICAmOmFjdGl2ZTpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlLWFjdGl2ZSk7XG4gIH1cbn1cblxuQG1peGluIHR1aS1mb250LWxpbmstc21hbGwge1xuICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdGUpO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xMyk7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlLWhvdmVyKTtcbiAgfVxuXG4gICY6YWN0aXZlLFxuICAmOmFjdGl2ZTpob3ZlcixcbiAgJjphY3RpdmU6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZS1hY3RpdmUpO1xuICB9XG59XG5cbi8qKi9cbi8qIEhlYWRpbmcgdGV4dCovXG4vKiovXG5cbkBtaXhpbiB0dWktZm9udC1oZWFkaW5nLWxhcmdlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTUwKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbkBtaXhpbiB0dWktZm9udC1oZWFkaW5nLW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTMwKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbkBtaXhpbiB0dWktZm9udC1oZWFkaW5nLXNtYWxsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTIwKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbkBtaXhpbiB0dWktZm9udC1oZWFkaW5nLXNtYWxsLXJlZ3VsYXIge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yMCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xufVxuXG5AbWl4aW4gdHVpLWZvbnQtaGVhZGluZy14LXNtYWxsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG59XG5cbkBtaXhpbiB0dWktZm9udC1oZWFkaW5nLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE1KTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuQG1peGluIHR1aS1mb250LWhlYWRpbmctbGFiZWwtc21hbGwge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTMpO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbn1cblxuQG1peGluIHR1aS1mb250LWhlYWRpbmctcGFnZS10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy1tZWRpdW07XG59XG5cbi8qKi9cbi8qIFRleHQgd3JhcHBpbmcqL1xuLyoqL1xuXG4vKiBicmVhayB3aGVuIHRoZSB3b3JkIHN0YXJ0cyBvbiBhIG5ldyBsaW5lIGFuZCBicmVha3Mgd2hlcmUgaXQgd291bGQgaGF2ZSovXG4vKiBvdmVyZmxvd24sIGF1dG8gaW5zZXJ0aW5nIGh5cGhlbnMuIHVzZWZ1bCBmb3IgdXNlci1nZW5lcmF0ZWQgY29udGVudCB3aG9zZSovXG4vKiBjb250YWluZXJzIGFyZSBnZW5lcmFsbHkgZmxleGlibGUuIG1hY2hpbmUtaW5zZXJ0aW9uIG9mIGh5cGhlbnMgbWF5IG5vdCBiZSovXG4vKiBhbiBlbmQgdXNlciBwcmVmZXJlbmNlLCBidXQgaXQgY2FuIGJlIG1vcmUgcmVhZGFibGUgdGhhbiB3aXRob3V0LiovXG5AbWl4aW4gdHVpLXdvcmRicmVhay0taHlwaGVucyB7XG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xuICAgICAgICAgIGh5cGhlbnM6IGF1dG87XG4gIC5pZSAmIHtcbiAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgfVxufVxuXG4vKiBicmVhayBhbGwgd29yZHMgYXQgdGhlIGVuZCBvZiBsaW5lcywgZG9uJ3QgaHlwaGVuYXRlLiB1c2VmdWwgZm9yIHByZWRpY3RhYmxlKi9cbi8qIHBhcnRzIG9mIHRoZSBVSSB3aG9zZSBjb250YWluZXJzIGFyZSBsZXNzIGZsZXhpYmxlLiovXG5AbWl4aW4gdHVpLXdvcmRicmVhay0taGFyZCB7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogbm9uZTtcbiAgICAgIC1tcy1oeXBoZW5zOiBub25lO1xuICAgICAgICAgIGh5cGhlbnM6IG5vbmU7XG4gIC5pZSAmIHtcbiAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIC1tcy1oeXBoZW5zOiBub25lO1xuICB9XG59XG4iLCIvKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zLiovXG4vKiovXG4vKiBDb3B5cmlnaHQgKEMpIDIwMjAgb253YXJkcyBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zIExURCovXG4vKiovXG4vKiBUb3RhcmEgRW50ZXJwcmlzZSBFeHRlbnNpb25zIGlzIHByb3ZpZGVkIG9ubHkgdG8gVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQncyBjdXN0b21lcnMgYW5kIHBhcnRuZXJzLCBwdXJzdWFudCB0byovXG4vKiB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgb2YgYSBzZXBhcmF0ZSBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCBvciBpdHMgYWZmaWxpYXRlLiovXG4vKiovXG4vKiBJZiB5b3UgZG8gbm90IGhhdmUgYW4gYWdyZWVtZW50IHdpdGggVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyovXG4vKiBMVEQsIHlvdSBtYXkgbm90IGFjY2VzcywgdXNlLCBtb2RpZnksIG9yIGRpc3RyaWJ1dGUgdGhpcyBzb2Z0d2FyZS4qL1xuLyogUGxlYXNlIGNvbnRhY3QgW2xpY2Vuc2luZ0B0b3RhcmFsZWFybmluZy5jb21dIGZvciBtb3JlIGluZm9ybWF0aW9uLiovXG4vKiovXG4vKiBAYXV0aG9yICAgIFNpbW9uIENoZXN0ZXIgPHNpbW9uLmNoZXN0ZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuLyogI2RvY2sgaXMgMTIwMDAsIG1vZGFsIG11c3QgYmUgYWJvdmUgdGhhdCovXG46cm9vdCB7XG4gIC0temluZGV4LW1vZGFsOiAxMDAwNTA7XG4gIC0temluZGV4LWVycm9yLW1vZGFsOiAxMDAwNzA7XG4gIC0temluZGV4LW1vZGFsLWJhY2tkcm9wOiAxMDAwNDA7XG4gIC0temluZGV4LXBvcG92ZXI6IDEwMDA1MDtcbiAgLS16aW5kZXgtZHJvcGRvd24tbWVudTogMTAwMDA7XG4gIC0temluZGV4LWxvYWRpbmctcGFnZTogMTAwMDYwO1xuICAtLXppbmRleC10b2FzdDogMTAwMDcwO1xuICAtLXppbmRleC1kcmFnZ2FibGU6IDEwMDA4MDtcbn1cbiIsIi8qIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMuKi9cbi8qKi9cbi8qIENvcHlyaWdodCAoQykgMjAyMCBvbndhcmRzIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMgTFREKi9cbi8qKi9cbi8qIFRvdGFyYSBFbnRlcnByaXNlIEV4dGVuc2lvbnMgaXMgcHJvdmlkZWQgb25seSB0byBUb3RhcmEqL1xuLyogTGVhcm5pbmcgU29sdXRpb25zIExURCdzIGN1c3RvbWVycyBhbmQgcGFydG5lcnMsIHB1cnN1YW50IHRvKi9cbi8qIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiBhIHNlcGFyYXRlIGFncmVlbWVudCB3aXRoIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREIG9yIGl0cyBhZmZpbGlhdGUuKi9cbi8qKi9cbi8qIElmIHlvdSBkbyBub3QgaGF2ZSBhbiBhZ3JlZW1lbnQgd2l0aCBUb3RhcmEgTGVhcm5pbmcgU29sdXRpb25zKi9cbi8qIExURCwgeW91IG1heSBub3QgYWNjZXNzLCB1c2UsIG1vZGlmeSwgb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlLiovXG4vKiBQbGVhc2UgY29udGFjdCBbbGljZW5zaW5nQHRvdGFyYWxlYXJuaW5nLmNvbV0gZm9yIG1vcmUgaW5mb3JtYXRpb24uKi9cbi8qKi9cbi8qIEBhdXRob3IgICAgS2V2aW4gSG90dGluZ2VyIDxrZXZpbi5ob3R0aW5nZXJAdG90YXJhbGVhcm5pbmcuY29tPiovXG4vKiBAbW9kdWxlIHR1aWNrYWdlICAgdHVpKi9cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuLnR1aS1zci1vbmx5IHtcbiAgQGluY2x1ZGUgc3Itb25seSgpO1xufVxuXG4vKiByZW5kZXJlZCBlZGl0b3IgY29udGVudCovXG4udHVpLXJlbmRlcmVkIHtcbiAgQGluY2x1ZGUgdHVpLWZvbnQtYm9keSgpO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gIGgyIHtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1oZWFkaW5nLWxhcmdlKCk7XG4gIH1cblxuICBoMyB7XG4gICAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy1tZWRpdW0oKTtcbiAgfVxuXG4gIGg0IHtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1oZWFkaW5nLXNtYWxsKCk7XG4gIH1cblxuICBoNSB7XG4gICAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy14LXNtYWxsKCk7XG4gIH1cblxuICAmX19ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICZfX2VtYmVkQ29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWVtYmVkZGVkLW1lZGlhLW1heC13aWR0aCk7XG4gIH1cbn1cblxuLyogQ29sb3Igc3RhdGUgZm9yIHRoZSBpY29ucy4qL1xuLnR1aS1pY29uIHtcbiAgJi0tZGlzYWJsZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTIpO1xuICB9XG5cbiAgJi0tYWN0aW9uIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdGUpO1xuICB9XG5cbiAgJi0taW5mbyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXByb21wdC1pbmZvKTtcbiAgfVxuXG4gICYtLWFsZXJ0IHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJvbXB0LWFsZXJ0KTtcbiAgfVxuXG4gICYtLXdhcm5pbmcge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcm9tcHQtd2FybmluZyk7XG4gIH1cblxuICAmLS1zdWNjZXNzIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJvbXB0LXN1Y2Nlc3MpO1xuICB9XG5cbiAgJi0tZGltbWVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC02KTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktYWRkZXIge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWdhcC02KSAtIHZhcigtLW1vZGFsLWNvbnRlbnQtc2VwYXJhdGlvbikpO1xuXG4gICZfX2xpc3Qge1xuICAgIGhlaWdodDogMzE2cHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgICYtbG9hZE1vcmUge1xuICAgICAgbWFyZ2luOiB2YXIoLS1nYXAtNCkgMCB2YXIoLS1nYXAtNCk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1nYXAtNCk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cblxuICAmX19mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpIHNvbGlkIHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG5cbiAgICAmID4gKiB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtNik7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VtbWFyeSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIHR1aS1mb250LWhlYWRpbmctbGFiZWwoKTtcbiAgfVxuXG4gICZfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHR1aS1zY3JlZW4tc20pIHtcbiAgLnR1aS1hZGRlciB7XG4gICAgLnR1aS10YWJDb250ZW50IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDM4MHB4O1xuICAgIH1cblxuICAgICZfX2xpc3RCYXNrZXQge1xuICAgICAgbWluLWhlaWdodDogMzUwcHg7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1oaWVyYXJjaGljYWxQYXJlbnRCdXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtNCkgMCAwO1xuXG4gICZfX2JhY2tBcnJvdyB7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdHVpLXNjcmVlbi14cykge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLTIpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG46cm9vdCB7XG4gIC0tYXZhdGFyLWJvcmRlci1yYWRpdXM6IDUwJTtcbiAgLS1hdmF0YXItbGFyZ2Utd2lkdGg6IDE4NXB4O1xuICAtLWF2YXRhci1sYXJnZS1oZWlnaHQ6IDE4NXB4O1xuICAtLWF2YXRhci1sYXJnZS1wYWRkaW5nOiA1cHg7XG4gIC0tYXZhdGFyLW1lZGl1bS13aWR0aDogMTA1cHg7XG4gIC0tYXZhdGFyLW1lZGl1bS1oZWlnaHQ6IDEwNXB4O1xuICAtLWF2YXRhci1tZWRpdW0tcGFkZGluZzogM3B4O1xuICAtLWF2YXRhci1zbWFsbC13aWR0aDogNTBweDtcbiAgLS1hdmF0YXItc21hbGwtaGVpZ2h0OiA1MHB4O1xuICAtLWF2YXRhci1zbWFsbC1wYWRkaW5nOiAycHg7XG4gIC0tYXZhdGFyLXhzbWFsbC13aWR0aDogMzhweDtcbiAgLS1hdmF0YXIteHNtYWxsLWhlaWdodDogMzhweDtcbiAgLS1hdmF0YXIteHNtYWxsLXBhZGRpbmc6IDFweDtcbiAgLS1hdmF0YXIteHhzbWFsbC13aWR0aDogMjRweDtcbiAgLS1hdmF0YXIteHhzbWFsbC1oZWlnaHQ6IDI0cHg7XG4gIC0tYXZhdGFyLXh4c21hbGwtcGFkZGluZzogMXB4O1xufVxuXG4udHVpLWF2YXRhciB7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW5vcm1hbCkgc29saWQgdmFyKC0tYXZhdGFyLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWF2YXRhci1ib3JkZXItcmFkaXVzKTtcblxuICAmLS1sYXJnZSB7XG4gICAgd2lkdGg6IHZhcigtLWF2YXRhci1sYXJnZS13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1hdmF0YXItbGFyZ2UtaGVpZ2h0KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1hdmF0YXItbGFyZ2UtcGFkZGluZyk7XG4gIH1cblxuICAmLS1tZWRpdW0ge1xuICAgIHdpZHRoOiB2YXIoLS1hdmF0YXItbWVkaXVtLXdpZHRoKTtcbiAgICBoZWlnaHQ6IHZhcigtLWF2YXRhci1tZWRpdW0taGVpZ2h0KTtcbiAgICBwYWRkaW5nOiB2YXIoLS1hdmF0YXItbWVkaXVtLXBhZGRpbmcpO1xuICB9XG5cbiAgJi0tc21hbGwge1xuICAgIHdpZHRoOiB2YXIoLS1hdmF0YXItc21hbGwtd2lkdGgpO1xuICAgIGhlaWdodDogdmFyKC0tYXZhdGFyLXNtYWxsLWhlaWdodCk7XG4gICAgcGFkZGluZzogdmFyKC0tYXZhdGFyLXNtYWxsLXBhZGRpbmcpO1xuICB9XG5cbiAgJi0teHNtYWxsIHtcbiAgICB3aWR0aDogdmFyKC0tYXZhdGFyLXhzbWFsbC13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1hdmF0YXIteHNtYWxsLWhlaWdodCk7XG4gICAgcGFkZGluZzogdmFyKC0tYXZhdGFyLXhzbWFsbC1wYWRkaW5nKTtcbiAgfVxuXG4gICYtLXh4c21hbGwge1xuICAgIHdpZHRoOiB2YXIoLS1hdmF0YXIteHhzbWFsbC13aWR0aCk7XG4gICAgaGVpZ2h0OiB2YXIoLS1hdmF0YXIteHhzbWFsbC1oZWlnaHQpO1xuICAgIHBhZGRpbmc6IHZhcigtLWF2YXRhci14eHNtYWxsLXBhZGRpbmcpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWJhc2tldCB7XG4gIEBpbmNsdWRlIHR1aS1mb250LWJvZHkoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG4gIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICR0dWktc2NyZWVuLXNtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxuXG4gICZfX3N0YXR1cyxcbiAgJl9fYWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXAtMikgdmFyKC0tZ2FwLTMpO1xuXG4gICAgJiA+ICoge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTIpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcC00KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHR1aS1zY3JlZW4teHMpIHtcbiAgICAgICYgPiAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgID4gLnR1aS1mb3JtQnRuLS10cmFuc3BhcmVudCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWdhcC0xKTtcbiAgICAgIH1cblxuICAgICAgPiAqICsgKiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtMik7XG4gICAgICB9XG5cbiAgICAgIC50dWktYmFza2V0LS13aWRlR2FwICYge1xuICAgICAgICA+ICogKyAqIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLTQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fc2VsZWN0ZWQge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgJl9fc2VsZWN0ZWRDb3VudCB7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTgpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIFJlc2V0Ki9cbi50dWktdG9nZ2xlQnRuLFxuLnR1aS1mb3JtQnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxcHggN3B4IDJweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNvbG9yOiBidXR0b250ZXh0O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1pbmRlbnQ6IDA7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBidXR0b25mYWNlO1xuICBib3JkZXItY29sb3I6IHJnYigyMTYsIDIxNiwgMjE2KSByZ2IoMjA5LCAyMDksIDIwOSkgcmdiKDE4NiwgMTg2LCAxODYpO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyLWltYWdlOiBpbml0aWFsO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRvdWNoLWFjdGlvbjogYXV0bztcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XG5cbiAgJjphY3RpdmUge1xuICAgIGJvcmRlci1zdHlsZTogaW5zZXQ7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZS13aWR0aDogNXB4O1xuICAgIG91dGxpbmUtc3R5bGU6IGF1dG87XG4gIH1cbn1cblxuLnR1aS1mb3JtQnRuLFxuJXR1aS1mb3JtQnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4td2lkdGg6IHZhcigtLWJ0bi1taW4td2lkdGgpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IHZhcigtLWJ0bi1taW4taGVpZ2h0KTtcbiAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgcGFkZGluZzogY2FsYygodmFyKC0tYnRuLW1pbi1oZWlnaHQpIC0gdmFyKC0tZm9ybS1pbnB1dC1mb250LXNpemUpICogMS4yKSAvIDIgLSB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1zaXplKSkgdmFyKC0tZ2FwLTQpO1xuXG4gIGNvbG9yOiB2YXIoLS1idG4tdGV4dC1jb2xvcik7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1pbnB1dC1mb250LXNpemUpO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogbm9uZTtcbiAgICAgIC1tcy1oeXBoZW5zOiBub25lO1xuICAgICAgICAgIGh5cGhlbnM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1iZy1jb2xvcik7XG4gIGJvcmRlcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItc2l6ZSkgc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ0bi1yYWRpdXMpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IHR1aS10cmFuc2l0aW9uKCdidXR0b24nLCBiYWNrZ3JvdW5kLWNvbG9yKSxcbiAgICB0dWktdHJhbnNpdGlvbignYnV0dG9uJywgYm9yZGVyLWNvbG9yKSwgdHVpLXRyYW5zaXRpb24oJ2J1dHRvbicsIGJveC1zaGFkb3cpO1xuXG4gID4gLnR1aS1mb3JtQnRuX19jYXJldCB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcC0yKTtcbiAgfVxuXG4gIC50dWktZm9ybUJ0bl9fbG9hZGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1sb2FkZXItY29sb3ItZGlzYWJsZWQpO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlOmZvY3VzLFxuICAmOmFjdGl2ZTpob3ZlcixcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLWJ0bi10ZXh0LWNvbG9yLWZvY3VzKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWJnLWNvbG9yLWZvY3VzKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1ib3JkZXItY29sb3ItZm9jdXMpO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tYnRuLXNoYWRvdy1mb2N1cyk7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJjphY3RpdmU6Zm9jdXMsXG4gICY6YWN0aXZlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tYnRuLXRleHQtY29sb3ItYWN0aXZlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tYmctY29sb3ItYWN0aXZlKTtcbiAgICBib3JkZXI6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpIHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWJvcmRlci1jb2xvci1hY3RpdmUpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWJ0bi1zaGFkb3ctYWN0aXZlKTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICZbZGlzYWJsZWRdLFxuICAmLS1sb2FkaW5nIHtcbiAgICBjb2xvcjogdmFyKC0tYnRuLXRleHQtY29sb3ItZGlzYWJsZWQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJ0bi1iZy1jb2xvci1kaXNhYmxlZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tYm9yZGVyLWNvbG9yLWRpc2FibGVkKTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgb3BhY2l0eTogMTtcblxuICAgICY6YWN0aXZlLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgJjphY3RpdmU6aG92ZXIsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYnRuLXRleHQtY29sb3ItZGlzYWJsZWQpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnRuLWJnLWNvbG9yLWRpc2FibGVkKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWJvcmRlci1jb2xvci1kaXNhYmxlZCk7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtLWFsZXJ0IHtcbiAgICBjb2xvcjogdmFyKC0tYnRuLWFsZXJ0LXRleHQtY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1hbGVydC1iZy1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tYWxlcnQtYm9yZGVyLWNvbG9yKTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYnRuLWFsZXJ0LXRleHQtY29sb3ItZm9jdXMpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWFsZXJ0LWJnLWNvbG9yLWZvY3VzKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWFsZXJ0LWJvcmRlci1jb2xvci1mb2N1cyk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgJjphY3RpdmU6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWJ0bi1hbGVydC10ZXh0LWNvbG9yLWFjdGl2ZSk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tYWxlcnQtYmctY29sb3ItYWN0aXZlKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWFsZXJ0LWJvcmRlci1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0sXG4gICAgJi50dWktZm9ybUJ0bi0tbG9hZGluZyB7XG4gICAgICBjb2xvcjogdmFyKC0tYnRuLWFsZXJ0LXRleHQtY29sb3ItZGlzYWJsZWQpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWFsZXJ0LWJnLWNvbG9yLWRpc2FibGVkKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWFsZXJ0LWJvcmRlci1jb2xvci1kaXNhYmxlZCk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICAmOmFjdGl2ZSxcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZTpmb2N1cyxcbiAgICAgICY6YWN0aXZlOmhvdmVyLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1idG4tYWxlcnQtdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1hbGVydC1iZy1jb2xvci1kaXNhYmxlZCk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWFsZXJ0LWJvcmRlci1jb2xvci1kaXNhYmxlZCk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tcHJpbSB7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1wcmltLXRleHQtY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltLWJnLWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWJ0bi1wcmltLWJvcmRlci1jb2xvcik7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltLXRleHQtY29sb3ItZm9jdXMpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLXByaW0tYmctY29sb3ItZm9jdXMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbS1ib3JkZXItY29sb3ItZm9jdXMpO1xuICAgIH1cblxuICAgICY6YWN0aXZlLFxuICAgICY6YWN0aXZlOmZvY3VzLFxuICAgICY6YWN0aXZlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4tcHJpbS10ZXh0LWNvbG9yLWFjdGl2ZSk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tcHJpbS1iZy1jb2xvci1hY3RpdmUpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbS1ib3JkZXItY29sb3ItYWN0aXZlKTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdLFxuICAgICYudHVpLWZvcm1CdG4tLWxvYWRpbmcge1xuICAgICAgY29sb3I6IHZhcigtLWJ0bi1wcmltLXRleHQtY29sb3ItZGlzYWJsZWQpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLXByaW0tYmctY29sb3ItZGlzYWJsZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbS1ib3JkZXItY29sb3ItZGlzYWJsZWQpO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZTpob3ZlcixcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW0tdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWJ0bi1wcmltLWJnLWNvbG9yLWRpc2FibGVkKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tcHJpbS1ib3JkZXItY29sb3ItZGlzYWJsZWQpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50dWktZm9ybUJ0bl9fbG9hZGluZyB7XG4gICAgICBjb2xvcjogdmFyKC0tYnRuLXByaW0tbG9hZGVyLWNvbG9yLWRpc2FibGVkKTtcbiAgICB9XG4gIH1cblxuICAmLS1zbWFsbCB7XG4gICAgbWluLWhlaWdodDogdmFyKC0tZm9ybS1pbnB1dC1oZWlnaHQpO1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSovXG4gICAgcGFkZGluZzogY2FsYygodmFyKC0tZm9ybS1pbnB1dC1oZWlnaHQpIC0gdmFyKC0tZm9ybS1pbnB1dC1mb250LXNpemUtc20pICogMS4yKSAvIDIgLSB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1zaXplKSkgdmFyKC0tZ2FwLTMpO1xuXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb3JtLWlucHV0LWZvbnQtc2l6ZS1zbSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgfVxuXG4gICYtLXRyYW5zcGFyZW50LFxuICAmLS1yZXZlYWwge1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG5cbiAgJi0tdHJhbnNwYXJlbnQsXG4gICYtLXJldmVhbCxcbiAgJi0tc3RlYWx0aCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlLWZvY3VzKTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZS1ob3Zlcik7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJjphY3RpdmU6aG92ZXIsXG4gICAgJjphY3RpdmU6Zm9jdXMge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlLWFjdGl2ZSk7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuXG4gICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSB0dWktZm9jdXMoKTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkLFxuICAgICYudHVpLWZvcm1CdG4tLWxvYWRpbmcge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlLWRpc2FibGVkKTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgJjphY3RpdmUsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZTpob3ZlcixcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdGUtZGlzYWJsZWQpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1yZXZlYWwge1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1zdGF0ZSk7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjphY3RpdmU6aG92ZXIsXG4gICAgJjphY3RpdmU6Zm9jdXMge1xuICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgdmFyKC0tY29sb3Itc3RhdGUpO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQsXG4gICAgJi50dWktZm9ybUJ0bi0tbG9hZGluZyB7XG4gICAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gICAgICBvcGFjaXR5OiAwLjc7XG5cbiAgICAgICY6YWN0aXZlLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6YWN0aXZlOmZvY3VzLFxuICAgICAgJjphY3RpdmU6aG92ZXIsXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tdHJhbnNwYXJlbnQgJl9fdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJi0tbG9hZGluZyAmX190ZXh0IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAmLS1zck9ubHkge1xuICAgIEBpbmNsdWRlIHNyLW9ubHkoKTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWZvcm1CdG5Hcm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgLnR1aS1mb3JtQnRuIHtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gIH1cblxuICA+IDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luOiBhdXRvIDAgYXV0byB2YXIoLS1nYXAtNCk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWljb25CdG4ge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHVpL2F0LWV4dGVuZC1vbmx5LXBsYWNlaG9sZGVycyovXG4gIEBleHRlbmQgLnR1aS1mb3JtQnRuO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAwIHZhcigtLWdhcC0yKTtcblxuICAvKiBpbiBvcmRlciB0byB2ZXJ0aWNhbGx5IGNlbnRlciBjb250ZW50IGluIElFIHdlIG5lZWQgdGhpcyBkaXNwbGF5OiBmbGV4Ki9cbiAgLyogd3JhcHBpbmcgZGl2IGJlY2F1c2U6Ki9cbiAgLyogICAqIHB1dHRpbmcgYGRpc3BsYXk6IGZsZXg7YCBvbiAudHVpLWljb25CdG4gZG9lcyBub3QgY2VudGVyIHZlcnRpY2FsbHkqL1xuICAvKiAgICAgZHVlIHRvIGFuIElFIDExIGZsZXggYnVnKi9cbiAgLyogICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9waGlsaXB3YWx0b24vZmxleGJ1Z3MjZmxleGJ1Zy0zKi9cbiAgLyogICAqIHJlbHlpbmcgb24gdmVydGljYWwtYWxpZ24gZm9yIGNlbnRlcmluZyBpbnN0ZWFkIGlzIG5vdCBnb29kIGVub3VnaCAtKi9cbiAgLyogICAgIGl0J3Mgb2ZmIGJ5IGEgcHggb3IgdHdvKi9cbiAgJl9fd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgPiAudHVpLWljb25CdG5fX2NhcmV0IHtcbiAgICAgIG1hcmdpbjogMCB2YXIoLS1nYXAtMSk7XG4gICAgfVxuXG4gICAgPiAudHVpLWljb25CdG5fX2xvYWRpbmcge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcC0xKTtcbiAgICB9XG4gIH1cblxuICAmX19pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgQGluY2x1ZGUgdHVpLXdvcmRicmVhay0taGFyZDtcbiAgfVxuXG4gICYtLWFsZXJ0IHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHVpL2F0LWV4dGVuZC1vbmx5LXBsYWNlaG9sZGVycyovXG4gICAgQGV4dGVuZCAudHVpLWZvcm1CdG4tLWFsZXJ0O1xuICB9XG5cbiAgJi0tcHJpbSB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHR1aS9hdC1leHRlbmQtb25seS1wbGFjZWhvbGRlcnMqL1xuICAgIEBleHRlbmQgLnR1aS1mb3JtQnRuLS1wcmltO1xuICB9XG5cbiAgJi0tc21hbGwge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSB0dWkvYXQtZXh0ZW5kLW9ubHktcGxhY2Vob2xkZXJzKi9cbiAgICBAZXh0ZW5kIC50dWktZm9ybUJ0bi0tc21hbGw7XG4gICAgcGFkZGluZzogMCB2YXIoLS1nYXAtMSk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTMpO1xuXG4gICAgLnR1aS1pY29uQnRuX19pY29uIHtcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTQpO1xuICAgIH1cbiAgfVxuXG4gICYtLXhzbWFsbCB7XG4gICAgbWluLWhlaWdodDogMnJlbTtcbiAgICBwYWRkaW5nOiAwIDAuMXJlbTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xMik7XG5cbiAgICAudHVpLWljb25CdG5fX2ljb24ge1xuICAgICAgcGFkZGluZzogMCAxcHg7XG4gICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xMSk7XG4gICAgfVxuICB9XG5cbiAgJi0tc21hbGwmLS1oYXNUZXh0LFxuICAmLS14c21hbGwmLS1oYXNUZXh0IHtcbiAgICAudHVpLWljb25CdG5fX2ljb24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmLS1jaXJjbGUge1xuICAgIHdpZHRoOiAzLjZyZW07XG4gICAgaGVpZ2h0OiAzLjZyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmLnR1aS1pY29uQnRuLS1zbWFsbCB7XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICB9XG5cbiAgICAmLnR1aS1pY29uQnRuLS14c21hbGwge1xuICAgICAgd2lkdGg6IDJyZW07XG4gICAgICBoZWlnaHQ6IDJyZW07XG4gICAgfVxuICB9XG5cbiAgJi0tdHJhbnNwYXJlbnQge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSB0dWkvYXQtZXh0ZW5kLW9ubHktcGxhY2Vob2xkZXJzKi9cbiAgICBAZXh0ZW5kIC50dWktZm9ybUJ0bi0tdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmLS10cmFuc3BhcmVudC1ub1BhZGRpbmcge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSB0dWkvYXQtZXh0ZW5kLW9ubHktcGxhY2Vob2xkZXJzKi9cbiAgICBAZXh0ZW5kIC50dWktZm9ybUJ0bi0tdHJhbnNwYXJlbnQ7XG4gICAgJi50dWktaWNvbkJ0bixcbiAgICAmLnR1aS1pY29uQnRuLS1zbWFsbCxcbiAgICAmLnR1aS1pY29uQnRuLS14c21hbGwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAmLS1zdGVhbHRoIHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHVpL2F0LWV4dGVuZC1vbmx5LXBsYWNlaG9sZGVycyovXG4gICAgQGV4dGVuZCAudHVpLWZvcm1CdG4tLXN0ZWFsdGg7XG4gIH1cblxuICAmLS10ZXh0Rmlyc3QgJl9fbGFiZWwge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAudHVpLWljb25CdG5fX3RleHQge1xuICAgICAgcGFkZGluZzogMCB2YXIoLS1nYXAtMSk7XG4gICAgfVxuICB9XG59XG5cbi50dWktaWNvbkJ0bl9fdGV4dCB7XG4gIHBhZGRpbmc6IDAgdmFyKC0tZ2FwLTEpO1xufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWluZm9JY29uQnV0dG9uIHtcbiAgJi50dWktaWNvbkJ0biB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiAtMC4xMjVlbTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktbGFiZWxsZWRCdXR0b25UcmlnZ2VyIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJl9fbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktYWN0aW9uQ2FyZCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IHZhcigtLWdhcC00KTtcblxuICAmX19ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICZfX2FjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1pdGVtczogbm9ybWFsO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC00KSAwIDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHR1aS1zY3JlZW4tc20pIHtcbiAgLnR1aS1hY3Rpb25DYXJkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICYtLXN0YWNrZWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmOm5vdCgmLS1zdGFja2VkKSAmX19hY3Rpb24ge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIHZhcigtLWdhcC00KTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2FyZC1ib3JkZXItY29sb3IpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1jYXJkLWJvcmRlci1yYWRpdXMpO1xuICBvdXRsaW5lOiBub25lO1xuXG4gICZfX2xpbmsge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLS1ub0JvcmRlciB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi0taGFzSG92ZXJTaGFkb3c6Zm9jdXMsXG4gICYtLWhhc0hvdmVyU2hhZG93OmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctMik7XG4gIH1cblxuICAmLS1oYXNTaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy0yKTtcbiAgfVxuXG4gICYtLWNsaWNrYWJsZSB7XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZvcm0tZnVuY3Rpb24pXG4gICAgICB2YXIoLS10cmFuc2l0aW9uLWZvcm0tZHVyYXRpb24pO1xuXG4gICAgJi50dWktZm9jdXNXaXRoaW4ge1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LTIpO1xuICAgIH1cbiAgfVxuXG4gICYtLWNsaWNrYWJsZTpob3ZlcixcbiAgJi0tY2xpY2thYmxlOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctMik7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktY29sbGFwc2libGUge1xuICAmX19oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sbGFwc2libGUtaGVhZGVyLWJnLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC10aGluKSBzb2xpZFxuICAgICAgdmFyKC0tY29sbGFwc2libGUtaGVhZGVyLWJvcmRlci1jb2xvcik7XG5cbiAgICAmLWhlYWRpbmcge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSB0dWktd29yZGJyZWFrLS1oYXJkKCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWdhcC0yKSB2YXIoLS1nYXAtMikgdmFyKC0tZ2FwLTIpIDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSB0dWktZm9jdXMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWljb24ge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBtYXJnaW46IDAgdmFyKC0tZ2FwLTQpO1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgICB9XG5cbiAgICAmLXRleHQge1xuICAgICAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy14LXNtYWxsKCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJi1zaWRlQ29udGVudCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBwYWRkaW5nOiB2YXIoLS1nYXAtMik7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgJiA+IC50dWktZm9ybVJvd1N0YWNrIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC00KTtcbiAgICB9XG5cbiAgICAvKiBsaW5lIHVwIHdpdGggdGV4dCBvZiBoZWFkZXIqL1xuICAgICYtLWluZGVudGVkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTEyKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWNvbGxhcHNpYmxlR3JvdXBUb2dnbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICAmLS1hbGlnbkVuZCAmX19idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWhpZGVTaG93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgICYtLXNob3cge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX3RvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXAtMikgMDtcblxuICAgICYtLXN0aWNreSB7XG4gICAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAwO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0dWktc2NyZWVuLXNtKSB7XG4gIC50dWktaGlkZVNob3ctLW1vYmlsZSB7XG4gICAgJiA+IC50dWktaGlkZVNob3dfX3RvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYgPiAudHVpLWhpZGVTaG93X19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZGF0YVRhYmxlQ2VsbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtYmFzaXM6IDA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMTtcblxuICAvKiBlbnN1cmUgZXhjZXNzaXZlbHkgbG9uZyB3b3JkcyBkb24ndCBwdXNoIG91dCBjZWxsIHdpZHRoICovXG4gIG1pbi13aWR0aDogMDtcblxuICAvKiBlbnN1cmUgZXhjZXNzaXZlbHkgbG9uZyB3b3JkcyBkb24ndCBvdmVyZmxvdyAqL1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgJl9fbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTIpO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC0xKSAwIHZhcigtLWdhcC0yKTtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1oZWFkaW5nLWxhYmVsLXNtYWxsKCk7XG4gIH1cblxuICAmLS1zdGFja2VkICZfX2xhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAmLS1yZXBlYXRlZEhlYWRlciAmX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBzci1vbmx5KCk7XG4gIH1cblxuICAmLS1zaXplIHtcbiAgICAmXzEge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cblxuICAgICZfMiB7XG4gICAgICBmbGV4LWdyb3c6IDI7XG4gICAgfVxuXG4gICAgJl8zIHtcbiAgICAgIGZsZXgtZ3JvdzogMztcbiAgICB9XG5cbiAgICAmXzQge1xuICAgICAgZmxleC1ncm93OiA0O1xuICAgIH1cblxuICAgICZfNSB7XG4gICAgICBmbGV4LWdyb3c6IDU7XG4gICAgfVxuXG4gICAgJl82IHtcbiAgICAgIGZsZXgtZ3JvdzogNjtcbiAgICB9XG5cbiAgICAmXzcge1xuICAgICAgZmxleC1ncm93OiA3O1xuICAgIH1cblxuICAgICZfOCB7XG4gICAgICBmbGV4LWdyb3c6IDg7XG4gICAgfVxuXG4gICAgJl85IHtcbiAgICAgIGZsZXgtZ3JvdzogOTtcbiAgICB9XG5cbiAgICAmXzEwIHtcbiAgICAgIGZsZXgtZ3JvdzogMTA7XG4gICAgfVxuXG4gICAgJl8xMSB7XG4gICAgICBmbGV4LWdyb3c6IDExO1xuICAgIH1cblxuICAgICZfMTIge1xuICAgICAgZmxleC1ncm93OiAxMjtcbiAgICB9XG5cbiAgICAmXzEzIHtcbiAgICAgIGZsZXgtZ3JvdzogMTM7XG4gICAgfVxuXG4gICAgJl8xNCB7XG4gICAgICBmbGV4LWdyb3c6IDE0O1xuICAgIH1cblxuICAgICZfMTUge1xuICAgICAgZmxleC1ncm93OiAxNTtcbiAgICB9XG5cbiAgICAmXzE2IHtcbiAgICAgIGZsZXgtZ3JvdzogMTY7XG4gICAgfVxuICB9XG5cbiAgJi0tYWxpZ24ge1xuICAgICYtY2VudGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi1lbmQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gICYtLWhlYXZ5IHtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1oZWF2eSgpO1xuICB9XG5cbiAgJi0tdmFsaWduIHtcbiAgICAmLWNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLWVuZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxuXG4gICYtLXN0YWNrZWQge1xuICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGluaXRpYWw7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZGF0YVRhYmxlRXhwYW5kQ2VsbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG9yZGVyOiAwO1xuICB3aWR0aDogdmFyKC0tZ2FwLTkpO1xuICBtYXJnaW46IDA7XG5cbiAgLnR1aS1pY29uQnRuIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gICYudHVpLWRhdGFUYWJsZUV4cGFuZENlbGwtLWhlYWRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAmLS1zdGFja2VkIHtcbiAgICBvcmRlcjogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IHZhcigtLWdhcC0yKSAwO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZGF0YVRhYmxlRXhwYW5kYWJsZVJvdyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgdmFyKC0tZ2FwLTIpIGNhbGMoMHB4IC0gdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pKTtcbiAgY29sb3I6IHZhcigtLWRhdGF0YWJsZS1leHBhbmRlZC10ZXh0LWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tZGF0YXRhYmxlLWV4cGFuZGVkLWJnLWNvbG9yKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tZGF0YXRhYmxlLWV4cGFuZGVkLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy0yKTtcblxuICAmLS1zdGVhbHRoIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAmX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwLTMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhdGF0YWJsZS1leHBhbmRlZC1iZy1jb2xvcik7XG4gIH1cblxuICAmLS1pbmRlbnRlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtMTEpO1xuICB9XG5cbiAgJi0tc3RhY2tlZCB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuXG4gICYtLXN0YWNrZWQmLS1pbmRlbnRlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgJi0taW5kZW50ZWQgJl9fY29udGVudCB7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwLTMpIDAgdmFyKC0tZ2FwLTMpIHZhcigtLWdhcC0zKTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1kYXRhVGFibGVIZWFkZXJDZWxsIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHR1aS9hdC1leHRlbmQtb25seS1wbGFjZWhvbGRlcnMqL1xuICBAZXh0ZW5kIC50dWktZGF0YVRhYmxlQ2VsbDtcbiAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy1sYWJlbCgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBjb2xvcjogdmFyKC0tZGF0YXRhYmxlLWNlbGwtaGVhZGVyLXRleHQtY29sb3IpO1xuICBmb250LXdlaWdodDogYm9sZDtcblxuICAmLS1zdGFja2VkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZGF0YVRhYmxlUm93SGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtMykgdmFyKC0tZ2FwLTEpO1xuXG4gICYtLXN0YWNrZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmLS1lbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYgPiAqICsgKiB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcC00KTtcbiAgfVxuXG4gICYtLWluZGVudGVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC0xMSk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZGF0YVRhYmxlUm93IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtMykgdmFyKC0tZ2FwLTEpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXRhdGFibGUtcm93LWJnLWNvbG9yKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWRhdGF0YWJsZS1yb3ctYm9yZGVyLWNvbG9yKTtcblxuICAmID4gKiArICoge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTQpO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLW5vcm1hbCkgc29saWRcbiAgICAgIHZhcigtLWRhdGF0YWJsZS1yb3ctZmlyc3QtYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWRhdGF0YWJsZS1yb3ctYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYudHVpLWZvY3VzV2l0aGluLFxuICAmOmFjdGl2ZSxcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZGF0YXRhYmxlLXJvdy1iZy1jb2xvci1mb2N1cyk7XG4gIH1cblxuICAmLS1pbmRlbnRlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtMTEpO1xuICB9XG5cbiAgJi0tc3RlYWx0aCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICYtLWJvcmRlclRvcEZpcnN0T2ZmIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi0tYm9yZGVyQm90dG9tTGFzdE9mZiB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi0tYm9yZGVyU2VwYXJhdG9yT2ZmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG5cbiAgJi0tc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhdGF0YWJsZS1yb3ctYmctY29sb3ItYWN0aXZlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGF0YXRhYmxlLXJvdy1iZy1jb2xvci1mb2N1cyk7XG4gICAgfVxuICB9XG5cbiAgJi0tY29sb3JPZGQ6bm90KCYtLXNlbGVjdGVkKSB7XG4gICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXRhdGFibGUtcm93LWJnLWNvbG9yLW9kZCk7XG5cbiAgICAgICYudHVpLWZvY3VzV2l0aGluLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhdGF0YWJsZS1yb3ctYmctY29sb3ItZm9jdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWhvdmVyT2ZmIHtcbiAgICAmLnR1aS1mb2N1c1dpdGhpbixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWRhdGF0YWJsZS1yb3ctYmctY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gICYtLWhvdmVyT2ZmJi0tY29sb3JPZGQge1xuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgJi50dWktZm9jdXNXaXRoaW4sXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGF0YXRhYmxlLXJvdy1iZy1jb2xvci1vZGQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWluR3JvdXAge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtLWRpc2FibGVkIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC02KTtcbiAgfVxuXG4gIC8qIGRvbid0IHNob3cgaG92ZXIgYmFja2dyb3VuZCB3aGVuIGFub3RoZXIgaXRlbSBpcyBiZWluZyBkcmFnZ2VkIG92ZXIgaXQqL1xuICBbZGF0YS10dWktZHJvcHBhYmxlLWFueS1hY3RpdmVdICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhdGF0YWJsZS1yb3ctYmctY29sb3IpO1xuICB9XG5cbiAgJi0tZHJhZ2dhYmxlIHtcbiAgICAvKiBhcHBseSBhIGJhY2tncm91bmQgc28geW91IGRvbid0IHNlZSB0aHJvdWdoIHRoZSByb3cgd2hlbiBkcmFnZ2luZyovXG4gICAgLyogKGRlZmF1bHQgaXMgdHJhbnNwYXJlbnQpKi9cbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAmLnR1aS1mb2N1c1dpdGhpbixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIH1cbiAgfVxuXG4gICYtLWRyYWdnYWJsZSA+IC50dWktZGF0YVRhYmxlQ2VsbCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmLS1kcmFnZ2luZyB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LTMpO1xuICB9XG5cbiAgJi0tZXhwYW5kZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDBweCAtIHZhcigtLWJvcmRlci13aWR0aC10aGluKSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGF0YXRhYmxlLWV4cGFuZGVkLWJnLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC10aGluKSBzb2xpZFxuICAgICAgdmFyKC0tZGF0YXRhYmxlLWV4cGFuZGVkLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctMik7XG4gIH1cblxuICAmLS1zdGVhbHRoRXhwYW5kZWQge1xuICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi50dWktZGF0YVRhYmxlUm93LS1zdGFja2VkIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogdmFyKC0tZ2FwLTMpIDA7XG5cbiAgJiA+ICogKyAqIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKSBzb2xpZFxuICAgICAgdmFyKC0tZGF0YXRhYmxlLXJvdy1maXJzdC1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tZGF0YXRhYmxlLXJvdy1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJi50dWktZGF0YVRhYmxlUm93LS1pbkdyb3VwIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tZGF0YXRhYmxlLXJvdy1ib3JkZXItY29sb3IpO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZGF0YVRhYmxlUm93R3JvdXAge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItdG9wOiAycHggc29saWQgdmFyKC0tZGF0YXRhYmxlLXJvdy1maXJzdC1ib3JkZXItY29sb3IpO1xuXG4gICYtLXN0YWNrZWQge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tZ2FwLTIpO1xuICB9XG5cbiAgJiArICYge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1kYXRhdGFibGUtcm93LWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1kYXRhdGFibGUtcm93LWJvcmRlci1jb2xvcik7XG4gIH1cblxuICAmLnR1aS1mb2N1c1dpdGhpbixcbiAgJjphY3RpdmUsXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhdGF0YWJsZS1yb3ctYmctY29sb3ItZm9jdXMpO1xuICB9XG5cbiAgJi0tc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWRhdGF0YWJsZS1yb3ctYmctY29sb3ItYWN0aXZlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tZGF0YXRhYmxlLXJvdy1iZy1jb2xvci1mb2N1cyk7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1kYXRhVGFibGVTZWxlY3RFdmVyeVJvd1RvZ2dsZSB7XG4gIHBhZGRpbmc6IHZhcigtLWdhcC0yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZGF0YXRhYmxlLXNlbGVjdC1ldmVyeXRoaW5nLXByb21wdC1iZyk7XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1kYXRhVGFibGVTZWxlY3RSb3dDZWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAmLS1oaWRkZW4ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gICZfX2xvYWRlciB7XG4gICAgd2lkdGg6IHZhcigtLWZvcm0tY2hlY2tib3gtc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUpO1xuXG4gICAgJi0tbGFyZ2Uge1xuICAgICAgd2lkdGg6IHZhcigtLWZvcm0tY2hlY2tib3gtc2l6ZS1sYXJnZSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLWZvcm0tY2hlY2tib3gtc2l6ZS1sYXJnZSk7XG4gICAgfVxuICB9XG5cbiAgJi0tc3RhY2tlZCYtLWhpZGRlbiB7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgJi0tdmFsaWduIHtcbiAgICAmLXN0YXJ0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmLWNlbnRlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLWVuZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWRhdGFUYWJsZVNlbGVjdFZpc2libGVSb3dzQ2VsbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJi0taGlkZGVuIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAmX19sb2FkZXIge1xuICAgIHdpZHRoOiB2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tZm9ybS1jaGVja2JveC1zaXplKTtcblxuICAgICYtLWxhcmdlIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUtbGFyZ2UpO1xuICAgICAgaGVpZ2h0OiB2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUtbGFyZ2UpO1xuICAgIH1cbiAgfVxuXG4gICYtLXN0YWNrZWQge1xuICAgIG1hcmdpbjogdmFyKC0tZ2FwLTIpIDA7XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1oZWFkaW5nLWxhYmVsLXNtYWxsKCk7XG5cbiAgICBwYWRkaW5nOiAwIDAgdmFyKC0tZ2FwLTEpIHZhcigtLWdhcC0xKTtcblxuICAgICYtLXN0YWNrZWQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgICYtLWxhcmdlIHtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWdhcC0xKSAwIHZhcigtLWdhcC0xKSB2YXIoLS1nYXAtMik7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWRhdGFUYWJsZSB7XG4gICYtLWFyY2hpdmVkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1kYXRhdGFibGUtYmctYXJjaGl2ZWQpO1xuICB9XG5cbiAgJl9fcm93LW1vdmUtY2VsbCB7XG4gICAgZmxleC1iYXNpczogdmFyKC0tZ2FwLTUpO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgfVxuXG4gICZfX3Jvdy1tb3ZlLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogdmFyKC0tZ2FwLTgpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1hbmRCb3gge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHVpL2F0LWV4dGVuZC1vbmx5LXBsYWNlaG9sZGVycyovXG4gIEBleHRlbmQgLnR1aS1vckJveDtcblxuICAmX190ZXh0IHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHVpL2F0LWV4dGVuZC1vbmx5LXBsYWNlaG9sZGVycyovXG4gICAgQGV4dGVuZCAudHVpLW9yQm94X190ZXh0O1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuQG1peGluIGdlbmVyYXRlLWFycm93LWJhc2UoJHNlbCwgJHNpemUpIHtcbiAgI3skc2VsfS0tdG9wLFxuICAjeyRzZWx9LS1ib3R0b20ge1xuICAgIC8qcnRsOmlnbm9yZSovXG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2l6ZSAqIDI7XG4gICAgaGVpZ2h0OiAkc2l6ZSAqIDI7XG4gICAgLypydGw6aWdub3JlKi9cbiAgICBtYXJnaW4tbGVmdDogLSRzaXplO1xuICB9XG5cbiAgI3skc2VsfS0tdG9wIHtcbiAgICB0b3A6IC0oJHNpemUgKiAyKTtcbiAgfVxuXG4gICN7JHNlbH0tLWJvdHRvbSB7XG4gICAgYm90dG9tOiAtKCRzaXplICogMik7XG4gIH1cblxuICAjeyRzZWx9LS1sZWZ0LFxuICAjeyRzZWx9LS1yaWdodCB7XG4gICAgdG9wOiA1MCU7XG4gICAgd2lkdGg6ICRzaXplICogMjtcbiAgICBoZWlnaHQ6ICRzaXplICogMjtcbiAgICBtYXJnaW4tdG9wOiAtJHNpemU7XG4gIH1cblxuICAjeyRzZWx9LS1sZWZ0IHtcbiAgICBsZWZ0OiAtKCRzaXplICogMik7XG4gIH1cblxuICAjeyRzZWx9LS1yaWdodCB7XG4gICAgcmlnaHQ6IC0oJHNpemUgKiAyKTtcbiAgfVxufVxuXG5AbWl4aW4gZ2VuZXJhdGUtYXJyb3ctcGFydCgkc2VsLCAkc2VsXzIsICRzaXplLCAkb2Zmc2V0LCAkY29sb3IpIHtcbiAgI3skc2VsfSN7JHNlbF8yfSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogJHNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAjeyRzZWx9LS10b3AjeyRzZWxfMn0ge1xuICAgIHRvcDogJG9mZnNldCAqIDI7XG4gICAgbGVmdDogJG9mZnNldDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRzZWx9LS1ib3R0b20jeyRzZWxfMn0ge1xuICAgIGJvdHRvbTogJG9mZnNldCAqIDI7XG4gICAgbGVmdDogJG9mZnNldDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRzZWx9LS1sZWZ0I3skc2VsXzJ9IHtcbiAgICB0b3A6ICRvZmZzZXQ7XG4gICAgbGVmdDogJG9mZnNldCAqIDI7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkY29sb3I7XG4gIH1cblxuICAjeyRzZWx9LS1yaWdodCN7JHNlbF8yfSB7XG4gICAgdG9wOiAkb2Zmc2V0O1xuICAgIHJpZ2h0OiAkb2Zmc2V0ICogMjtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi50dWktYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5AaW5jbHVkZSBnZW5lcmF0ZS1hcnJvdy1iYXNlKCcudHVpLWFycm93LS1ub3JtYWwudHVpLWFycm93JywgMTBweCk7XG5AaW5jbHVkZSBnZW5lcmF0ZS1hcnJvdy1wYXJ0KFxuICAnLnR1aS1hcnJvdy0tbm9ybWFsLnR1aS1hcnJvdycsXG4gICc6OmJlZm9yZScsXG4gIDEwcHgsXG4gIDAsXG4gIHZhcigtLWFycm93LWJvcmRlci1jb2xvcilcbik7XG5AaW5jbHVkZSBnZW5lcmF0ZS1hcnJvdy1wYXJ0KFxuICAnLnR1aS1hcnJvdy0tbm9ybWFsLnR1aS1hcnJvdycsXG4gICc6OmFmdGVyJyxcbiAgOHB4LFxuICAycHgsXG4gIHZhcigtLWFycm93LWJnLWNvbG9yKVxuKTtcblxuQGluY2x1ZGUgZ2VuZXJhdGUtYXJyb3ctYmFzZSgnLnR1aS1hcnJvdy0tbGFyZ2UudHVpLWFycm93JywgMTRweCk7XG5AaW5jbHVkZSBnZW5lcmF0ZS1hcnJvdy1wYXJ0KFxuICAnLnR1aS1hcnJvdy0tbGFyZ2UudHVpLWFycm93JyxcbiAgJzo6YmVmb3JlJyxcbiAgMTRweCxcbiAgMCxcbiAgdmFyKC0tYXJyb3ctYm9yZGVyLWNvbG9yKVxuKTtcbkBpbmNsdWRlIGdlbmVyYXRlLWFycm93LXBhcnQoXG4gICcudHVpLWFycm93LS1sYXJnZS50dWktYXJyb3cnLFxuICAnOjphZnRlcicsXG4gIDEycHgsXG4gIDJweCxcbiAgdmFyKC0tYXJyb3ctYmctY29sb3IpXG4pO1xuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1vckJveCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtYXJnaW46IDAgYXV0bztcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tY29sb3ItbmV1dHJhbC02KTtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuXG4gICZfX3RleHQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXAtMikgdmFyKC0tZ2FwLTQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy1sYWJlbCgpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1zZXBhcmF0b3Ige1xuICBtYXJnaW46IHZhcigtLWdhcC00KSAwO1xuXG4gICYtLXNwcmVhZCB7XG4gICAgbWFyZ2luOiB2YXIoLS1nYXAtOCkgMDtcbiAgfVxuXG4gIC8qIHNpbXBsZSBpbXBsZW1lbnRhdGlvbiB1c2luZyBhIGhvcml6b250YWwgcnVsZSBlbGVtZW50Ki9cbiAgJi1ydWxlIHtcbiAgICBoZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gICAgYm9yZGVyOiBub25lO1xuXG4gICAgJi50dWktc2VwYXJhdG9yLS10aGljayB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC10aGljayk7XG4gICAgICBsaW5lLWhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaWNrKTtcbiAgICB9XG5cbiAgICAmLnR1aS1zZXBhcmF0b3ItLW5vcm1hbCB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpO1xuICAgIH1cbiAgfVxuXG4gIC8qIGFsdGVybmF0aXZlIGltcGxlbWVudGF0aW9uIHdpdGggd3JhcHBlciBtYXJrdXAgdG8gY2VudGVyIHNsb3R0ZWQgY29udGVudCovXG4gIC8qIGhvcml6b250YWwgcnVsZSB2aXNpYmxlIG9ubHkgdG8gc2NyZWVuIHJlYWRlcnMsIHRoZSB2aXN1YWwgbGluZXMgYWRkZWQgd2l0aCovXG4gIC8qIHBzZXVkbyBzZWxlY3RvcnMqL1xuICAmLS13cmFwcGVkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAudHVpLXNlcGFyYXRvci1jb250ZW50IHtcbiAgICAgIG1hcmdpbjogMCB2YXIoLS1nYXAtNCk7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC10aGluKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAmLnR1aS1zZXBhcmF0b3ItLXRoaWNrOmJlZm9yZSxcbiAgICAmLnR1aS1zZXBhcmF0b3ItLXRoaWNrOmFmdGVyIHtcbiAgICAgIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaWNrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpY2spO1xuICAgIH1cblxuICAgICYudHVpLXNlcGFyYXRvci0tbm9ybWFsOmJlZm9yZSxcbiAgICAmLnR1aS1zZXBhcmF0b3ItLW5vcm1hbDphZnRlciB7XG4gICAgICBoZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpO1xuICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktcGVyZm9ybWFuY2Uge1xuICAmX19zdW1tYXJ5IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG5cbiAgJl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJl9fd3JhcHBlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXAtNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tZ2FwLTQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuXG4gICAgPiAqIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC0yKTtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTIpO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1jaGFydC10cmFuc3BhcmVudC0zKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbltkYXRhLXR1aS1kcmFnZ2FibGVdIHtcbiAgJltkYXRhLWFuaW1hdGVkXSB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzO1xuICB9XG5cbiAgJltkYXRhLWRyYWdnaW5nXSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IHZhcigtLXppbmRleC1kcmFnZ2FibGUpO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC8qIHJlcXVpcmVkIHNvIGRyb3BwYWJsZSBjYW4gZ2V0IG1vdXNlIGV2ZW50cyovXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZHJhZ2dhYmxlTW92ZU1lbnUge1xuICAmX19idXR0b246bm90KDpmb2N1cyk6bm90KFthcmlhLWV4cGFuZGVkPSd0cnVlJ10pIHtcbiAgICBAaW5jbHVkZSBzci1vbmx5KCk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWRyb3BwYWJsZSB7XG4gICZfX2Ryb3BMaW5lIHtcbiAgICB6LWluZGV4OiB2YXIoLS16aW5kZXgtZHJhZ2dhYmxlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zZWNvbmRhcnkpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgJi0tdmVydGljYWwge1xuICAgICAgaGVpZ2h0OiB2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKTtcbiAgICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLW5vcm1hbCkgKiAtMC41KTtcbiAgICB9XG5cbiAgICAmLS1ob3Jpem9udGFsIHtcbiAgICAgIHdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpICogLTAuNSk7XG4gICAgfVxuICB9XG59XG5bZGF0YS10dWktZHJvcHBhYmxlLWxvY2F0aW9uLWluZGljYXRvcl0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1kcm9wZG93biB7XG4gICZfX21lbnUge1xuICAgIHotaW5kZXg6IHZhcigtLXppbmRleC1kcm9wZG93bi1tZW51KTtcbiAgICBtaW4td2lkdGg6IDE1cmVtO1xuICAgIG1heC13aWR0aDogMzVyZW07XG4gICAgbWF4LWhlaWdodDogNDB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRyb3Bkb3duLW1lbnUtYmctY29sb3IpO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tZHJvcGRvd24tbWVudS1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy0yKTtcbiAgfVxuXG4gICYtLWZsZXhpYmxlV2lkdGggJl9fbWVudSB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmLS1zZXBhcmF0b3IgPiAqICsgKiB7XG4gICAgICBib3JkZXItdG9wOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWRcbiAgICAgICAgdmFyKC0tZHJvcGRvd24tbWVudS1ib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gICYtLWZpeGVkSGVpZ2h0IHtcbiAgICAudHVpLWRyb3Bkb3duX19jb250ZW50IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAudHVpLWRyb3Bkb3duX19tZW51IHtcbiAgICAgIGhlaWdodDogMzh2aDtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgJi0tZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgLnR1aS1kcm9wZG93bl9fdHJpZ2dlciB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8qIG92ZXJyaWRlIDxidXR0b24+IHN0eWxlcyovXG4udHVpLWRyb3Bkb3duQnV0dG9uIHtcbiAgY29sb3I6IHZhcigtLWRyb3Bkb3duLWl0ZW0tdGV4dC1jb2xvcik7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXM6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLyogdHVpLWRyb3Bkb3duQnV0dG9uIHN0eWxlcyovXG4udHVpLWRyb3Bkb3duQnV0dG9uIHtcbiAgQGluY2x1ZGUgdHVpLWZvbnQtYm9keSgpO1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtMikgdmFyKC0tZ2FwLTQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaW5lLWhlaWdodDogMS40O1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1czphY3RpdmUge1xuICAgIGNvbG9yOiB2YXIoLS1kcm9wZG93bi1pdGVtLXRleHQtY29sb3ItaG92ZXIpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kcm9wZG93bi1pdGVtLWJnLWNvbG9yLWhvdmVyKTtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXM6YWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tZHJvcGRvd24taXRlbS10ZXh0LWNvbG9yLWZvY3VzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kcm9wZG93bi1pdGVtLWJnLWNvbG9yLWZvY3VzKTtcbiAgfVxuXG4gICYtLWRpc2FibGVkLFxuICAmLS1kaXNhYmxlZDpob3ZlcixcbiAgJi0tZGlzYWJsZWQ6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1kcm9wZG93bi1pdGVtLXRleHQtY29sb3ItZGlzYWJsZWQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAmLS1kaXNhYmxlZDphY3RpdmUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgJi0tbm9QYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZHJvcGRvd25Hcm91cCB7XG4gICZfX2hlYWRlciB7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwLTIpIHZhcigtLWdhcC00KTtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1oZWF2eSgpO1xuICB9XG5cbiAgJl9faXRlbXMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICYgPiAqIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTcpO1xuICAgIH1cbiAgfVxuXG4gICYtLXNlcGFyYXRvciAmX19pdGVtcyB7XG4gICAgJiA+ICoge1xuICAgICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkXG4gICAgICAgIHZhcigtLWRyb3Bkb3duLW1lbnUtYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWRyb3Bkb3duSXRlbSB7XG4gIEBpbmNsdWRlIHR1aS1mb250LWJvZHkoKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtMikgdmFyKC0tZ2FwLTQpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogdmFyKC0tZHJvcGRvd24taXRlbS10ZXh0LWNvbG9yKTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogdmFyKC0tZHJvcGRvd24taXRlbS10ZXh0LWNvbG9yLWhvdmVyKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZHJvcGRvd24taXRlbS1iZy1jb2xvci1ob3Zlcik7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiB2YXIoLS1kcm9wZG93bi1pdGVtLXRleHQtY29sb3ItZm9jdXMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWRyb3Bkb3duLWl0ZW0tYmctY29sb3ItZm9jdXMpO1xuICB9XG5cbiAgJi0tZGlzYWJsZWQsXG4gICYtLWRpc2FibGVkOmhvdmVyLFxuICAmLS1kaXNhYmxlZDpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWRyb3Bkb3duLWl0ZW0tdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gICYtLWRpc2FibGVkOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1kcm9wZG93bi1pdGVtLWJnLWNvbG9yLWRpc2FibGVkLWZvY3VzKTtcbiAgfVxuXG4gICYtLWRpc2FibGVkOmFjdGl2ZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmLS1ub1BhZGRpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWVkaXRvckxvYWRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYmctY29sb3IpO1xuICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xuXG4gIC8qIGlubmVyIG11c3QgYmUgc2VwYXJhdGUgZm9yIGludHJpbnNpYyBoZWlnaHQgdG8gd29yayovXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAvKiBzaW1pbGFyIHRvIGRlZmF1bHQgV2VrYSBoZWlnaHQqL1xuICAgIGhlaWdodDogY2FsYyg5LjJyZW0gKyAycHgpO1xuICB9XG5cbiAgJi0tY29tcGFjdCAmX19pbm5lciB7XG4gICAgLyogc2ltaWxhciB0byBkZWZhdWx0IFdla2EgaGVpZ2h0IHdpdGggY29tcGFjdCBvbiovXG4gICAgaGVpZ2h0OiBjYWxjKDUuOXJlbSArIDJweCk7XG4gIH1cblxuICAmX19zcGlubmVyIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC01KTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWVkaXRvclRleHRhcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLyogZXhwYW5kIHRvIGZ1bGwgd2lkdGggaWYgaW4gaG9yaXpvbnRhbCBmbGV4Ki9cbiAgd2lkdGg6IDEwMCU7XG5cbiAgLyogbmVlZGVkIGEgbW9yZSBzcGVjaWZpYyBzZWxlY3RvciB0byBvdmVycmlkZSB0dWktc2VsZWN0IHsgZmxleC1ncm93OiAxOyB9Ki9cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgfVxuXG4gICZfX3RleHRhcmVhIHtcbiAgICAvKiBzdHJldGNoIGNoaWxkIGlucHV0IHRvIGJlIGZ1bGwgaGVpZ2h0IGlmIHRoZSBlZGl0b3IgaXMgZ2l2ZW4gYSBzcGVjaWZpYyBoZWlnaHQqL1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtMSk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXJlc3BvbnNpdmVFbWJlZElmcmFtZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAmX19pdGVtIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1lcnJvck1vZGFsIHtcbiAgJl9fZGV0YWlsc1RvZ2dsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmX19uYXZCdXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgdHVpLXN0YWNrLWhvcml6b250YWwodmFyKC0tZ2FwLTQpKTtcbiAgfVxuXG4gICZfX2RldGFpbHMge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC0zKTtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1oZWFkaW5nLXgtc21hbGwoKTtcbiAgfVxuXG4gICZfX2NvbnRleHQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci10ZXh0LWhpbnQpO1xuICB9XG5cbiAgJl9fZXh0cmFJbmZvIHtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIH1cblxuICAmX19zdGFja1ByZSB7XG4gICAgbWFyZ2luOiB2YXIoLS1nYXAtMikgMCAwIDA7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwLTQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTcpO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0zKTtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1lcnJvckRpc3BsYXkge1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtOCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcblxuICAmX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gICZfX2J1dHRvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC00KTtcbiAgfVxuXG4gICZfX2J1dHRvbnM6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICZfX2RldGFpbHNUb2dnbGUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fZGV0YWlsc1ByZSB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTIpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwLTQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXNlc3NrZXlFeHBpcmVkIHtcbiAgJl9fYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtNik7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1maWxlQ2FyZCB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0OTBweCkge1xuICAgIC8qIEZyb20gNDkwcHggZG93bndhcmQqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNDkxcHgpIHtcbiAgICAvKiBGcm9tIDQ5MHB4IG9ud2FyZCovXG4gICAgZmxleC1iYXNpczogMjAlO1xuICAgIG1pbi13aWR0aDogMjM1cHg7XG4gIH1cblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWdhcC0yKTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tY29sb3ItbmV1dHJhbC01KTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICAmX19pbmZvIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19maWxlU2l6ZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTMpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cblxuICAmX19maWxlbmFtZSB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICYtdGV4dCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgICYtZXh0IHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24ge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHdpZHRoOiAzLjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1nYXAtMik7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgfVxuXG4gICYtLWRvd25sb2FkYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1idXR0b25GaWx0ZXIudHVpLWJ1dHRvbkZpbHRlciB7XG4gICYtLXN0YWNrZWQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgID4gKiB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtNCk7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1maWx0ZXJCYXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiAwIHZhcigtLWdhcC0zKTtcblxuICAmLS1oYXNUb3Age1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtNCk7XG4gICAgYm9yZGVyLXRvcDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWZpbHRlci1iYXItYm9yZGVyLWNvbG9yKTtcbiAgfVxuXG4gICYtLWhhc0JvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC00KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tZmlsdGVyLWJhci1ib3JkZXItY29sb3IpO1xuICB9XG5cbiAgJl9faGVhZGluZyB7XG4gICAgQGluY2x1ZGUgc3Itb25seSgpO1xuICB9XG5cbiAgJl9fdG9nZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJi1idG4ge1xuICAgICAgbWFyZ2luOiB2YXIoLS1nYXAtMikgMDtcbiAgICB9XG4gIH1cblxuICAmX19maWx0ZXJzIHtcbiAgICAkc3RhY2tlZDogI3smfS0tc3RhY2tlZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICYtbGVmdCxcbiAgICAmLXJpZ2h0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgPiAqIHtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG5cbiAgICAgID4gKiArICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLTQpO1xuICAgICAgfVxuXG4gICAgICAvKiBtYWtlIHNsaWRlciBpY29uIGNsb3NlciB0byBuZXh0IGZpbHRlciBpdGVtKi9cbiAgICAgID4gLnR1aS1maWx0ZXJCYXJfX2ZpbHRlcnMtaWNvbiArICoge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLTIpO1xuICAgICAgfVxuXG4gICAgICAjeyRzdGFja2VkfSAmIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgLnR1aS1mb3JtTGFiZWwge1xuICAgICAgICAgIEBpbmNsdWRlIHR1aS1mb250LWhlYWRpbmctbGFiZWwtc21hbGwoKTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTIpO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1yaWdodCB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcC00KTtcbiAgICB9XG5cbiAgICAmLWljb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgJi1pY29uU2xpZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICB9XG5cbiAgICAmLS1zdGFja2VkIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWZpbHRlclNpZGVQYW5lbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gICZfX2hlYWRlciB7XG4gICAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy1zbWFsbCgpO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXJnaW46IDAgdmFyKC0tZ2FwLTIpIDAgMDtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC0yKTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKSBzb2xpZCB2YXIoLS1jb2xvci1uZXV0cmFsLTcpO1xuICB9XG5cbiAgJl9faW5zdHJ1Y3Rpb25zLFxuICAmX19zdGF0dXMge1xuICAgIEBpbmNsdWRlIHNyLW9ubHkoKTtcbiAgfVxuXG4gIC50dWktZmlsdGVyU2lkZVBhbmVsX19jbGVhckJ0biB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLnR1aS1maWx0ZXJTaWRlUGFuZWwudHVpLWZpbHRlclNpZGVQYW5lbCB7XG4gICYgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTQpO1xuICB9XG5cbiAgLnR1aS1maWVsZHNldF9fbGVnZW5kLFxuICAudHVpLWZvcm1MYWJlbCB7XG4gICAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy1sYWJlbC1zbWFsbCgpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLW11bHRpU2VsZWN0RmlsdGVyIHtcbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtMSk7XG4gIH1cblxuICAmX19jb2xsYXBzaWJsZSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgJi1jb2xsYXBzZWQge1xuICAgICAgJiA+ICoge1xuICAgICAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtMSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi10b2dnbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcC0xKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXNlYXJjaEZpbHRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBpbnB1dC50dWktZm9ybUlucHV0IHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gIH1cblxuICAudHVpLWZvcm1MYWJlbCB7XG4gICAgbWFyZ2luOiBhdXRvIHZhcigtLWdhcC0zKSBhdXRvIDA7XG4gIH1cblxuICAmX19ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0bztcblxuICAgICYtLXN0YWNrZWQge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTEpO1xuICAgIH1cblxuICAgICYtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiB2YXIoLS1nYXAtMSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbG9yOiB2YXIoLS1maWx0ZXItc2VhcmNoLWljb24tY29sb3IpO1xuXG4gICAgICAuZmEtc2VhcmNoIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jbGVhckNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAmX19zZWFyY2gge1xuICAgIC8qIGRpc2FibGUgdGhlIGRlZmF1bHQgY2xlYXIgKHgpIGFjdGlvbiBpbiBJRSovXG4gICAgJjo6LW1zLWNsZWFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJl9fcmVtb3ZlSWNvbiB7XG4gICAgY29sb3I6IHZhcigtLWZpbHRlci1zZWFyY2gtY2xlYXItaWNvbi1jb2xvcik7XG4gIH1cblxuICAmLS1zdGFja2VkIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICAgLnR1aS1mb3JtTGFiZWwge1xuICAgICAgbWFyZ2luOiB2YXIoLS1nYXAtMSkgMDtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktc2VsZWN0RmlsdGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIC50dWktZm9ybUxhYmVsIHtcbiAgICBtYXJnaW46IGF1dG8gdmFyKC0tZ2FwLTMpIGF1dG8gMDtcbiAgfVxuXG4gIC50dWktc2VsZWN0IHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICB9XG5cbiAgJi0tc3RhY2tlZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIC50dWktZm9ybUxhYmVsIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tZ2FwLTEpIDAgMDtcbiAgICB9XG5cbiAgICAudHVpLXNlbGVjdCB7XG4gICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtMSk7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG46cm9vdCB7XG4gIC8qIFNpemUgb2YgY2hlY2tib3gqL1xuICAtLWZvcm0tY2hlY2tib3gtc2l6ZTogdmFyKC0tZm9ybS1pbnB1dC1mb250LXNpemUpO1xuICAtLWZvcm0tY2hlY2tib3gtc2l6ZS1sYXJnZTogY2FsYyh2YXIoLS1mb3JtLWlucHV0LWZvbnQtc2l6ZSkgKiAxLjMzMyk7XG4gIC0tY2hlY2tib3gtY2hlY2std2lkdGg6IDAuMnJlbTtcbn1cblxuLnR1aS1jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUpICsgMnB4KTtcblxuICAmLS1sYXJnZSB7XG4gICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUtbGFyZ2UpICsgMnB4KTtcbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUpICogMS41KTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1pbnB1dC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgLnR1aS1jaGVja2JveC0tbGFyZ2UgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZm9ybS1jaGVja2JveC1zaXplLWxhcmdlKSAqIDEuNSk7XG4gICAgfVxuXG4gICAgJi0tbm9PZmZzZXQge1xuICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUpO1xuICAgICAgLnR1aS1jaGVja2JveC0tbGFyZ2UgJiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZm9ybS1jaGVja2JveC1zaXplLWxhcmdlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IHZhcigtLWZvcm0tY2hlY2tib3gtc2l6ZSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLWZvcm0tY2hlY2tib3gtc2l6ZSk7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLWNoZWNrYm94LWJnLWNvbG9yKTtcbiAgICAgIGJvcmRlcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItc2l6ZSkgc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tY2hlY2tib3gtYm9yZGVyLWNvbG9yKTtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciB2YXIoLS10cmFuc2l0aW9uLWZvcm0tZnVuY3Rpb24pXG4gICAgICAgICAgdmFyKC0tdHJhbnNpdGlvbi1mb3JtLWR1cmF0aW9uKSxcbiAgICAgICAgYm94LXNoYWRvdyB2YXIoLS10cmFuc2l0aW9uLWZvcm0tZnVuY3Rpb24pXG4gICAgICAgICAgdmFyKC0tdHJhbnNpdGlvbi1mb3JtLWR1cmF0aW9uKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgIC50dWktY2hlY2tib3gtLWxhcmdlICYge1xuICAgICAgICB3aWR0aDogdmFyKC0tZm9ybS1jaGVja2JveC1zaXplLWxhcmdlKTtcbiAgICAgICAgaGVpZ2h0OiB2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUtbGFyZ2UpO1xuICAgICAgfVxuXG4gICAgICAudHVpLWNvbnRleHRJbnZhbGlkICYge1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yLWludmFsaWQpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbm9uZSksIHZhcigtLWZvcm0taW5wdXQtc2hhZG93LWludmFsaWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2lucHV0OmRpc2FibGVkIH4gJl9fbGFiZWwge1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtY29sb3ItZGlzYWJsZWQpO1xuICB9XG5cbiAgJl9faW5wdXQ6Y2hlY2tlZDpob3ZlciB+ICZfX2xhYmVsOjpiZWZvcmUsXG4gICZfX2lucHV0OmhvdmVyIH4gJl9fbGFiZWw6OmJlZm9yZSxcbiAgJl9faW5wdXQ6Zm9jdXMgfiAmX19sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpIHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1jaGVja2JveC1ib3JkZXItY29sb3ItZm9jdXMpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWZvcm0taW5wdXQtc2hhZG93LWZvY3VzKTtcblxuICAgIC50dWktY29udGV4dEludmFsaWQgJiB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yLWludmFsaWQpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW5vbmUpLCB2YXIoLS1mb3JtLWlucHV0LXNoYWRvdy1pbnZhbGlkLWZvY3VzKTtcbiAgICB9XG4gIH1cblxuICAmX19pbnB1dDpmb2N1cyB+ICZfX2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tY2hlY2tib3gtYmctY29sb3ItZm9jdXMpO1xuICB9XG5cbiAgJl9faW5wdXQ6ZGlzYWJsZWQ6Y2hlY2tlZCB+ICZfX2xhYmVsOjpiZWZvcmUsXG4gICZfX2lucHV0OmRpc2FibGVkIH4gJl9fbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZm9ybS1jaGVja2JveC1iZy1jb2xvci1kaXNhYmxlZCk7XG4gICAgYm9yZGVyOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1zaXplKSBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tY2hlY2tib3gtYm9yZGVyLWNvbG9yLWRpc2FibGVkKTtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgJl9faW5wdXQgfiAmX19sYWJlbDo6YWZ0ZXIge1xuICAgIC8qIGNvbnN0cnVjdCBhIGNoZWNrIG1hcmsgb3V0IG9mIHR3byBzaWRlcyBvZiBhIHJvdGF0ZWQgYm94Ki9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKDAuMjY3ICogdmFyKC0tZm9ybS1jaGVja2JveC1zaXplKSk7XG4gICAgbGVmdDogY2FsYygwLjEzMyAqIHZhcigtLWZvcm0tY2hlY2tib3gtc2l6ZSkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBjYWxjKDAuNzMzICogdmFyKC0tZm9ybS1jaGVja2JveC1zaXplKSk7XG4gICAgaGVpZ2h0OiBjYWxjKDAuNCAqIHZhcigtLWZvcm0tY2hlY2tib3gtc2l6ZSkpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1jaGVja2JveC1jaGVjay1jb2xvcik7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAvKnJ0bDppZ25vcmUqL1xuICAgIGJvcmRlci13aWR0aDogMCAwIHZhcigtLWNoZWNrYm94LWNoZWNrLXdpZHRoKSB2YXIoLS1jaGVja2JveC1jaGVjay13aWR0aCk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1mb3JtLWZ1bmN0aW9uKVxuICAgICAgdmFyKC0tdHJhbnNpdGlvbi1mb3JtLWR1cmF0aW9uKTtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIC50dWktY2hlY2tib3gtLWxhcmdlICYge1xuICAgICAgdG9wOiBjYWxjKDAuMjY3ICogdmFyKC0tZm9ybS1jaGVja2JveC1zaXplLWxhcmdlKSk7XG4gICAgICBsZWZ0OiBjYWxjKDAuMTMzICogdmFyKC0tZm9ybS1jaGVja2JveC1zaXplLWxhcmdlKSk7XG4gICAgICB3aWR0aDogY2FsYygwLjczMyAqIHZhcigtLWZvcm0tY2hlY2tib3gtc2l6ZS1sYXJnZSkpO1xuICAgICAgaGVpZ2h0OiBjYWxjKDAuNCAqIHZhcigtLWZvcm0tY2hlY2tib3gtc2l6ZS1sYXJnZSkpO1xuICAgIH1cbiAgfVxuXG4gICZfX2lucHV0OmRpc2FibGVkOmNoZWNrZWQgfiAmX19sYWJlbDo6YWZ0ZXIsXG4gICZfX2lucHV0OmRpc2FibGVkIH4gJl9fbGFiZWw6OmFmdGVyIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tY2hlY2tib3gtY2hlY2stY29sb3ItZGlzYWJsZWQpO1xuICB9XG5cbiAgJl9faW5wdXQ6Y2hlY2tlZCB+ICZfX2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tY2hlY2tib3gtYmctY29sb3ItYWN0aXZlKTtcbiAgfVxuXG4gICZfX2lucHV0OmNoZWNrZWQgfiAmX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLnR1aS1jaGVja2JveCB7XG4gICAgJl9faW5wdXQ6Y2hlY2tlZCB+ICZfX2xhYmVsOjpiZWZvcmUge1xuICAgICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICB9XG4gIH1cblxuICAvKiBJRTExICYgRWRnZSBzdXBwb3J0Ki9cbiAgLmllLFxuICAubXNlZGdlIHtcbiAgICAudHVpLWNoZWNrYm94IHtcbiAgICAgICZfX2lucHV0OmNoZWNrZWQgfiAudHVpLWNoZWNrYm94X19sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCB2YXIoLS1mb3JtLWNoZWNrYm94LWJnLWNvbG9yLWFjdGl2ZSk7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCB2YXIoLS1mb3JtLWNoZWNrYm94LXNpemUpIDAgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktY2hlY2tib3hCdXR0b24ge1xuICAkYmxvY2s6ICN7Jn07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcblxuICAmX19pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmX19sYWJlbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC0xKTtcbiAgICBjb2xvcjogdmFyKC0tYnRuLWNoZWNrYm94LXRleHQtY29sb3IpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYnRuLWNoZWNrYm94LXRleHQtY29sb3ItZm9jdXMpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYnRuLWNoZWNrYm94LWJnLWNvbG9yLWhvdmVyKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTpob3ZlcixcbiAgICAmOmFjdGl2ZSB7XG4gICAgICBjb2xvcjogdmFyKC0tYnRuLWNoZWNrYm94LXRleHQtY29sb3ItYWN0aXZlKTtcbiAgICB9XG4gIH1cblxuICAmX19kZXNlbGVjdEljb24ge1xuICAgIG1hcmdpbjogYXV0byAwIGF1dG8gYXV0bztcbiAgICBjb2xvcjogdmFyKC0tYnRuLWNoZWNrYm94LXRleHQtY29sb3Itc2VsZWN0ZWQpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gICZfX2lucHV0OmNoZWNrZWQgfiAmX19sYWJlbCB7XG4gICAgY29sb3I6IHZhcigtLWJ0bi1jaGVja2JveC10ZXh0LWNvbG9yLXNlbGVjdGVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tY2hlY2tib3gtYmctY29sb3Itc2VsZWN0ZWQpO1xuXG4gICAgI3skYmxvY2t9X19kZXNlbGVjdEljb24ge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4tY2hlY2tib3gtdGV4dC1jb2xvci1mb2N1cyk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tY2hlY2tib3gtYmctY29sb3ItaG92ZXIpO1xuXG4gICAgICAjeyRibG9ja31fX2Rlc2VsZWN0SWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1idG4tY2hlY2tib3gtdGV4dC1jb2xvci1mb2N1cyk7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjphY3RpdmU6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgY29sb3I6IHZhcigtLWJ0bi1jaGVja2JveC10ZXh0LWNvbG9yLWFjdGl2ZSk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1idG4tY2hlY2tib3gtYmctY29sb3ItaG92ZXIpO1xuXG4gICAgICAjeyRibG9ja31fX2Rlc2VsZWN0SWNvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1idG4tY2hlY2tib3gtdGV4dC1jb2xvci1hY3RpdmUpO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2lucHV0OmZvY3VzIH4gJl9fbGFiZWwge1xuICAgIEBpbmNsdWRlIHR1aS1mb2N1cygpO1xuICB9XG5cbiAgJl9faW5wdXQ6Zm9jdXM6Y2hlY2tlZCB+ICZfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSB0dWktZm9jdXMoKTtcblxuICAgICN7JGJsb2NrfV9fZGVzZWxlY3RJY29uIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4tY2hlY2tib3gtdGV4dC1jb2xvci1zZWxlY3RlZCk7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG46cm9vdCB7XG4gIC0tZm9ybS1jaGVja2JveC1ncm91cC1wYWRkaW5nOiB2YXIoLS1nYXAtMik7XG4gIC0tZm9ybS1jaGVja2JveC1ncm91cC1zcGFjaW5nLXY6IHZhcigtLWdhcC00KTtcbiAgLS1mb3JtLWNoZWNrYm94LWdyb3VwLXNwYWNpbmctaDogdmFyKC0tZ2FwLTQpO1xufVxuXG4udHVpLWNoZWNrYm94R3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nOiB2YXIoLS1mb3JtLWNoZWNrYm94LWdyb3VwLXBhZGRpbmcpIDA7XG5cbiAgQGluY2x1ZGUgdHVpLXN0YWNrLXZlcnRpY2FsKHZhcigtLWZvcm0tY2hlY2tib3gtZ3JvdXAtc3BhY2luZy12KSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR0dWktc2NyZWVuLXNtKSB7XG4gIC50dWktY2hlY2tib3hHcm91cC0taG9yaXpvbnRhbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgbGVuZ3RoLXplcm8tbm8tdW5pdCovXG4gICAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgICBtYXJnaW4tdG9wOiBjYWxjKDBweCAtIHZhcigtLWZvcm0tY2hlY2tib3gtZ3JvdXAtc3BhY2luZy12KSArIHZhcigtLWZvcm0tY2hlY2tib3gtZ3JvdXAtcGFkZGluZykpO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgJiA+ICoge1xuICAgICAgbWFyZ2luLXRvcDogdmFyKC0tZm9ybS1jaGVja2JveC1ncm91cC1zcGFjaW5nLXYpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1mb3JtLWNoZWNrYm94LWdyb3VwLXNwYWNpbmctaCk7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZGF0ZVNlbGVjdG9yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gICZfX2RhdGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIHZhcigtLWdhcC00KSB2YXIoLS1nYXAtMikgMDtcblxuICAgICYgPiAqIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgdHVpLXN0YWNrLWhvcml6b250YWwodmFyKC0tZ2FwLTIpKTtcblxuICAgICYtZGF5IHtcbiAgICAgIHdpZHRoOiA1cmVtO1xuICAgIH1cblxuICAgICYtbW9udGgge1xuICAgICAgd2lkdGg6IDEycmVtO1xuICAgIH1cblxuICAgICYteWVhciB7XG4gICAgICB3aWR0aDogN3JlbTtcbiAgICB9XG4gIH1cblxuICAmX190aW1lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiBjYWxjKCh2YXIoLS1nYXAtMikgKiAyKSArIDI0cmVtKTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZm9ybUZpZWxkRXJyb3Ige1xuICAvKiBvZmZzZXQgdGhlIGV4dHJhIHJlZCBzaGFkb3cgb24gaW52YWxpZCBlbGVtZW50cyArIHdlIHdhbnQgdGhlIGVycm9yKi9cbiAgLyogbWVzc2FnZSB0byBiZSBzcGFjZWQgMXB4IGF3YXkqL1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWZvcm0taW5wdXQtaW52YWxpZC1zaGFkb3ctc2l6ZSkgKyAxcHgpO1xuXG4gICZfX2lubmVyIHtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1ib2R5LXNtYWxsKCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwLjZyZW0gMC44cmVtO1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWVycm9yLXRleHQtY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tZXJyb3ItYmctY29sb3IpO1xuICB9XG5cbiAgJl9fZGlzbWlzcyB7XG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcC0xKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIG9wYWNpdHk6IDAuNztcblxuICAgICY6aG92ZXI6YWN0aXZlLFxuICAgICY6YWN0aXZlLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTFweDtcbiAgICAgIEBpbmNsdWRlIHR1aS1mb250LWJvZHktc21hbGwoKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWZvcm1GaWVsZEdyb3VwIHtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1maWVsZHNldCB7XG4gIG1pbi13aWR0aDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG5cbiAgJl9fbGVnZW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS10ZXh0LWNvbG9yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xOCk7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG5cbiAgJi0taGlkZGVuIHtcbiAgICBAaW5jbHVkZSBzci1vbmx5KCk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1mb3JtUm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAvKiBfX2lubmVyIGlzIG5lZWRlZCBhcyBzZXR0aW5nIG1hcmdpbiBvbiB0aGUgcm9vdCBlbGVtZW50IGlzIHRoZSovXG4gIC8qIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjb250YWluaW5nIGVsZW1lbnQgKG91dHNpZGUtaW4gc3BhY2luZykuKi9cbiAgLyogKHNlZSBiZWxvdyBmb3IgbWFyZ2luIHNldHRpbmcpKi9cbiAgJl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAmX19pbm5lciA+ICZfX2Rlc2Mge1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLTEpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC0yKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAudHVpLWZvcm0tLXZlcnRpY2FsICYsXG4gICAgLnR1aS1mb3JtUm93LS12ZXJ0aWNhbCAmLFxuICAgIC50dWktZm9ybVJvdy0tZW1wdHlEZXNjICYge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAmX19pbm5lciA+ICZfX2FjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtd2lkdGg6IDcxLjJyZW07XG5cbiAgICAudHVpLWZvcm0tLXZlcnRpY2FsICYsXG4gICAgLnR1aS1mb3JtUm93LS12ZXJ0aWNhbCAmIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC0yKTtcbiAgICB9XG5cbiAgICAudHVpLWZvcm1Sb3ctLWVtcHR5RGVzYyAmIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJi0taXNTdGFja2VkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgQGluY2x1ZGUgdHVpLXN0YWNrLXZlcnRpY2FsKHZhcigtLWdhcC0yKSk7XG4gICAgfVxuICB9XG59XG5cbi50dWktZm9ybS0taG9yaXpvbnRhbCAudHVpLWZvcm1Sb3c6bm90KC50dWktZm9ybVJvdy0tdmVydGljYWwpID4ge1xuICAudHVpLWZvcm1Sb3cge1xuICAgICZfX2lubmVyIHtcbiAgICAgIEBpbmNsdWRlIHR1aS1sYXlvdXQtc2lkZWJhcihcbiAgICAgICAgJHNpZGUtd2lkdGg6IDIycmVtLFxuICAgICAgICAkY29udGVudC1taW4td2lkdGg6IDYwJSxcbiAgICAgICAgJGd1dHRlcjogdmFyKC0tZ2FwLTEpLFxuICAgICAgICAkc2lkZWJhci1zZWxlY3RvcjogJy50dWktZm9ybVJvd19fZGVzYycsXG4gICAgICAgICRjb250ZW50LXNlbGVjdG9yOiAnLnR1aS1mb3JtUm93X19hY3Rpb24nXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiLyogVGhpcyBmaWxlIGlzIHBhcnQgb2YgVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucy4qL1xuLyoqL1xuLyogQ29weXJpZ2h0IChDKSAyMDIwIG9ud2FyZHMgVG90YXJhIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQqL1xuLyoqL1xuLyogVG90YXJhIEVudGVycHJpc2UgRXh0ZW5zaW9ucyBpcyBwcm92aWRlZCBvbmx5IHRvIFRvdGFyYSovXG4vKiBMZWFybmluZyBTb2x1dGlvbnMgTFREJ3MgY3VzdG9tZXJzIGFuZCBwYXJ0bmVycywgcHVyc3VhbnQgdG8qL1xuLyogdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mIGEgc2VwYXJhdGUgYWdyZWVtZW50IHdpdGggVG90YXJhKi9cbi8qIExlYXJuaW5nIFNvbHV0aW9ucyBMVEQgb3IgaXRzIGFmZmlsaWF0ZS4qL1xuLyoqL1xuLyogSWYgeW91IGRvIG5vdCBoYXZlIGFuIGFncmVlbWVudCB3aXRoIFRvdGFyYSBMZWFybmluZyBTb2x1dGlvbnMqL1xuLyogTFRELCB5b3UgbWF5IG5vdCBhY2Nlc3MsIHVzZSwgbW9kaWZ5LCBvciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUuKi9cbi8qIFBsZWFzZSBjb250YWN0IFtsaWNlbnNpbmdAdG90YXJhbGVhcm5pbmcuY29tXSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4qL1xuLyoqL1xuLyogQGF1dGhvciAgICBTaW1vbiBDaGVzdGVyIDxzaW1vbi5jaGVzdGVyQHRvdGFyYWxlYXJuaW5nLmNvbT4qL1xuLyogQG1vZHVsZSB0dWlja2FnZSAgIHR1aSovXG5cbi8qIFNpZGViYXIgbGF5b3V0IHRoYXQgaXMgcmVzcG9uc2l2ZSBiYXNlZCBvbiB0aGUgc2l6ZSBvZiBpdHMgY29udGFpbmVyLCByYXRoZXIqL1xuLyogdGhhbiB0aGUgdmlld3BvcnQuKi9cbkBtaXhpbiB0dWktbGF5b3V0LXNpZGViYXIoXG4gIC8qIHdpZHRoIG9mIHRoZSBzaWRlYmFyKi9cbiAgICAkc2lkZS13aWR0aDogJ2NvbnRlbnQnLFxuICAvKiB3aWR0aCBvZiB0aGUgY29udGVudCovXG4gICAgJGNvbnRlbnQtbWluLXdpZHRoOiA1MCUsXG4gIC8qIHNpemUgb2YgdGhlIGd1dHRlciBiZXR3ZWVuIHNpZGViYXIgYW5kIGNvbnRlbnQqL1xuICAgICRndXR0ZXI6IDAsXG4gIC8qIHNlbGVjdG9yIGZvciBjaGlsZCBzaWRlYmFyIGVsZW1lbnQqL1xuICAgICRzaWRlYmFyLXNlbGVjdG9yOiAnOm50aC1jaGlsZCgxKScsXG4gIC8qIHNlbGVjdG9yIGZvciBjaGlsZCBjb250ZW50IGVsZW1lbnQqL1xuICAgICRjb250ZW50LXNlbGVjdG9yOiAnOm50aC1jaGlsZCgyKSdcbikge1xuICAmIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogY2FsYygoI3skZ3V0dGVyfSAvIDIpICogLTEpO1xuXG4gICAgJiA+ICN7JHNpZGViYXItc2VsZWN0b3J9IHtcbiAgICAgIEBpZiAkc2lkZS13aWR0aCAhPSAnY29udGVudCcge1xuICAgICAgICBmbGV4LWJhc2lzOiAkc2lkZS13aWR0aDtcbiAgICAgIH1cbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIG1hcmdpbjogY2FsYygjeyRndXR0ZXJ9IC8gMik7XG4gICAgfVxuXG4gICAgJiA+ICN7JGNvbnRlbnQtc2VsZWN0b3J9IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAvKiBTZXQgYSByZWFsbHkgaGlnaCBmbGV4LWdyb3cgdmFsdWUgc28gaXQgdGFrZXMgdXAgYWxsIHRoZSBhdmFpbGFibGUqL1xuICAgICAgLyogc3BhY2UuIFRoaXMgd2lsbCBzcXVpc2ggdGhlIHNpZGViYXIgZG93biB0byBpdHMgaW50cmluc2ljIHdpZHRoKi9cbiAgICAgIC8qIChvciBmbGV4LWJhc2lzLCBpZiBzZXQpLiovXG4gICAgICBmbGV4LWdyb3c6IDk5OTtcbiAgICAgIC8qIFRoaXMgZWxlbWVudCBjYW5ub3Qgc2hyaW5rIGJleW9uZCBtaW4td2lkdGgsIHNvIGl0IHdpbGwgd3JhcCBvbiB0byB0aGUqL1xuICAgICAgLyogbmV4dCBsaW5lIChzd2l0Y2ggdG8gdmVydGljYWwpLiovXG4gICAgICBtaW4td2lkdGg6IGNhbGMoI3skY29udGVudC1taW4td2lkdGh9IC0gI3skZ3V0dGVyfSk7XG4gICAgICBtYXJnaW46IGNhbGMoI3skZ3V0dGVyfSAvIDIpO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1mb3JtUm93X19kZWZhdWx0cyB7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWRlZmF1bHRzLXRleHQtY29sb3IpO1xuICBAaW5jbHVkZSB0dWktZm9udC1ib2R5LXgtc21hbGw7XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1mb3JtUm93X19kZXRhaWxzIHtcbiAgY29sb3I6IHZhcigtLWZvcm0tZGV0YWlscy10ZXh0LWNvbG9yKTtcbiAgQGluY2x1ZGUgdHVpLWZvbnQtYm9keS1zbWFsbDtcbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZm9ybUhlbHBJY29uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICZfX2ljb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgfVxuXG4gICZfX2Rlc2Mge1xuICAgIC8qIGFyaWEtZGVzY3JpYmVkYnkgc3RpbGwgd29ya3MgZXZlbiBpZiB0aGUgdGFyZ2V0IGVsZW1lbnQgaXMgZGlzcGxheTogbm9uZSovXG4gICAgLyogaHR0cHM6Ly9kZXZlbG9wZXIucGFjaWVsbG9ncm91cC5jb20vYmxvZy8yMDE1LzA1L3Nob3J0LW5vdGUtb24tYXJpYS1sYWJlbGxlZGJ5LWFuZC1hcmlhLWRlc2NyaWJlZGJ5LyovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWZvcm1JbWFnZVVwbG9hZCB7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLWZvcm0taW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQ6IHZhcigtLWZvcm0taW5wdXQtYmctY29sb3IpO1xuXG4gICZfX2FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogdmFyKC0tZm9ybS1pbnB1dC12LXBhZGRpbmcpIHZhcigtLWdhcC0yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1uZXV0cmFsLTMpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci10b3A6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpIHNvbGlkO1xuICAgIGJvcmRlci1yaWdodDogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItc2l6ZSkgc29saWQ7XG4gICAgYm9yZGVyLWxlZnQ6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpIHNvbGlkO1xuICB9XG4gICZfX2RlbGV0ZUJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbiAgJl9fZmlsZWFyZWEge1xuICAgIHBhZGRpbmc6IHZhcigtLWZvcm0taW5wdXQtdi1wYWRkaW5nKSB2YXIoLS1nYXAtMik7XG4gICAgYm9yZGVyOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1zaXplKSBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yKTtcblxuICAgIC50dWktZm9ybUltYWdlVXBsb2FkLS1oaWdobGlnaHQgJiB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLWlucHV0LWJnLWNvbG9yLWZvY3VzKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItZm9jdXMpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWZvcm0taW5wdXQtc2hhZG93LWZvY3VzKTtcbiAgICB9XG5cbiAgICAudHVpLWZvcm1JbWFnZVVwbG9hZC0taXNFcnJvciAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItaW52YWxpZCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1mb3JtLWlucHV0LXNoYWRvdy1pbnZhbGlkKTtcbiAgICB9XG4gIH1cbiAgJl9fZGlzcGxheSB7XG4gICAgLnR1aS1yZXNwb25zaXZlSW1hZ2Uge1xuICAgICAgbWF4LWhlaWdodDogMjVyZW07XG4gICAgfVxuICB9XG4gICZfX3Byb2dyZXNzIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1mb3JtLWlucHV0LXYtcGFkZGluZykgdmFyKC0tZ2FwLTIpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4vKiBSZXNldCovXG5pbnB1dFt0eXBlXS50dWktZm9ybUlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiBub25lO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXB4O1xuICBjb2xvcjogcmdiKDAsIDAsIDApO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHRleHQtaW5kZW50OiAwO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjE4LCAyMTgsIDIxOCk7XG4gIGJvcmRlci1zdHlsZTogaW5zZXQ7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItaW1hZ2Utc291cmNlOiBub25lO1xuICBib3JkZXItaW1hZ2Utc2xpY2U6IDEwMCU7XG4gIGJvcmRlci1pbWFnZS13aWR0aDogMTtcbiAgYm9yZGVyLWltYWdlLW91dHNldDogMDtcbiAgYm9yZGVyLWltYWdlLXJlcGVhdDogc3RyZXRjaDtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogdGV4dDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IHJnYig2MSwgNjgsIDc1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjE4LCAyMTgsIDIxOCk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IHJnYigyMTgsIDIxOCwgMjE4KTtcbiAgICBvdXRsaW5lLXdpZHRoOiAzcHg7XG4gICAgb3V0bGluZS1zdHlsZTogYXV0bztcbiAgICBvdXRsaW5lLWNvbG9yOiBIaWdobGlnaHQ7XG4gICAgb3V0bGluZS1jb2xvcjogLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgLW1vei11c2VyLWZvY3VzOiBub3JtYWw7XG4gIH1cblxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2E5YTlhOTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYTlhOWE5O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNhOWE5YTk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlXS50dWktZm9ybUlucHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMDtcbiAgaGVpZ2h0OiB2YXIoLS1mb3JtLWlucHV0LWhlaWdodCk7XG4gIHBhZGRpbmc6IHZhcigtLWZvcm0taW5wdXQtdi1wYWRkaW5nKSB2YXIoLS1nYXAtMik7XG4gIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLWZvcm0taW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGJhY2tncm91bmQ6IHZhcigtLWZvcm0taW5wdXQtYmctY29sb3IpO1xuICBib3JkZXI6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpIHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yKTtcblxuICBAaW5jbHVkZSB0dWktY2hhci1sZW5ndGgtY2xhc3NlcygpO1xuXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtcGxhY2Vob2xkZXItY29sb3IpO1xuICB9XG5cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtcGxhY2Vob2xkZXItY29sb3IpO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtcGxhY2Vob2xkZXItY29sb3IpO1xuICB9XG5cbiAgLnR1aS1jb250ZXh0SW52YWxpZCAmIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yLWludmFsaWQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWZvcm0taW5wdXQtc2hhZG93LWludmFsaWQpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZm9ybS1pbnB1dC1iZy1jb2xvci1mb2N1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1zaXplKSBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yLWZvY3VzKTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWZvcm0taW5wdXQtc2hhZG93LWZvY3VzKTtcblxuICAgIC50dWktY29udGV4dEludmFsaWQgJiB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLWlucHV0LWJnLWNvbG9yLWludmFsaWQtZm9jdXMpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1jb2xvci1pbnZhbGlkKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLWZvcm0taW5wdXQtc2hhZG93LWludmFsaWQtZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICYtLXByZUljb24ge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTYpO1xuICB9XG5cbiAgJi0tcG9zdEljb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC02KTtcbiAgfVxuXG4gICYtLXRyYW5zcGFyZW50LFxuICAmLS10cmFuc3BhcmVudDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmW3JlYWRvbmx5XSB7XG4gICAgY29sb3I6IHZhcigtLWZvcm0taW5wdXQtdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZm9ybS1pbnB1dC1iZy1jb2xvcik7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1jb2xvcik7XG5cbiAgICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtcGxhY2Vob2xkZXItY29sb3IpO1xuICAgIH1cblxuICAgICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtcGxhY2Vob2xkZXItY29sb3IpO1xuICAgIH1cblxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtcGxhY2Vob2xkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gICZbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1pbnB1dC10ZXh0LWNvbG9yLWRpc2FibGVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLWlucHV0LWJnLWNvbG9yLWRpc2FibGVkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yLWRpc2FibGVkKTtcblxuICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWZvcm0taW5wdXQtdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWZvcm0taW5wdXQtdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IHZhcigtLWZvcm0taW5wdXQtdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1pbnB1dENvbG9yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIHR1aS1jaGFyLWxlbmd0aC1jbGFzc2VzKCk7XG5cbiAgLyogdmlzdWFsbHkgaGlkZSB0aGUgY29sb3VyIElucHV0IGNvbnRyb2wqL1xuICAmICZfX3BpY2tlclt0eXBlPSdjb2xvciddIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tZ2FwLTgpICsgdmFyKC0tZ2FwLTIpKTtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgJltkaXNhYmxlZD0nZGlzYWJsZWQnXSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxuXG4gIC8qIHF1aXRlIGFjdXRlIGJveCBtb2RlbCBhbmQgcG9zaXRpb25pbmcgdmFsdWVzIHRvIG1ha2Ugc3VyZSB0aGV5IHNjYWxlIHdpdGgqL1xuICAvKiBhc3NvY2lhdGVkIHRleHQgSW5wdXQgdmFsdWVzKi9cbiAgJl9fY29sb3JCbG9jayB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSovXG4gICAgdG9wOiBjYWxjKCB2YXIoLS1mb3JtLWlucHV0LXYtcGFkZGluZykgLyAyICsgdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItc2l6ZSkgKTtcbiAgICBsZWZ0OiBjYWxjKHZhcigtLWdhcC0yKSAvIDIpO1xuICAgIHdpZHRoOiB2YXIoLS1nYXAtOCk7XG4gICAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIHZhcigtLWZvcm0taW5wdXQtdi1wYWRkaW5nKSAtIHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpICogMik7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG5cbiAgICAmLS1kaXNhYmxlZCB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxuXG4gICYgJl9faW5wdXRbdHlwZT0ndGV4dCddIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tZ2FwLTgpICsgdmFyKC0tZ2FwLTIpKTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbkBtaXhpbiB0dWktaW5wdXQtc2V0LXN0YWNrLWJlbG93KCRuYW1lLCAkc2l6ZSkge1xuICAmLS1zdGFja0JlbG93LSN7JG5hbWV9ID4gKixcbiAgLyogbmVlZCB0byBzcGVjaWZ5IC50dWktZm9ybUlucHV0IGhlcmUgdG9vIGZvciBzcGVjaWZpY2l0eSByZWFzb25zKi9cbiAgJi0tc3RhY2tCZWxvdy0jeyRuYW1lfSA+IC50dWktZm9ybUlucHV0IHtcbiAgICAvKiBUaGlzIHRyaWdnZXJzIHRoZSBjaGlsZHJlbiB0byBzd2l0Y2ggdG8gYmVpbmcgdmVydGljYWxseSBzdGFja2VkIGJlbG93IGEqL1xuICAgIC8qIGNlcnRhaW4gd2lkdGguKi9cbiAgICAvKiBJdCB3b3JrcyBsaWtlIHRoaXM6Ki9cbiAgICAvKiBBYm92ZSB0aGUgc3BlY2lmaWVkIHdpZHRoLCAod2lkdGggLSAxMDAlKSBldmFsdWF0ZXMgdG8gYSBsYXJnZSovXG4gICAgLyogbmVnYXRpdmUgZmxleCBiYXNpcywgYW5kIGlzIHRoZXJlZm9yZSBpZ25vcmVkLiovXG4gICAgLyogQmVsb3cgdGhlIHNwZWNpZmllZCB3aWR0aCwgKHdpZHRoIC0gMTAwJSkgZXZhbHVhdGVzIHRvIGEgbGFyZ2UqL1xuICAgIC8qIHBvc2l0dmUgZmxleCBiYXNpcywgYW5kIGZvcmNlcyBlYWNoIGl0ZW0gdG8gdGFrZSB1cCBpdHMgb3duIGxpbmUuKi9cbiAgICAvKiBNYWdpYyEqL1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSovXG4gICAgZmxleC1iYXNpczogY2FsYygoI3t0dWktY2hhci1sZW5ndGgoJHNpemUpfSAtICgxMDAlIC0gdmFyKC0taW5wdXQtc2V0LXNwYWNpbmcpKSkgKiA5OTkpO1xuICB9XG59XG4udHVpLWlucHV0U2V0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuXG4gIEBpbmNsdWRlIHR1aS1jaGFyLWxlbmd0aC1jbGFzc2VzKCk7XG5cbiAgLyogY2FuJ3Qgc2V0IG1hcmdpbiBvbiBpbnB1dFNldCBpdHNlbGYsIHNvIGl0IGlzIGp1c3QgYSB3cmFwcGVyIGZvciB0aGlzKi9cbiAgLyogdGhlIHZhcmlhbnRzIGFyZSBvbiBpbm5lciB0byBlbnN1cmUgdGhlICYgPiAqIHNlbGVjdG9ycyByZXRhaW4gbG93IHNwZWNpZmljaXR5ICgwLTEtMCkqL1xuICAmID4gJl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1iYXNpczogMDsgLyogcmVxdWlyZWQgZm9yIHRoaW5ncyB0byBsb29rIGNvcnJlY3QgaW4gSUUgMTEqL1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBtYXJnaW46IGNhbGMoKHZhcigtLWlucHV0LXNldC1zcGFjaW5nKSAvIDIpICogLTEpO1xuXG4gICAgJi0tdmVydGljYWwge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAmLS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgJiA+ICosXG4gICAgJiA+IC50dWktZm9ybUlucHV0IHtcbiAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1pbnB1dC1zZXQtc3BhY2luZykgLyAyKTtcbiAgICB9XG5cbiAgICAmID4gLnR1aS1mb3JtTGFiZWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAmID4ge1xuICAgICAgLyogcmVwbGFjZWQgaW5wdXQgZWxlbWVudHMgaGF2ZSB0aGVpciB3aWR0aCBzZXQgdG8gMTAwJSBub3JtYWxseSBhcyovXG4gICAgICAvKiBgd2lkdGg6IGF1dG9gIGRvZXNuJ3QgZmlsbCB0aGUgY29udGFpbmVyIGxpa2UgaXQgZG9lcyBvbiBkaXZzKi9cbiAgICAgICN7JHR1aS1pbnB1dC1yZXBsYWNlZC1zZWxlY3RvcnN9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3BsaXQge1xuICAgICAgJiA+ICoge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICR0dWktY2hhci1sZW5ndGgtc2NhbGUge1xuICAgICAgQGluY2x1ZGUgdHVpLWlucHV0LXNldC1zdGFjay1iZWxvdygkc2l6ZSwgJHNpemUpO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWZvcm1JbnB1dFNpemVkVGV4dCB7XG4gIC8qIHByZXR0aWVyLWlnbm9yZSovXG4gIHBhZGRpbmc6IGNhbGMoKHZhcigtLWZvcm0taW5wdXQtaGVpZ2h0KSAtICgxZW0gKiB2YXIoLS1mb250LWJvZHktbGluZS1oZWlnaHQpKSkgLyAyKSAwO1xuICBsaW5lLWhlaWdodDogdmFyKC0tZm9udC1ib2R5LWxpbmUtaGVpZ2h0KTtcbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWZvcm1MYWJlbCB7XG4gIEBpbmNsdWRlIHR1aS1mb250LWhlYWRpbmctbGFiZWwoKTtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgdmFyKC0tZ2FwLTEpIDAgMDtcblxuICBsZWdlbmQmIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCB2YXIoLS1nYXAtMSkgMCAwO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxuXG4gICYtLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICB9XG5cbiAgJi0taGlkZGVuIHtcbiAgICBAaW5jbHVkZSBzci1vbmx5KCk7XG4gIH1cblxuICAmLS1zdWJmaWVsZCB7XG4gICAgQGluY2x1ZGUgdHVpLWZvbnQtYm9keSgpO1xuICB9XG5cbiAgJl9fcmVxdWlyZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcm9tcHQtYWxlcnQpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLW5vdGVwYWRMaW5lcyB7XG4gIEBpbmNsdWRlIHR1aS1jaGFyLWxlbmd0aC1jbGFzc2VzO1xuXG4gICZfX2xpbmUge1xuICAgIGhlaWdodDogdmFyKC0tZm9ybS1ub3RlcGFkLWxpbmUtaGVpZ2h0KTtcbiAgICBib3JkZXItYm90dG9tOiB2YXIoLS1mb3JtLW5vdGVwYWQtbGluZS1ib3JkZXIpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbjpyb290IHtcbiAgLyogU2l6ZSBvZiByYWRpbyBjaXJjbGUqL1xuICAtLWZvcm0tcmFkaW8tc2l6ZTogdmFyKC0tZm9udC1zaXplLTE2KTtcbiAgLyogU2l6ZSBvZiByYWRpbyBpbm5lciBkb3QqL1xuICAtLWZvcm0tcmFkaW8tZG90LXNpemU6IGNhbGModmFyKC0tZm9ybS1yYWRpby1zaXplKSAvIDIpO1xuICAvKiBPZmZzZXQgdG8gY2VudGVyIGRvdCovXG4gIC0tcmFkaW8tZG90LW9mZnNldDogY2FsYyh2YXIoLS1mb3JtLXJhZGlvLXNpemUpIC8gNCk7XG59XG5cbi50dWktcmFkaW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXG4gICZfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcmFkaW8tbGFiZWwtb2Zmc2V0KTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9ybS1pbnB1dC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSB2YXIoLS1mb3JtLXJhZGlvLXNpemUpIC8gMik7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogdmFyKC0tZm9ybS1yYWRpby1zaXplKTtcbiAgICAgIGhlaWdodDogdmFyKC0tZm9ybS1yYWRpby1zaXplKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tcmFkaW8tYmctY29sb3IpO1xuICAgICAgYm9yZGVyOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1zaXplKSBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1yYWRpby1ib3JkZXItY29sb3IpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyIHZhcigtLXRyYW5zaXRpb24tZm9ybS1mdW5jdGlvbilcbiAgICAgICAgICB2YXIoLS10cmFuc2l0aW9uLWZvcm0tZHVyYXRpb24pLFxuICAgICAgICBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZm9ybS1mdW5jdGlvbilcbiAgICAgICAgICB2YXIoLS10cmFuc2l0aW9uLWZvcm0tZHVyYXRpb24pO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgLnR1aS1jb250ZXh0SW52YWxpZCAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1jb2xvci1pbnZhbGlkKTtcbiAgICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LW5vbmUpLCB2YXIoLS1mb3JtLWlucHV0LXNoYWRvdy1pbnZhbGlkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbnB1dDpkaXNhYmxlZCB+ICZfX2xhYmVsIHtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1pbnB1dC10ZXh0LWNvbG9yLWRpc2FibGVkKTtcbiAgfVxuXG4gICZfX2lucHV0OmhvdmVyIH4gJl9fbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZm9ybS1yYWRpby1iZy1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAmX19pbnB1dDpmb2N1cyB+ICZfX2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tcmFkaW8tYmctY29sb3ItZm9jdXMpO1xuICB9XG5cbiAgJl9faW5wdXQ6aG92ZXIgfiAmX19sYWJlbDo6YmVmb3JlLFxuICAmX19pbnB1dDpmb2N1cyB+ICZfX2xhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItc2l6ZSkgc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLXJhZGlvLWJvcmRlci1jb2xvci1mb2N1cyk7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tZm9ybS1pbnB1dC1zaGFkb3ctZm9jdXMpO1xuXG4gICAgLnR1aS1jb250ZXh0SW52YWxpZCAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItaW52YWxpZCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctbm9uZSksIHZhcigtLWZvcm0taW5wdXQtc2hhZG93LWludmFsaWQtZm9jdXMpO1xuICAgIH1cbiAgfVxuXG4gICZfX2lucHV0OmFjdGl2ZTpmb2N1cyB+ICZfX2xhYmVsOjpiZWZvcmUsXG4gICZfX2lucHV0OmFjdGl2ZTpob3ZlciB+ICZfX2xhYmVsOjpiZWZvcmUsXG4gICZfX2lucHV0OmFjdGl2ZSB+ICZfX2xhYmVsOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0tcmFkaW8tYmctY29sb3ItYWN0aXZlKTtcbiAgICBib3JkZXI6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpIHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1yYWRpby1ib3JkZXItY29sb3ItYWN0aXZlKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1mb3JtLWlucHV0LXNoYWRvdy1mb2N1cyk7XG5cbiAgICAudHVpLWNvbnRleHRJbnZhbGlkICYge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1jb2xvci1pbnZhbGlkKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy1ub25lKSwgdmFyKC0tZm9ybS1pbnB1dC1zaGFkb3ctaW52YWxpZC1mb2N1cyk7XG4gICAgfVxuICB9XG5cbiAgJl9faW5wdXQ6ZGlzYWJsZWQ6YWN0aXZlIH4gJl9fbGFiZWw6OmJlZm9yZSxcbiAgJl9faW5wdXQ6ZGlzYWJsZWQgfiAmX19sYWJlbDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLXJhZGlvLWJnLWNvbG9yLWRpc2FibGVkKTtcbiAgICBib3JkZXI6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpIHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1yYWRpby1ib3JkZXItY29sb3ItZGlzYWJsZWQpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmX19pbnB1dCB+ICZfX2xhYmVsOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogY2FsYyg1MCUgLSB2YXIoLS1mb3JtLXJhZGlvLWRvdC1zaXplKSAvIDIpO1xuICAgIGxlZnQ6IHZhcigtLXJhZGlvLWRvdC1vZmZzZXQpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiB2YXIoLS1mb3JtLXJhZGlvLWRvdC1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWZvcm0tcmFkaW8tZG90LXNpemUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tcmFkaW8tZG90LWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tZm9ybS1mdW5jdGlvbilcbiAgICAgIHZhcigtLXRyYW5zaXRpb24tZm9ybS1kdXJhdGlvbik7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmX19pbnB1dDpkaXNhYmxlZCB+ICZfX2xhYmVsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC10ZXh0LWNvbG9yLWRpc2FibGVkKTtcbiAgfVxuXG4gICZfX2lucHV0OmNoZWNrZWQgfiAmX19sYWJlbDo6YWZ0ZXIge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLnR1aS1yYWRpbyB7XG4gICAgJl9faW5wdXQgfiAmX19sYWJlbDo6YWZ0ZXIge1xuICAgICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgICB9XG4gIH1cblxuICAvKiBJRTExICYgRWRnZSBzdXBwb3J0Ki9cbiAgLmllLFxuICAubXNlZGdlIHtcbiAgICAudHVpLXJhZGlvIHtcbiAgICAgICZfX2lucHV0IH4gLnR1aS1yYWRpb19fbGFiZWw6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tZm9ybS1yYWRpby1kb3QtY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktcmFkaW9EYXRlUmFuZ2VJbnB1dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJiA+ICogKyAqIHtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLTIpO1xuICB9XG5cbiAgJl9fbnVtYmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiA2cmVtO1xuICB9XG5cbiAgJl9fdHlwZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTJyZW07XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuOnJvb3Qge1xuICAtLWZvcm0tcmFkaW8tZ3JvdXAtcGFkZGluZzogdmFyKC0tZ2FwLTIpO1xuICAvKiBub3RlOiBzaG91bGQgbm90IGJlIG1vcmUgdGhhbiB0d2ljZSBwYWRkaW5nKi9cbiAgLS1mb3JtLXJhZGlvLWdyb3VwLXNwYWNpbmctdjogdmFyKC0tZ2FwLTQpO1xuICAtLWZvcm0tcmFkaW8tZ3JvdXAtc3BhY2luZy1oOiB2YXIoLS1nYXAtNCk7XG59XG5cbi50dWktcmFkaW9Hcm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IHZhcigtLWZvcm0tcmFkaW8tZ3JvdXAtcGFkZGluZykgMDtcblxuICBAaW5jbHVkZSB0dWktc3RhY2stdmVydGljYWwodmFyKC0tZm9ybS1yYWRpby1ncm91cC1zcGFjaW5nLXYpKTtcblxuICAmLS1pbnB1dFNpemVkT3B0aW9ucyB7XG4gICAgJiA+ICoge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIG1pbi1oZWlnaHQ6IHZhcigtLWZvcm0taW5wdXQtaGVpZ2h0KTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHR1aS1zY3JlZW4tc20pIHtcbiAgLnR1aS1yYWRpb0dyb3VwLS1ob3Jpem9udGFsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiBwcmV0dGllci1pZ25vcmUqL1xuICAgIHBhZGRpbmc6IGNhbGModmFyKC0tZm9ybS1yYWRpby1ncm91cC1wYWRkaW5nKSAtIHZhcigtLWZvcm0tcmFkaW8tZ3JvdXAtc3BhY2luZy12KSAvIDIpIDA7XG5cbiAgICAmID4gKiB7XG4gICAgICBtYXJnaW46IGNhbGModmFyKC0tZm9ybS1yYWRpby1ncm91cC1zcGFjaW5nLXYpIC8gMikgMDtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZm9ybS1yYWRpby1ncm91cC1zcGFjaW5nLWgpO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktcmFkaW9OdW1iZXJJbnB1dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC8qIFVzZSBzYW1lIGluZGVudGF0aW9uIGFzIHJhZGlvIGZvciBuaWNlciB3cmFwcGluZyovXG4gIG1hcmdpbi1sZWZ0OiB2YXIoLS1yYWRpby1sYWJlbC1vZmZzZXQpO1xuXG4gICZfX251bWJlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogNnJlbTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktcmFkaW9XaXRoSW5wdXQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICYgPiAqICsgKiB7XG4gICAgLyogVXNlIHNhbWUgaW5kZW50YXRpb24gYXMgcmFkaW8gZm9yIG5pY2VyIHdyYXBwaW5nKi9cbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tcmFkaW8tbGFiZWwtb2Zmc2V0KTtcbiAgfVxuXG4gICZfX3JhZGlvIHtcbiAgICBtYXJnaW46IHZhcigtLWdhcC0yKSAwO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuOnJvb3Qge1xuICAvKiByZW0gZG9lcyBub3Qgd29yayBjb3JyZWN0bHkgaW4gSUUqL1xuICAtLWZvcm0tcmFuZ2UtaGVpZ2h0OiAyMHB4O1xuICAtLWZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAxMHB4O1xuICAtLWZvcm0tcmFuZ2UtdGh1bWItc2l6ZTogMThweDtcbn1cblxuQG1peGluIHR1aS1yYW5nZS10cmFjaygpIHtcbiAgaGVpZ2h0OiB2YXIoLS1mb3JtLXJhbmdlLXRyYWNrLWhlaWdodCk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNCk7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtcHJpbnQtY29sb3ItYWRqdXN0OiBleGFjdDtcbiAgY29sb3ItYWRqdXN0OiBleGFjdDtcbn1cbkBtaXhpbiB0dWktcmFuZ2UtdGh1bWIoKSB7XG4gIHdpZHRoOiB2YXIoLS1mb3JtLXJhbmdlLXRodW1iLXNpemUpO1xuICBoZWlnaHQ6IHZhcigtLWZvcm0tcmFuZ2UtdGh1bWItc2l6ZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi50dWktcmFuZ2Uge1xuICBmbGV4OiBhdXRvO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICZfX2xhYmVscyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWdhcC0xKTtcbiAgfVxuXG4gICZfX2xvd0xhYmVsLFxuICAmX19oaWdoTGFiZWwge1xuICAgIEBpbmNsdWRlIHR1aS1mb250LWJvZHktc21hbGwoKTtcbiAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNik7XG4gIH1cblxuICAmX19sb3dMYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICZfX2hpZ2hMYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIH1cblxuICAmX19pbnB1dCB7XG4gICAgaGVpZ2h0OiB2YXIoLS1mb3JtLXJhbmdlLWhlaWdodCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcblxuICAgICY6ZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSB0dWktZm9jdXMoKTtcbiAgICB9XG4gICAgJjo6LW1vei1mb2N1cy1vdXRlciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLyogVHJhY2sgc3R5bGVzICovXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgQGluY2x1ZGUgdHVpLXJhbmdlLXRyYWNrKCk7XG4gICAgfVxuICAgICY6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNCk7XG4gICAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgICBjb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgIH1cbiAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgIEBpbmNsdWRlIHR1aS1yYW5nZS10cmFjaygpO1xuICAgIH1cbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgQGluY2x1ZGUgdHVpLXJhbmdlLXRyYWNrKCk7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7IC8qIFJlbW92ZSBkZWZhdWx0IHRpY2sgbWFya3MgKi9cbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyAvKiBSZXBsYWNlIGJnIGNvbG91ciBmcm9tIHRoZSB0cmFjayB3aXRoIG1zLWZpbGwtbG93ZXIgYW5kIG1zLWZpbGwtdXBwZXIgKi9cbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIFRodW1iIGNhbiBub3Qgb3ZlcmxheSB0cmFjayBzbyB3ZSBhZGQgaW52aXNpYmxlIGJvcmRlciAqL1xuICAgIH1cbiAgICAmOjotbXMtZmlsbC11cHBlcixcbiAgICAmOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1uZXV0cmFsLTQpO1xuICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4gICAgfVxuICAgICY6Zm9jdXM6Oi1tcy1maWxsLXVwcGVyLFxuICAgICY6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNCk7XG4gICAgfVxuXG4gICAgLyogVGh1bWIgc3R5bGVzICovXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgQGluY2x1ZGUgdHVpLXJhbmdlLXRodW1iKCk7XG4gICAgICAvKiBwcmV0dGllci1pZ25vcmUqL1xuICAgICAgbWFyZ2luLXRvcDogY2FsYygodmFyKC0tZm9ybS1yYW5nZS10cmFjay1oZWlnaHQpIC8gMikgLSAodmFyKC0tZm9ybS1yYW5nZS10aHVtYi1zaXplKSAvIDIpKTtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBAaW5jbHVkZSB0dWktcmFuZ2UtdGh1bWIoKTtcbiAgICB9XG4gICAgJjo6LW1zLXRodW1iIHtcbiAgICAgIEBpbmNsdWRlIHR1aS1yYW5nZS10aHVtYigpO1xuICAgIH1cblxuICAgICYudHVpLXJhbmdlX19pbnB1dC0tc2VsZWN0ZWQge1xuICAgICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gICAgICB9XG4gICAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3RhdGUpO1xuICAgICAgfVxuICAgICAgJjo6LW1zLXRodW1iIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3Itc3RhdGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYudHVpLXJhbmdlX19pbnB1dC0tbm9UaHVtYiB7XG4gICAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgLyogRGlzcGxheSBub25lIGRvZXMgbm90IHdvcmsuKi9cbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktcmVwZWF0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuXG4gICYgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTMpO1xuICB9XG5cbiAgJl9fcm93LFxuICAmX19oZWFkZXJSb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmX19oZWFkZXJSb3cgKyAmX19yb3cge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC0yKTtcbiAgfVxuXG4gICZfX3JvdyArICZfX2FmdGVyUm93IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtNCk7XG4gIH1cblxuICAmX19hZnRlclJvdyArICZfX3JvdyB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTgpO1xuICB9XG5cbiAgJl9fYWZ0ZXJSb3cgKyAmX19oZWFkZXJSb3cge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC00KTtcbiAgfVxuXG4gICYtLW5vU3BhY2luZyA+ICoge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2hlYWRlclJvdyAmX19kZWxldGUge1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktc2VhcmNoQm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gICZfX2lucHV0V3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIEBpbmNsdWRlIHR1aS1jaGFyLWxlbmd0aC1jbGFzc2VzKCk7XG4gIH1cblxuICAmX19zZWFyY2gge1xuICAgIC8qIGRpc2FibGUgdGhlIGRlZmF1bHQgY2xlYXIgKHgpIGFjdGlvbiBpbiBJRSovXG4gICAgJjo6LW1zLWNsZWFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnR1aS1mb3JtTGFiZWwge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwLTIpO1xuICB9XG5cbiAgJl9fY2xlYXJDb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX19yZW1vdmVJY29uIHtcbiAgICBjb2xvcjogdmFyKC0tZmlsdGVyLXNlYXJjaC1jbGVhci1pY29uLWNvbG9yKTtcbiAgfVxuXG4gIC8qIFNvIHRoYXQgdGhlIHNlYXJjaCBidXR0b24gbWF0Y2hlcyB0aGUgZm9ybWF0IG9mIHRoZSBpbnB1dCB0aGF0IGlzIG5leHQgdG8gaXQqL1xuICAmX19idXR0b24ge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlOmZvY3VzLFxuICAgICY6YWN0aXZlOmhvdmVyLFxuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbjpyb290IHtcbiAgLS1zZWxlY3QtaWNvbi1zaXplOiB2YXIoLS1nYXAtMSk7XG59XG5cbi8qIFJlc2V0Ki9cbi50dWktc2VsZWN0X19pbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IGF1dG87XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGNvbG9yOiBibGFjaztcbiAgZm9udDogNDAwIDEzLjMzMzNweCBBcmlhbDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB0ZXh0LWluZGVudDogMDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTY5LCAxNjksIDE2OSk7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXItaW1hZ2U6IGluaXRpYWw7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwcztcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYWxsO1xuICB0ZXh0LXJlbmRlcmluZzogYXV0bztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBtZW51bGlzdDtcbiAgICAgICAgICBhcHBlYXJhbmNlOiBtZW51bGlzdDtcblxuICAmW2Rpc2FibGVkXSB7XG4gICAgY29sb3I6IHJnYig2MSwgNjgsIDc1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjE4LCAyMTgsIDIxOCk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogcmdiKDIxOCwgMjE4LCAyMTgpO1xuICAgIG91dGxpbmUtd2lkdGg6IDNweDtcbiAgICBvdXRsaW5lLXN0eWxlOiBhdXRvO1xuICAgIG91dGxpbmUtY29sb3I6IEhpZ2hsaWdodDtcbiAgICBvdXRsaW5lLWNvbG9yOiAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAtbW96LXVzZXItZm9jdXM6IG5vcm1hbDtcbiAgfVxufVxuXG4udHVpLXNlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuICBoZWlnaHQ6IHZhcigtLWZvcm0taW5wdXQtaGVpZ2h0KTtcblxuICBAaW5jbHVkZSB0dWktY2hhci1sZW5ndGgtY2xhc3NlcygpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiBjYWxjKCh2YXIoLS1mb3JtLWlucHV0LWhlaWdodCkgLSB2YXIoLS1zZWxlY3QtaWNvbi1zaXplKSkgLyAyKTtcbiAgICByaWdodDogY2FsYygodmFyKC0tZm9ybS1pbnB1dC1oZWlnaHQpIC0gdmFyKC0tc2VsZWN0LWljb24tc2l6ZSkgKiAyKSAvIDIpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IHZhcigtLXNlbGVjdC1pY29uLXNpemUpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWZvcm0taW5wdXQtdGV4dC1jb2xvcik7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAmLS1kaXNhYmxlZDo6YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IHZhcigtLWZvcm0taW5wdXQtdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gIH1cblxuICAmLS1tdWx0aXBsZTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLS1sYXJnZSB7XG4gICAgaGVpZ2h0OiB2YXIoLS1mb3JtLWlucHV0LWhlaWdodC1sYXJnZSk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IGNhbGMoKHZhcigtLWZvcm0taW5wdXQtaGVpZ2h0LWxhcmdlKSAtIHZhcigtLXNlbGVjdC1pY29uLXNpemUpKSAvIDIpO1xuICAgICAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgICAgIHJpZ2h0OiBjYWxjKCh2YXIoLS1mb3JtLWlucHV0LWhlaWdodC1sYXJnZSkgLSB2YXIoLS1zZWxlY3QtaWNvbi1zaXplKSAqIDIpIC8gMik7XG4gICAgfVxuICB9XG5cbiAgJl9faW5wdXQge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLWdhcC02KSAwIHZhcigtLWdhcC0xKTtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvcm0taW5wdXQtZm9udC1zaXplKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLWlucHV0LWJnLWNvbG9yKTtcbiAgICBib3JkZXI6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpIHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3IpO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICAmW211bHRpcGxlXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgY29sb3I6IHZhcigtLWZvcm0taW5wdXQtdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLWlucHV0LWJnLWNvbG9yLWRpc2FibGVkKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItZGlzYWJsZWQpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tZm9ybS1pbnB1dC1iZy1jb2xvci1mb2N1cyk7XG4gICAgICBib3JkZXI6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLXNpemUpIHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1jb2xvci1mb2N1cyk7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tZm9ybS1pbnB1dC1zaGFkb3ctZm9jdXMpO1xuXG4gICAgICAudHVpLWNvbnRleHRJbnZhbGlkICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1mb3JtLWlucHV0LWJnLWNvbG9yLWludmFsaWQtZm9jdXMpO1xuICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yLWludmFsaWQpO1xuICAgICAgICBib3gtc2hhZG93OiB2YXIoLS1mb3JtLWlucHV0LXNoYWRvdy1pbnZhbGlkLWZvY3VzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBEcm9wIHNlbGVjdCBvdXRsaW5lKi9cbiAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtc2hhZG93OiAwIDAgMCAjMDAwO1xuICAgIH1cblxuICAgIC8qIGFwcGVhcmFuY2U6IG5vbmU7IGVxdWl2YWxlbnQgZm9yIElFKi9cbiAgICAmOjotbXMtZXhwYW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogcHJldmVudCB3ZWlyZCBzdHlsaW5nIGFmdGVyIHNlbGVjdGluZyB2YWx1ZSovXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLnR1aS1jb250ZXh0SW52YWxpZCAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItaW52YWxpZCk7XG4gICAgICBib3gtc2hhZG93OiB2YXIoLS1mb3JtLWlucHV0LXNoYWRvdy1pbnZhbGlkKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1mb3JtVGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IHZhcigtLWdhcC0xKSB2YXIoLS1nYXAtMik7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBjb2xvcjogdmFyKC0tZm9ybS1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgZm9udC1zaXplOiB2YXIoLS1mb3JtLWlucHV0LWZvbnQtc2l6ZSk7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYm9yZGVyOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1zaXplKSBzb2xpZCB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1jb2xvcik7XG4gIHJlc2l6ZTogbm9uZTtcblxuICBAaW5jbHVkZSB0dWktY2hhci1sZW5ndGgtY2xhc3NlcygpO1xuXG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtcGxhY2Vob2xkZXItY29sb3IpO1xuICB9XG5cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtcGxhY2Vob2xkZXItY29sb3IpO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtcGxhY2Vob2xkZXItY29sb3IpO1xuICB9XG5cbiAgLnR1aS1jb250ZXh0SW52YWxpZCAmIHtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yLWludmFsaWQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWZvcm0taW5wdXQtc2hhZG93LWludmFsaWQpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tZm9ybS1pbnB1dC1iZy1jb2xvci1mb2N1cyk7XG4gICAgYm9yZGVyOiB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1zaXplKSBzb2xpZFxuICAgICAgdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItZm9jdXMpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tZm9ybS1pbnB1dC1zaGFkb3ctZm9jdXMpO1xuXG4gICAgLnR1aS1jb250ZXh0SW52YWxpZCAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0taW5wdXQtYmctY29sb3ItaW52YWxpZC1mb2N1cyk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0taW5wdXQtYm9yZGVyLWNvbG9yLWludmFsaWQpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tZm9ybS1pbnB1dC1zaGFkb3ctaW52YWxpZC1mb2N1cyk7XG4gICAgfVxuICB9XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiB2YXIoLS1mb3JtLWlucHV0LXRleHQtY29sb3ItZGlzYWJsZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWZvcm0taW5wdXQtYmctY29sb3ItZGlzYWJsZWQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3ItZGlzYWJsZWQpO1xuXG4gICAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tZm9ybS1pbnB1dC10ZXh0LWNvbG9yLWRpc2FibGVkKTtcbiAgICB9XG5cbiAgICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tZm9ybS1pbnB1dC10ZXh0LWNvbG9yLWRpc2FibGVkKTtcbiAgICB9XG5cbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogdmFyKC0tZm9ybS1pbnB1dC10ZXh0LWNvbG9yLWRpc2FibGVkKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5AbWl4aW4gZ3JpZC1pdGVtLWdlbmVyYXRlLWd1dHRlcnMoXG4gICRfYm9yZGVyVHlwZTogbGVmdCxcbiAgJF9ndXR0ZXJTaXplOiB2YXIoLS1ncmlkLWd1dHRlcilcbikge1xuICA+IC50dWktZ3JpZC1pdGVtIHtcbiAgICAvKiBiZWNhdXNlIHdlIHVzZSB0cmFuc3BhcmVudCBib3JkZXJzIGZvciBndXR0ZXJzIGJ1dCBkb24ndCB3YW50IHRoYXQqL1xuICAgIC8qIGNvdW50aW5nIGFzIHZpc2libGUgaXRlbSB3aWR0aCovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAvKiByZXNldCBhbGwgcG9zc2libHkgZXhpc3RpbmcgYm9yZGVyIHdpZHRocywgaXQgaXMgYXNzdW1lZCB0aGF0IGdyaWQgZ2FwcyovXG4gICAgLyogYXJlIHVuaWRpcmVjdGlvbmFsKi9cbiAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgYm9yZGVyLSN7JF9ib3JkZXJUeXBlfTogI3skX2d1dHRlclNpemV9IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG4gIC8qIHRoZSBcImZpcnN0XCIgaXRlbSBzaG91bGQgbmV2ZXIgaGF2ZSBhIGd1dHRlciwgYnV0IGA6Zmlyc3QtY2hpbGRgIG1heSBub3QgYmUqL1xuICAvKiBhY2N1cmF0ZSBpZiBmbGV4IHJlLW9yZGVyaW5nIGhhcyBiZWVuIGFwcGxpZWQsIHNvIHVzZSBnZW5lcmF0ZWQgXCJmaXJzdFwiKi9cbiAgLyogY2xhc3NOYW1lIGluc3RlYWQuIHRoaXMgd29ya3MgaW4gbW9zdCBjYXNlcyB3aXRoIHRoZSBleGNlcHRpb24gb2Y6Ki9cbiAgLyogIC0gd2hlbiB0aGUgYnJvd3NlciBpZ25vcmVzIHRoZSBvcmRlciBwcm9wZXJ0eSBkdWUgdG8gc2libGluZ3Mgbm90IGhhdmluZyovXG4gIC8qICAgIGFuIG9yZGVyIHByb3BlcnR5IGFsc28qL1xuICA+IC50dWktZ3JpZC1pdGVtLS1maXJzdCB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICB9XG59XG5cbi8qIEdyaWQgc3R5bGVzKi9cbi50dWktZ3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZ3JvdzogMTsgLyogaW4gY2FzZSBuZXN0ZWQgaW5zaWRlIGEgcGFyZW50IGdyaWQgY2VsbCovXG4gIG1heC13aWR0aDogMTAwJTtcblxuICAvKiBtYWluIEdyaWQgbW9kaWZpZXJzIGFwcGxpZWQgYmFzZWQgb24gc3VwcGxpZWQgcHJvcCB2YWx1ZXMqL1xuICAmLS13cmFwcGVkIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAvKiBjb250ZW50LWNvbnRhaW5pbmcgZWxlbWVudHMqL1xuICAmLWl0ZW0ge1xuICAgIGZsZXgtZ3JvdzogMDsgLyogYnkgZGVmYXVsdCB3ZSB3YW50IGl0ZW0gc2l6ZSB0byByZXNwZWN0IHVuaXQtYmFzZWQgY2FsY3VsYXRpb25zKi9cbiAgICBmbGV4LXNocmluazogMTsgLyogYnkgZGVmYXVsdCB3ZSB3YW50IHRvIGF1dG8tYWRqdXN0IGZvciBndXR0ZXJzKi9cbiAgICBtaW4td2lkdGg6IDA7IC8qIGFsbG93cyBmbGV4IGl0ZW1zIHRvIHNocmluayBiZWxvdyB0aGVpciBtaW5pbXVtIGNvbnRlbnQgc2l6ZSovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvO1xuICAgICAgICAtbXMtaHlwaGVuczogYXV0bztcbiAgICAgICAgICAgIGh5cGhlbnM6IGF1dG87IC8qIGRlZmF1bHQgcHJldmVudHMgdGV4dCBmcm9tIGNhdXNpbmcgZ3JpZCBtaXMtYWxpZ25tZW50cyovXG5cbiAgICAvKiBHcmlkIGl0ZW0gbW9kaWZpZXJzIGJhc2VkIG9uIHN1cHBsaWVkIHByb3AgdmFsdWVzKi9cbiAgICAmLS1ncm93IHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG4gICAgJi0tbm8tc2hyaW5rIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cbiAgICAmLS1uby1oeXBoZW5zIHtcbiAgICAgIC13ZWJraXQtaHlwaGVuczogbm9uZTtcbiAgICAgICAgICAtbXMtaHlwaGVuczogbm9uZTtcbiAgICAgICAgICAgICAgaHlwaGVuczogbm9uZTtcbiAgICB9XG4gICAgJi0tb3ZlcmZsb3cge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgLyogaG9yaXpvbnRhbCBncmlkKi9cbiAgJi0taG9yaXpvbnRhbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgICYtZ2FwIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaXRlbS1nZW5lcmF0ZS1ndXR0ZXJzKGxlZnQsIHZhcigtLWdyaWQtZ3V0dGVyKSk7XG4gICAgfVxuICB9XG5cbiAgLyogdmVydGljYWwgZ3JpZCovXG4gICYtLXZlcnRpY2FsIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgJi1nYXAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1pdGVtLWdlbmVyYXRlLWd1dHRlcnModG9wLCB2YXIoLS1ncmlkLWd1dHRlcikpO1xuICAgIH1cblxuICAgIC8qIElFMTEgZG9lc24ndCBkaXN0cmlidXRlIHZlcnRpY2FsIHNwYWNlIHdpdGhvdXQgYW4gZXhwbGljaXQgaGVpZ2h0IHNldCovXG4gICAgLyogb24gdGhlIGNvbnRhaW5lciwgc28gdGhlIHNhZmVzdCB0aGluZyB0byBkbyBpcyByZXZlcnQgdG8gYmxvY2sgbGF5b3V0Ki9cbiAgICAuaWUgJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLS13cmFwcGVkLWdhcCAudHVpLWdyaWQtaXRlbS0td3JhcHBlZCB7XG4gICAgLyogbWFyZ2luIGJldHRlciB0byB1c2UgaGVyZSBpbnN0ZWFkIG9mIGJvcmRlcnMsIGFzIG5hdHVyYWwgZ3JpZCBnYXAgaXMqL1xuICAgIC8qIGFzc3VtZWQgdG8gYmUgdW5pZGlyZWN0aW9uYWwsIHdoZXJlYXMgdGhpcyBhZGRpdGlvbmFsIHR5cGUgb2YgZ3JpZCBnYXAqL1xuICAgIC8qIG9ubHkgYXBwbGllcyB3aGVuIGdyaWQgaXRlbXMgd3JhcCwgYW5kIGlmIHRoZSBnYXAgaXMgY29uZmd1cmVkIGFzKi9cbiAgICAvKiBkZXNpcmFibGUgZm9yIGEgZ2l2ZW4gZ3JpZCovXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ3JpZC1ndXR0ZXIpO1xuICB9XG5cbiAgLyogYWxsIHplcm8gdW5pdCBHcmlkSXRlbXMgc2hvdWxkIG5vdCBzaG93IGFueSBndXR0ZXJzIG9yIGNvbnRlbnQqL1xuICAmLS12ZXJ0aWNhbCxcbiAgJi0taG9yaXpvbnRhbCB7XG4gICAgLnR1aS1ncmlkLWl0ZW0tLW5vLXVuaXRzIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgLyogc3dpdGNoIHRvIHN0YWNrZWQgZGlzcGxheSBhdCBhbiBjb250YWluZXItYmFzZWQgcGl4ZWwgd2lkdGggYnJlYWtwb2ludCovXG4gIC8qIHZhbHVlIChjbGFzcyBpcyBjb25kaXRpb25hbGx5IGFwcGxpZWQgZHVyaW5nIEdyaWQgcmVuZGVyKCkpKi9cbiAgJi0tc3RhY2tlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICA+IC50dWktZ3JpZC1pdGVtIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgfVxuXG4gICAgJi1nYXAge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1pdGVtLWdlbmVyYXRlLWd1dHRlcnModG9wLCB2YXIoLS1ncmlkLWd1dHRlcikpO1xuICAgIH1cbiAgfVxuXG4gICYtLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktaWNvbkxvYWRpbmcge1xuICBhbmltYXRpb246IHR1aS1pY29uTG9hZGluZy1zcGluIDFzIHN0ZXBzKDEyLCBlbmQpIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHR1aS1pY29uTG9hZGluZy1zcGluIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1zdmdJY29uIHtcbiAgLyogc2FtZSBhcyB0aGUgYm9vdHN0cmFwIGljb25zIGRlZmF1bHQgY3NzKi9cbiAgLyogYmV0dGVyIGFsaWdubWVudCBpbiBtb3N0IGNhc2VzIHRoYW4gdmVydGljYWwtYWxpZ246IG1pZGRsZSovXG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcblxuICAmLS1zaXplIHtcbiAgICAmLTEwMCB7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICB9XG4gICAgJi0yMDAge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgfVxuICAgICYtMzAwIHtcbiAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICB9XG4gICAgJi00MDAge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgfVxuICAgICYtNTAwIHtcbiAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgIH1cbiAgICAmLTYwMCB7XG4gICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICB9XG4gICAgJi03MDAge1xuICAgICAgZm9udC1zaXplOiAzLjhyZW07XG4gICAgfVxuICB9XG5cbiAgJi0tc3RhdGUge1xuICAgICYtaW5mbyB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItcHJvbXB0LWluZm8pO1xuICAgIH1cblxuICAgICYtYWxlcnQge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXByb21wdC1hbGVydCk7XG4gICAgfVxuXG4gICAgJi13YXJuaW5nIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcm9tcHQtd2FybmluZyk7XG4gICAgfVxuXG4gICAgJi1zdWNjZXNzIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1wcm9tcHQtc3VjY2Vzcyk7XG4gICAgfVxuXG4gICAgJi1kaW1tZWQge1xuICAgICAgY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNik7XG4gICAgfVxuICB9XG59XG5cbi5kaXItcnRsIC50dWktc3ZnSWNvbi0tZmxpcFJ0bCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktcmVzcG9uc2l2ZUltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWF0dGFjaG1lbnROb2RlQ29sbGVjdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogdmFyKC0tZ2FwLTEpIDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGJvcmRlci10b3A6IHZhcigtLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xuICBib3JkZXItYm90dG9tOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tY29sb3ItbmV1dHJhbC01KTtcblxuICA+IC50dWktZmlsZUNhcmQge1xuICAgIC8qIERvaW5nIHRoZSBtYXJnaW4gZm9yIHRoZSBzaW5nbGUgYXR0YWNobWVudC4qL1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC0xKTtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcC0xKTtcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtMSk7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzIwcHgpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwLTQpO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1hdWRpb0Jsb2NrIHtcbiAgbWFyZ2luOiB2YXIoLS1nYXAtOCkgMDtcblxuICAmX19hY3Rpb25zV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC0yKTtcbiAgfVxuXG4gICZfX3ZpZXdUcmFuc2NyaXB0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAmX190cmFuc2NyaXB0Q29udGVudCB7XG4gICAgaGVpZ2h0OiA2MHJlbTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWVtb2ppIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJ05vdG8gQ29sb3IgRW1vamknLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLFxuICAgICdTZWdvZSBVSSBTeW1ib2wnLCBUaW1lcywgU3ltYm9sYSwgQWVneXB0dXMsIENvZGUyMDAwLCBDb2RlMjAwMSwgQ29kZTIwMDIsXG4gICAgTXVzaWNhLCBzZXJpZiwgTGFzdFJlc29ydDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LXZhcmlhbnQtZW1vamk6IGVtb2ppO1xufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1oYXNodGFnIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gICZfX3RleHQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC8qIEhvdmVyIHN0YXRlLCBmb3Igbm93IHdlIGtlZXAgdGhlIHNhbWUgY29sb3IuKi9cbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1pbWFnZUJsb2NrIHtcbiAgbWFyZ2luOiB2YXIoLS1nYXAtOCkgMDtcbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1saW5rQmxvY2sge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC13aWR0aDogMjguNnJlbTtcbiAgaGVpZ2h0OiBjYWxjKDcuNnJlbSArIDJweCk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEzKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNhcmQtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IHZhcigtLXRyYW5zaXRpb24tZm9ybS1mdW5jdGlvbilcbiAgICB2YXIoLS10cmFuc2l0aW9uLWZvcm0tZHVyYXRpb24pO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy0yKTtcbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvcmRlcjogMjtcbiAgICB3aWR0aDogNnJlbTtcbiAgICBoZWlnaHQ6IDZyZW07XG4gICAgbWFyZ2luOiB2YXIoLS1nYXAtMik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuXG4gICAgPiBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJl9fc3VtbWFyeSB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIG9yZGVyOiAxO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC0yKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJl9fc2l0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEyKTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gICZfX2Rlc2NyaXB0aW9uIHtcbiAgICAvKiBzaG93IGEgbWF4IG9mIDIgbGluZXMqL1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1mb250LXNpemUtMTMpICogMiAqIDEuMTUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19saW5rT25seSB7XG4gICAgLyogc2hvdyBhIG1heCBvZiA0IGxpbmVzKi9cbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tZm9udC1zaXplLTEzKSAqIDQgKiAxLjEyKTtcbiAgICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdGUpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udC1zaXplLTEzKTtcbiAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgfVxuXG4gICZfX292ZXJsYXlMaW5rIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogLTFweCB0byBhY2NvdW50IGZvciBib3JkZXIqL1xuICAgIHRvcDogLTFweDtcbiAgICByaWdodDogLTFweDtcbiAgICBib3R0b206IC0xcHg7XG4gICAgbGVmdDogLTFweDtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1tZW50aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gICZfX2Rpc3BsYXlOYW1lIHtcbiAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdGUpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAvKiBIb3ZlciBzdGF0ZSwgZm9yIG5vdyB3ZSBrZWVwIHRoZSBzYW1lIGNvbG9yLiovXG4gICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdGUpO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktdmlkZW9CbG9jayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IHZhcigtLWVtYmVkZGVkLW1lZGlhLW1heC13aWR0aCk7XG5cbiAgbWFyZ2luOiB2YXIoLS1nYXAtOCkgMDtcblxuICAudmlkZW8tanMgLnZqcy1jb250cm9sIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1sYXlvdXRPbmVDb2x1bW4ge1xuICBAaW5jbHVkZSB0dWktZm9udC1ib2R5KCk7XG4gIG1hcmdpbi10b3A6IHZhcigtLWdhcC0yKTtcblxuICBAaW5jbHVkZSB0dWktc3RhY2stdmVydGljYWwodmFyKC0tZ2FwLTgpKTtcblxuICAmX19oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSB0dWktc3RhY2stdmVydGljYWwodmFyKC0tZ2FwLTIpKTtcbiAgfVxuXG4gICYtLWZsdXNoIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtMTIpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWxheW91dFRocmVlQ29sdW1uX19oZWFkaW5nIHtcbiAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy1tZWRpdW0oKTtcbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWxheW91dFR3b0NvbHVtbl9faGVhZGluZyB7XG4gIEBpbmNsdWRlIHR1aS1mb250LWhlYWRpbmctbWVkaXVtKCk7XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1wYWdlQmFja0xpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAmX19pY29uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcC0xKTtcbiAgICAvKiBOZWdhdGl2ZSBPZmZzZXQgdG8gbGVmdCBhbGlnbiBhcnJvdyB3aXRoIHBhZ2UgY29udGVudCovXG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE5ZW07XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXBhZ2VIZWFkaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1oZWFkaW5nLXBhZ2UtdGl0bGU7XG4gICAgQGluY2x1ZGUgdHVpLXdvcmRicmVhay0taGFyZDtcbiAgfVxuXG4gICZfX2J1dHRvbnMge1xuICAgICYgPiAqIHtcbiAgICAgIG1hcmdpbjogdmFyKC0tZ2FwLTMpIDAgMCB2YXIoLS1nYXAtMik7XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkdHVpLXNjcmVlbi1zbSkge1xuICAudHVpLXBhZ2VIZWFkaW5nIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICYgPiAqIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWFjdGlvbkxpbmsge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHVpL2F0LWV4dGVuZC1vbmx5LXBsYWNlaG9sZGVycyovXG4gIEBleHRlbmQgLnR1aS1mb3JtQnRuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgJi0tcHJpbSB7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHR1aS9hdC1leHRlbmQtb25seS1wbGFjZWhvbGRlcnMqL1xuICAgIEBleHRlbmQgLnR1aS1mb3JtQnRuLS1wcmltO1xuICB9XG5cbiAgJi0tc21hbGwge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSB0dWkvYXQtZXh0ZW5kLW9ubHktcGxhY2Vob2xkZXJzKi9cbiAgICBAZXh0ZW5kIC50dWktZm9ybUJ0bi0tc21hbGw7XG4gIH1cblxuICAmLS1zck9ubHkge1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSB0dWkvYXQtZXh0ZW5kLW9ubHktcGxhY2Vob2xkZXJzKi9cbiAgICBAZXh0ZW5kIC50dWktZm9ybUJ0bi0tc3JPbmx5O1xuICB9XG5cbiAgJjpub3QoW2hyZWZdKSB7XG4gICAgY29sb3I6IHZhcigtLWJ0bi10ZXh0LWNvbG9yLWRpc2FibGVkKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tYmctY29sb3ItZGlzYWJsZWQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYnRuLWJvcmRlci1jb2xvci1kaXNhYmxlZCk7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6IDE7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZTpmb2N1cyxcbiAgICAmOmFjdGl2ZTpob3ZlcixcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4tdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1idG4tYmctY29sb3ItZGlzYWJsZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1idG4tYm9yZGVyLWNvbG9yLWRpc2FibGVkKTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1za2lwVG9Db250ZW50IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG5cbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1jb21wb25lbnRMb2FkaW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IHZhcigtLWdhcC0zKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtNik7XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLWxvYWRlciB7XG4gICRsb2FkaW5nLWZ1bGxwYWdlOiAjeyZ9LS1mdWxscGFnZTtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLyogRG9uJ3Qgc2hvdyBuZXN0ZWQgbG9hZGVycyovXG4gICYtLWFjdGl2ZSA+ICogLnR1aS1sb2FkZXJfX292ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvKiBJZiBubyBzbG90IGNvbnRlbnQgKGUuZy4gaW5pdGlhbCBsb2FkKSovXG4gICZfX2VtcHR5IHtcbiAgICBtaW4taGVpZ2h0OiB2YXIoLS1nYXAtOCk7XG4gIH1cblxuICAmX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIC8qcnRsOmlnbm9yZSovXG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAjeyRsb2FkaW5nLWZ1bGxwYWdlfSAmIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHotaW5kZXg6IHZhcigtLXppbmRleC1sb2FkaW5nLXBhZ2UpO1xuICAgIH1cblxuICAgICYtcG9zaXRpb25lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cblxuICAmX19kaXNwbGF5IHtcbiAgICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IHZhcigtLWdhcC02KTtcbiAgICBib3R0b206IHZhcigtLWdhcC02KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC02KTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xNSk7XG5cbiAgICAuZmEtc3Bpbm5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbjpyb290IHtcbiAgLyogQmFja2dyb3VuZCBjb2xvdXIgb2Ygc2tlbGV0b24gYXJlYSovXG4gIC8qIFNob3VsZCBoYXZlIGF0IGxlYXN0IDM6MSBjb250cmFzdCByYXRpbyovXG4gIC8qIGh0dHBzOi8vd3d3LnczLm9yZy9XQUkvV0NBRzIxL1VuZGVyc3RhbmRpbmcvbm9uLXRleHQtY29udHJhc3QuaHRtbCovXG4gIC8qIEZ1dHVyZSBvcHRpb24gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL0BtZWRpYS9wcmVmZXJzLWNvbnRyYXN0Ki9cbiAgLS1za2VsZXRvbi1jb250ZW50LWJhY2tncm91bmQ6ICM5NDk0OTQ7XG4gIC8qIEJhY2tncm91bmQgY29sb3VyIG9mIHNrZWxldG9uIGFyZWEgd2hlbiB1bmRlciBhIGxvYWRpbmcgb3ZlcmxheSovXG4gIC0tc2tlbGV0b24tY29udGVudC1vdmVybGF5LWJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gIC8qIENvbG91ciBvZiBzaGltbWVyKi9cbiAgLS1za2VsZXRvbi1jb250ZW50LXNoaW1tZXItY29sb3I6ICNhYWE7XG4gIC8qIENvbG91ciBvZiBzaGltbWVyIHdoZW4gdW5kZXIgYSBsb2FkaW5nIG92ZXJsYXkqL1xuICAtLXNrZWxldG9uLWNvbnRlbnQtc2hpbW1lci1vdmVybGF5LWNvbG9yOiAjZTZlNWU1O1xuICAvKiBCb3JkZXIgcmFkaXVzIGZvciBza2VsZXRvbiBjb250ZW50Ki9cbiAgLS1za2VsZXRvbi1jb250ZW50LWJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuXG4udHVpLXNrZWxldG9uQ29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2tlbGV0b24tY29udGVudC1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2tlbGV0b24tY29udGVudC1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSB0dWktY2hhci1sZW5ndGgtY2xhc3NlcygpO1xuXG4gICYtLWhhc092ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNrZWxldG9uLWNvbnRlbnQtb3ZlcmxheS1iYWNrZ3JvdW5kKTtcbiAgfVxuXG4gICYtLXNoaW1tZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgIC01NWRlZyxcbiAgICAgIHZhcigtLXNrZWxldG9uLWNvbnRlbnQtYmFja2dyb3VuZCkgMCUsXG4gICAgICB2YXIoLS1za2VsZXRvbi1jb250ZW50LWJhY2tncm91bmQpIDM1JSxcbiAgICAgIHZhcigtLXNrZWxldG9uLWNvbnRlbnQtc2hpbW1lci1jb2xvcikgNTAlLFxuICAgICAgdmFyKC0tc2tlbGV0b24tY29udGVudC1iYWNrZ3JvdW5kKSA1OCUsXG4gICAgICB2YXIoLS1za2VsZXRvbi1jb250ZW50LWJhY2tncm91bmQpIDEwMCVcbiAgICApO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwMHB4IDEwMCU7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBhbmltYXRpb246IHR1aS1za2VsZXRvblNoaW1tZXIgM3MgbGluZWFyIGluZmluaXRlO1xuXG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSB7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyB0dWktc2tlbGV0b25TaGltbWVyIHtcbiAgICAwJSB7XG4gICAgICAvKiFydGw6aWdub3JlKi9cbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAvKiFydGw6aWdub3JlKi9cbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMDBweCAwO1xuICAgIH1cbiAgfVxufVxuXG4udHVpLXNrZWxldG9uQ29udGVudC0taGFzT3ZlcmxheS50dWktc2tlbGV0b25Db250ZW50LS1zaGltbWVyIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIC01NWRlZyxcbiAgICB2YXIoLS1za2VsZXRvbi1jb250ZW50LW92ZXJsYXktYmFja2dyb3VuZCkgMCUsXG4gICAgdmFyKC0tc2tlbGV0b24tY29udGVudC1vdmVybGF5LWJhY2tncm91bmQpIDM1JSxcbiAgICB2YXIoLS1za2VsZXRvbi1jb250ZW50LXNoaW1tZXItb3ZlcmxheS1jb2xvcikgNTAlLFxuICAgIHZhcigtLXNrZWxldG9uLWNvbnRlbnQtb3ZlcmxheS1iYWNrZ3JvdW5kKSA1OCUsXG4gICAgdmFyKC0tc2tlbGV0b24tY29udGVudC1vdmVybGF5LWJhY2tncm91bmQpIDEwMCVcbiAgKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAwcHggMTAwJTtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktbG96ZW5nZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBwYWRkaW5nOiAzcHggdmFyKC0tZ2FwLTIpIDNweDtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtMSk7XG4gIEBpbmNsdWRlIHR1aS1mb250LWJvZHkteC1zbWFsbCgpO1xuICBAaW5jbHVkZSB0dWktZm9udC1oZWF2eSgpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJvbXB0LWluZm8pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcblxuICAmLS1hbGVydCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItcHJvbXB0LWFsZXJ0KTtcbiAgfVxuXG4gICYtLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByb21wdC1zdWNjZXNzKTtcbiAgfVxuXG4gICYtLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByb21wdC13YXJuaW5nKTtcbiAgfVxuXG4gICYtLW5ldXRyYWwge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW5ldXRyYWwtNik7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4kdHVpLW1vZGFsLXNtYWxsU2l6ZTogNDAwcHggIWRlZmF1bHQ7XG4kdHVpLW1vZGFsLW5vcm1hbFNpemU6IDU2MHB4ICFkZWZhdWx0O1xuJHR1aS1tb2RhbC1sYXJnZVNpemU6IDgwMHB4ICFkZWZhdWx0O1xuJHR1aS1tb2RhbC1zaGVldEJyZWFrcG9pbnQ6IDc2OHB4ICFkZWZhdWx0O1xuXG4udHVpLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLXppbmRleC1tb2RhbCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJi0tc2hhZGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tkcm9wLXN0YW5kYXJkKTtcbiAgICAmLnR1aS1tb2RhbC0tc2l6ZS1zaGVldCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZHJvcC1oZWF2eSk7XG4gICAgfVxuICB9XG5cbiAgJi0tYW5pbWF0ZWQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLW1vZGFsLWZ1bmN0aW9uKVxuICAgICAgdmFyKC0tdHJhbnNpdGlvbi1tb2RhbC1kdXJhdGlvbik7XG5cbiAgICAudHVpLW1vZGFsX19pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwdmgpO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIHZhcigtLXRyYW5zaXRpb24tbW9kYWwtZnVuY3Rpb24pXG4gICAgICAgIHZhcigtLXRyYW5zaXRpb24tbW9kYWwtZHVyYXRpb24pO1xuICAgIH1cblxuICAgICYudHVpLW1vZGFsLS1pbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICYudHVpLW1vZGFsLS1pbiAudHVpLW1vZGFsX19pbm5lciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG5cbiAgJi0tZXJyb3Ige1xuICAgIHotaW5kZXg6IHZhcigtLXppbmRleC1lcnJvci1tb2RhbCk7XG4gIH1cblxuICAmLnR1aS1tb2RhbC0tc2l6ZS1zaGVldCB7XG4gICAgLnR1aS1tb2RhbF9faW5uZXIge1xuICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgJl9fcGFkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXRleHQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLWJhY2tncm91bmQpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy00KTtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICZfX2Nsb3NlLFxuICAmX19vdXRzaWRlQ2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXAtNCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTgpO1xuICB9XG5cbiAgJl9fb3V0c2lkZUNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZHJvcC1jb250cmFzdCk7XG4gIH1cblxuICAmX19vdXRzaWRlQ2xvc2U6aG92ZXIsXG4gICZfX291dHNpZGVDbG9zZTpmb2N1cyB7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWJhY2tkcm9wLWNvbnRyYXN0KTtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cbn1cblxuLmhhcy10dWktbW9kYWwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHR1aS1tb2RhbC1zaGVldEJyZWFrcG9pbnQpIHtcbiAgLnR1aS1tb2RhbC50dWktbW9kYWwtLXNpemUtc2hlZXQge1xuICAgICYudHVpLW1vZGFsLS1hbmltYXRlZCB7XG4gICAgICAudHVpLW1vZGFsX19pbm5lciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgJi50dWktbW9kYWwtLWluIC50dWktbW9kYWxfX2lubmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAudHVpLW1vZGFsX19vdXRzaWRlQ2xvc2Uge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24tbW9kYWwtZnVuY3Rpb24pXG4gICAgICAgICAgdmFyKC0tdHJhbnNpdGlvbi1tb2RhbC1kdXJhdGlvbik7XG4gICAgICB9XG5cbiAgICAgICYudHVpLW1vZGFsLS1pbiAudHVpLW1vZGFsX19vdXRzaWRlQ2xvc2Uge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuXG4gICAgICAmLnR1aS1tb2RhbC0taW4gLnR1aS1tb2RhbF9fb3V0c2lkZUNsb3NlOmhvdmVyLFxuICAgICAgJi50dWktbW9kYWwtLWluIC50dWktbW9kYWxfX291dHNpZGVDbG9zZTpmb2N1cyB7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudHVpLW1vZGFsIHtcbiAgICAgICZfX3BhZCB7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLW1vZGFsLXNoZWV0LXBhZGRpbmcpO1xuICAgICAgfVxuXG4gICAgICAmX19pbm5lciB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLW1vZGFsLWJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuXG4gICAgICAmX19jbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICZfX291dHNpZGVDbG9zZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0dWktbW9kYWwtc2l6ZSgkbmFtZSwgJHdpZHRoKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAoJHdpZHRoICsgNzVweCkpIHtcbiAgICAudHVpLW1vZGFsLnR1aS1tb2RhbC0tc2l6ZS0jeyRuYW1lfSB7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgICAmLnR1aS1tb2RhbC0tYWx3YXlzLXNjcm9sbCB7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIH1cblxuICAgICAgJi50dWktbW9kYWwtLWFuaW1hdGVkIHtcbiAgICAgICAgLnR1aS1tb2RhbF9faW5uZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYudHVpLW1vZGFsLS1pbiAudHVpLW1vZGFsX19pbm5lciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIGEgc2VwYXJhdGUgX19wYWQgZWxlbWVudCBpcyByZXF1aXJlZCBhcyBmbGV4Ym94IGNlbnRlcmluZyB3aXRoKi9cbiAgICAgIC8qIGBtYXJnaW4tdG9wL2JvdHRvbTogYXV0bztgIGFuZCBwYWRkaW5nIG9uIHRoZSBwYXJlbnQgYXJlIG5vdCBjb21wYXRpYmxlKi9cbiAgICAgIC50dWktbW9kYWwge1xuICAgICAgICAmX19wYWQge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogdmFyKC0tbW9kYWwtY29udGFpbmVyLXBhZGRpbmcpIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbm5lciB7XG4gICAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogdmFyKC0tbW9kYWwtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jbG9zZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX291dHNpZGVDbG9zZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSB0dWktbW9kYWwtc2l6ZSgnc21hbGwnLCAkdHVpLW1vZGFsLXNtYWxsU2l6ZSk7XG5AaW5jbHVkZSB0dWktbW9kYWwtc2l6ZSgnbm9ybWFsJywgJHR1aS1tb2RhbC1ub3JtYWxTaXplKTtcbkBpbmNsdWRlIHR1aS1tb2RhbC1zaXplKCdsYXJnZScsICR0dWktbW9kYWwtbGFyZ2VTaXplKTtcbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktbW9kYWxDb250ZW50IHtcbiAgQGluY2x1ZGUgdHVpLWZvbnQtYm9keSgpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHBhZGRpbmc6IHZhcigtLW1vZGFsLWNvbnRlbnQtb3V0ZXItcGFkZGluZykgMDtcblxuICAmLS1ub0NvbnRlbnRQYWRkaW5nIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gICZfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nOiAwIHZhcigtLW1vZGFsLWNvbnRlbnQtb3V0ZXItcGFkZGluZyk7XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIHR1aS1mb250LWhlYWRpbmctc21hbGwoKTtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICYtLXNyb25seSB7XG4gICAgICAgIEBpbmNsdWRlIHNyLW9ubHkoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgcGFkZGluZzogdmFyKC0tZ2FwLTMpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1tb2RhbC1jb250ZW50LXNlcGFyYXRpb24pO1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tbW9kYWwtY29udGVudC1vdXRlci1wYWRkaW5nKSAycHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gICYtLW5vQ29udGVudFBhZGRpbmcgJl9fY29udGVudCB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2Zvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IHZhcigtLW1vZGFsLWNvbnRlbnQtc2VwYXJhdGlvbi1sYXJnZSk7XG4gICAgcGFkZGluZzogMCB2YXIoLS1tb2RhbC1jb250ZW50LW91dGVyLXBhZGRpbmcpO1xuXG4gICAgJi1idXR0b25zIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuQG1peGluIHR1aS1ub3RpZmljYXRpb24tYmFubmVyLWNvbG9yKCRuYW1lLCAkY29sb3IpIHtcbiAgLnR1aS1ub3RpZmljYXRpb25CYW5uZXIge1xuICAgICYtLSN7JG5hbWV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cblxuICAgICYtLSN7JG5hbWV9ICZfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udHVpLW5vdGlmaWNhdGlvbkJhbm5lciB7XG4gIEBpbmNsdWRlIHR1aS1mb250LWJvZHktc21hbGwoKTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tY29sb3ItcHJvbXB0LWluZm8pO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcblxuICAmX19pY29uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC00KTtcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0xKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1wcm9tcHQtaW5mbyk7XG4gICAgLyogLTFweCB0byBhdm9pZCBpc3N1ZSB3aXRoIHJhem9yIHRoaW4gd2hpdGUgbGluZSBiZXR3ZWVuIGljb24gY29udGFpbmVyIGFuZCBub3RpZmljYXRpb24gYm9yZGVyKi9cbiAgICAvKiBwcmV0dGllci1pZ25vcmUqL1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLSB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgLSAxcHgpO1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSovXG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKSAtIHZhcigtLWJvcmRlci13aWR0aC10aGluKSAtIDFweCk7XG4gIH1cblxuICAmX19ib2R5IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAmX19tZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXAtNCkgdmFyKC0tZ2FwLTMpO1xuICB9XG5cbiAgJl9fZGlzbWlzcyB7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICZfYnV0dG9uIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTYpO1xuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSB0dWktbm90aWZpY2F0aW9uLWJhbm5lci1jb2xvcignc3VjY2VzcycsIHZhcigtLWNvbG9yLXByb21wdC1zdWNjZXNzKSk7XG5AaW5jbHVkZSB0dWktbm90aWZpY2F0aW9uLWJhbm5lci1jb2xvcignd2FybmluZycsIHZhcigtLWNvbG9yLXByb21wdC13YXJuaW5nKSk7XG5AaW5jbHVkZSB0dWktbm90aWZpY2F0aW9uLWJhbm5lci1jb2xvcignZXJyb3InLCB2YXIoLS1jb2xvci1wcm9tcHQtYWxlcnQpKTtcblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHR1aS1zY3JlZW4tc20pIHtcbiAgLnR1aS1ub3RpZmljYXRpb25CYW5uZXIge1xuICAgIEBpbmNsdWRlIHR1aS1mb250LWJvZHkoKTtcblxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWJvcmRlci1yYWRpdXMtbm9ybWFsKTtcblxuICAgICZfX2ljb24ge1xuICAgICAgLyogLTFweCB0byBhdm9pZCBpc3N1ZSB3aXRoIHJhem9yIHRoaW4gd2hpdGUgbGluZSBiZXR3ZWVuIGljb24gY29udGFpbmVyIGFuZCBub3RpZmljYXRpb24gYm9yZGVyKi9cbiAgICAgIC8qIHByZXR0aWVyLWlnbm9yZSovXG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtbm9ybWFsKSAtIHZhcigtLWJvcmRlci13aWR0aC10aGluKSAtIDFweCk7XG4gICAgICAvKiBwcmV0dGllci1pZ25vcmUqL1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW5vcm1hbCkgLSB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgLSAxcHgpO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbkBtaXhpbiB0dWktbm90aWZpY2F0aW9uLXRvYXN0LWNvbG9yKCRuYW1lLCAkY29sb3IpIHtcbiAgLnR1aS1ub3RpZmljYXRpb25Ub2FzdCB7XG4gICAgJi0tI3skbmFtZX0ge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIH1cblxuICAgICYtLSN7JG5hbWV9ICZfX2ljb24ge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4udHVpLW5vdGlmaWNhdGlvblRvYXN0IHtcbiAgQGluY2x1ZGUgdHVpLWZvbnQtYm9keS1zbWFsbCgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGNvbG9yOiB2YXIoLS10b2FzdC1jb2xvci10ZXh0KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJvbXB0LXN1Y2Nlc3MpO1xuICBib3JkZXItcmFkaXVzOiB2YXIoLS1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LTMpO1xuXG4gICZfX2ljb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXAtNCkgMCB2YXIoLS1nYXAtNCkgdmFyKC0tZ2FwLTQpO1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLXByb21wdC1zdWNjZXNzKTtcbiAgICAvKiAtMXB4IHRvIGF2b2lkIGlzdWUgd2l0aCByYXpvciB0aGluIHdoaXRlIGxpbmUgYmV0d2VlbiBpY29uIGNvbnRhaW5lciBhbmQgbm90aWZpY2F0aW9uIGJvcmRlciovXG4gICAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBjYWxjKHZhcigtLWJvcmRlci1yYWRpdXMtc21hbGwpIC0gdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIC0gMXB4KTtcbiAgICAvKiBwcmV0dGllci1pZ25vcmUqL1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1zbWFsbCkgLSB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgLSAxcHgpO1xuICB9XG5cbiAgJl9fbWVzc2FnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwLTQpIHZhcigtLWdhcC0yKTtcbiAgfVxuXG4gICZfX2Rpc21pc3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAmX2J1dHRvbiB7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC0zKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AaW5jbHVkZSB0dWktbm90aWZpY2F0aW9uLXRvYXN0LWNvbG9yKCdlcnJvcicsIHZhcigtLWNvbG9yLXByb21wdC1hbGVydCkpO1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdHVpLXNjcmVlbi1zbSkge1xuICAudHVpLW5vdGlmaWNhdGlvblRvYXN0IHtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1ib2R5KCk7XG4gICAgY29sb3I6IHZhcigtLXRvYXN0LWNvbG9yLXRleHQpO1xuXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1ub3JtYWwpO1xuXG4gICAgJl9faWNvbiB7XG4gICAgICAvKiAtMXB4IHRvIGF2b2lkIGlzdWUgd2l0aCByYXpvciB0aGluIHdoaXRlIGxpbmUgYmV0d2VlbiBpY29uIGNvbnRhaW5lciBhbmQgbm90aWZpY2F0aW9uIGJvcmRlciovXG4gICAgICAvKiBwcmV0dGllci1pZ25vcmUqL1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogY2FsYyh2YXIoLS1ib3JkZXItcmFkaXVzLW5vcm1hbCkgLSB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgLSAxcHgpO1xuICAgICAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGNhbGModmFyKC0tYm9yZGVyLXJhZGl1cy1ub3JtYWwpIC0gdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIC0gMXB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXRvYXN0Q29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IHZhcigtLWdhcC02KTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLXppbmRleC10b2FzdCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmX19pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtYmFzaXM6IDMwMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB9XG5cbiAgJl9faXRlbS10cmFuc2l0aW9uIHtcbiAgICAmLWVudGVyLWFjdGl2ZSxcbiAgICAmLWxlYXZlLWFjdGl2ZSB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgJi1lbnRlcixcbiAgICAmLWxlYXZlLXRvIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJi1sZWF2ZS1hY3RpdmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHR1aS1zY3JlZW4tc20pIHtcbiAgLnR1aS10b2FzdENvbnRhaW5lciB7XG4gICAgJl9faW5uZXIge1xuICAgICAgZmxleC1iYXNpczogNTAwcHg7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLW92ZXJmbG93Q29udGFpbmVyIHtcbiAgJl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgPiAqICsgKiB7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLTQpO1xuXG4gICAgICAudHVpLW92ZXJmbG93Q29udGFpbmVyLS13aWRlICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRhaW5lckl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1iYXNpczogMjAwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgbWluLXdpZHRoOiAxOThweDtcbiAgICBtYXgtd2lkdGg6IDI0OHB4O1xuXG4gICAgPiAqIHtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAmLS1wb3N0IHtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG5cbiAgICAgIC50dWktb3ZlcmZsb3dDb250YWluZXJfX2NvbnRhaW5lckl0ZW0ge1xuICAgICAgICAmLXZpZXdBbGwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG5cbiAgICAgICAgICAmLS1vbmx5IHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdmlld0FsbEljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgICAgIGhlaWdodDogNDhweDtcbiAgICAgICAgICBtYXJnaW46IGF1dG8gYXV0byAwIGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0yNCk7XG4gICAgICAgICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tY29sb3Itc3RhdGUpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtdmlld0FsbEFjdGlvbiB7XG4gICAgICAgICAgbWFyZ2luOiB2YXIoLS1nYXAtMikgMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1saW5rIHtcbiAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXBhZ2luZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAmX19wZXJQYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0byAwO1xuXG4gICAgJi1sYWJlbCB7XG4gICAgICBtYXJnaW46IGF1dG8gdmFyKC0tZ2FwLTMpIGF1dG8gMDtcbiAgICB9XG5cbiAgICAmLXNlbGVjdCB7XG4gICAgICBmbGV4OiA3cmVtIDAgMDtcbiAgICB9XG4gIH1cblxuICAmX19zZWxlY3RvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBtYXJnaW46IGF1dG8gMDtcblxuICAgICYtbnVtYmVyIHtcbiAgICAgIG1pbi13aWR0aDogNDBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgIHBhZGRpbmc6IHZhcigtLWdhcC00KTtcblxuICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2RpcmVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTQpO1xuICAgIGJvcmRlci1sZWZ0OiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tY29sb3ItbmV1dHJhbC01KTtcblxuICAgIC50dWktcGFnaW5nLS1uYXJyb3cgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG5cbiAgICAmLWxhYmVsIHtcbiAgICAgIG1hcmdpbjogYXV0byB2YXIoLS1nYXAtMikgYXV0byAwO1xuICAgIH1cblxuICAgICYgJi1wYWdlW3R5cGVdIHtcbiAgICAgIG1hcmdpbjogYXV0byB2YXIoLS1nYXAtMSkgYXV0byAwO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1wb3BvdmVyRnJhbWUge1xuICBAaW5jbHVkZSB0dWktZm9udC1ib2R5KCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAzMDBweDtcbiAgLyogbWFyZ2luIG11c3QgYmUgZXF1YWwgb24gYWxsIDQgc2lkZXMsIGFuZCBtdXN0IG5vdCBjaGFuZ2Ugd2l0aCBwb3NpdGlvbiovXG4gIG1hcmdpbjogMTBweDtcbiAgcGFkZGluZzogdmFyKC0tZ2FwLTQpO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1iYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LTMpO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggdmFyKC0tY29sb3ItbmV1dHJhbC01KTtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gICYtLXNpemUtc20ge1xuICAgIHdpZHRoOiAyNTBweDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cblxuICAmLS1zaXplLW1kIHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG5cbiAgJl9fY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nOiBjYWxjKDEuNHJlbSAtIDAuMWVtKSBjYWxjKDEuNHJlbSAtIDAuM2VtKTtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBAaW5jbHVkZSB0dWktZm9udC1oZWFkaW5nLXgtc21hbGwoKTtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLTIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC00KTtcbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC0yKSB2YXIoLS1nYXAtNCkgdmFyKC0tZ2FwLTIpIDA7XG5cbiAgICAmIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUgKyAmX19jb250ZW50LFxuICAmX19jb250ZW50LS1ub25DbG9zYWJsZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gICZfX2J1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWdhcC0xKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLTMpO1xuXG4gICAgPiAqIHtcbiAgICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC0yKTtcbiAgICB9XG5cbiAgICA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtNCk7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXBvcG92ZXJQb3NpdGlvbmVyIHtcbiAgLyogbm90ZTogcG9zaXRpb246IGFic29sdXRlICsgei1pbmRleCB0cmlnZ2VycyBhIG5ldyBzdGFja2luZyBjb250ZXh0Ki9cbiAgLyogdGhpcyBhbGxvd3MgdXMgdG8gZXNjYXBlIGZyb20gb3ZlcmZsb3c6IGhpZGRlbi4qL1xuICAvKiBiZWNhdXNlIHN0YWNraW5nIGNvbnRleHRzIGNhbiBiZSBuZXN0ZWQsIHRoaXMgd2lsbCBzdGlsbCB3b3JrIGNvcnJlY3RseSovXG4gIC8qIGV2ZW4gaW5zaWRlIG1vZGFscywgd2hpY2ggaGF2ZSBhIGhpZ2hlciB6LWluZGV4Ki9cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIC8qcnRsOmlnbm9yZSovXG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IHZhcigtLXppbmRleC1wb3BvdmVyKTtcbiAgd2lkdGg6IGF1dG87XG4gIEBpbmNsdWRlIHR1aS1mb250LWJvZHkoKTtcblxuICAmLS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJi0tdHJhbnNpdGlvbi1kZWZhdWx0IHtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG4gIH1cblxuICAmLS10cmFuc2l0aW9uLWRlZmF1bHQtZW50ZXIsXG4gICYtLXRyYW5zaXRpb24tZGVmYXVsdC1sZWF2ZS10byB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gICYtLXRyYW5zaXRpb24tZHJvcGRvd24ge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMHM7XG4gIH1cblxuICAmLS10cmFuc2l0aW9uLWRyb3Bkb3duLWVudGVyLFxuICAmLS10cmFuc2l0aW9uLWRyb3Bkb3duLWxlYXZlLXRvIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi0tdHJhbnNpdGlvbi1kcm9wZG93bi1sZWF2ZS10byB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cztcbiAgfVxufVxuXG4udHVpLW1vZGFsLS1hbmltYXRlZCAudHVpLXBvcG92ZXJQb3NpdGlvbmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi50dWktbW9kYWwtLWFuaW1hdGVkLnR1aS1tb2RhbC0taW4gLnR1aS1wb3BvdmVyUG9zaXRpb25lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1taW5pUHJvZmlsZUNhcmQge1xuICAvKiBUaGUgcGFyZW50IHdobyB1c2VzIHRoaXMgY2FyZCBkZWNpZGVzIHRoZSB3aWR0aC9oZWlnaHQuKi9cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIHBhZGRpbmc6IHZhcigtLWdhcC0yKTtcbiAgb3V0bGluZTogbm9uZTtcblxuICAmLS1uby1hdmF0YXIge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTQpO1xuICB9XG5cbiAgJi0tbm8tZHJvcGRvd24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLWdhcC00KTtcbiAgfVxuXG4gICYtLW5vLXBhZGRpbmcge1xuICAgIC8qIFJlc2V0IHBhZGRpbmcgdG8gemVyby4qL1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAmLS1ib3JkZXIge1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHZhcigtLWNvbG9yLW5ldXRyYWwtNSk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYm9yZGVyLXJhZGl1cy1ub3JtYWwpO1xuICB9XG5cbiAgJi0taGFzU2hhZG93IHtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1zaGFkb3ctMik7XG4gIH1cblxuICAmX19hdmF0YXIge1xuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZ2FwLTIpO1xuICB9XG5cbiAgJl9fZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmX19yb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYtdGV4dCB7XG4gICAgICBAaW5jbHVkZSB0dWktZm9udC1ib2R5LXNtYWxsKCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAmLS1ib2xkIHtcbiAgICAgICAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhdnkoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxpbmsge1xuICAgICAgQGluY2x1ZGUgdHVpLWZvbnQtbGluay1zbWFsbCgpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblxuICAgICAgJi0tYm9sZCB7XG4gICAgICAgIEBpbmNsdWRlIHR1aS1mb250LWhlYXZ5KCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0td2l0aEdhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1nYXAtMSk7XG4gICAgfVxuICB9XG5cbiAgJl9fZHJvcERvd24ge1xuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtNCk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXByb2dyZXNzIHtcbiAgQGluY2x1ZGUgdHVpLWZvbnQtYm9keS14eC1zbWFsbCgpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3MtY29udGFpbmVyLWJnLWNvbG9yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tcHJvZ3Jlc3MtYm9yZGVyLWNvbG9yKTtcbiAgYm9yZGVyLXJhZGl1czogdmFyKC0tZ2FwLTIpO1xuXG4gICYtLXNtYWxsIHtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEwcHg7XG4gIH1cblxuICAmLS1oaWRlQmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgfVxuXG4gICZfX2JhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXByb2dyZXNzLXZhbHVlLWJnLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1nYXAtMik7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggdmFyKC0tdHJhbnNpdGlvbi1wcm9ncmVzcy1mdW5jdGlvbilcbiAgICAgIHZhcigtLXRyYW5zaXRpb24tcHJvZ3Jlc3MtZHVyYXRpb24pO1xuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIHBhZGRpbmc6IDAgdmFyKC0tZ2FwLTEpO1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAmLS1pbnNpZGUge1xuICAgICAgY29sb3I6IHZhcigtLXByb2dyZXNzLXZhbHVlLXRleHQtY29sb3IpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgdmFyKC0tdHJhbnNpdGlvbi1wcm9ncmVzcy1mdW5jdGlvbilcbiAgICAgICAgdmFyKC0tdHJhbnNpdGlvbi1wcm9ncmVzcy1kdXJhdGlvbik7XG4gICAgfVxuICAgICYtLW91dHNpZGUge1xuICAgICAgY29sb3I6IHZhcigtLXByb2dyZXNzLWNvbnRhaW5lci10ZXh0LWNvbG9yKTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuJHByb2dyZXNzLXRyYWNrZXItbGluZS1zbTogMTAwcHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtdHJhY2tlci1saW5lLW1kOiAyMDBweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy10cmFja2VyLWxpbmUtbGc6IDI1MHB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLXRyYWNrZXItaGFsZi1jaXJjbGU6IDE0cHggIWRlZmF1bHQ7XG5cbi50dWktcHJvZ3Jlc3NUcmFja2VySXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC8qIExpbmUgc3R5bGVzKi9cbiAgJiA+ICogKyAqIHtcbiAgICAmLnR1aS1wcm9ncmVzc1RyYWNrZXJJdGVtIHtcbiAgICAgIC50dWktcHJvZ3Jlc3NUcmFja2VySXRlbV9fY29udGVudDo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6ICRwcm9ncmVzcy10cmFja2VyLWhhbGYtY2lyY2xlO1xuICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIDAgMCAwO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cblxuICAgICAgJi0tcGVuZGluZyB7XG4gICAgICAgIC50dWktcHJvZ3Jlc3NUcmFja2VySXRlbV9fY29udGVudDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1wZW5kaW5nKTtcbiAgICAgICAgICBib3JkZXItc3R5bGU6IGRvdHRlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1jb21wbGV0ZSB7XG4gICAgICAgIC50dWktcHJvZ3Jlc3NUcmFja2VySXRlbV9fY29udGVudDo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6ICgkcHJvZ3Jlc3MtdHJhY2tlci1oYWxmLWNpcmNsZSAtIDEpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWNvbXBsZXRlKTtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC10aGljaykgMCAwIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tYWNoaWV2ZWQge1xuICAgICAgICAudHVpLXByb2dyZXNzVHJhY2tlckl0ZW1fX2NvbnRlbnQ6OmJlZm9yZSB7XG4gICAgICAgICAgdG9wOiAoJHByb2dyZXNzLXRyYWNrZXItaGFsZi1jaXJjbGUgLSAxKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1hY2hpZXZlZCk7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpY2spIDAgMCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtLXZlcnRpY2FsIHtcbiAgICAmID4gKiArICoge1xuICAgICAgJi50dWktcHJvZ3Jlc3NUcmFja2VySXRlbSB7XG4gICAgICAgIC50dWktcHJvZ3Jlc3NUcmFja2VySXRlbV9fY29udGVudDo6YmVmb3JlIHtcbiAgICAgICAgICB0b3A6IC01MCU7XG4gICAgICAgICAgbGVmdDogKCRwcm9ncmVzcy10cmFja2VyLWhhbGYtY2lyY2xlIC0gMSk7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwIDAgdmFyKC0tYm9yZGVyLXdpZHRoLXRoaWNrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50dWktcHJvZ3Jlc3NUcmFja2VySXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgJi0tc21hbGwge1xuICAgICAgd2lkdGg6ICRwcm9ncmVzcy10cmFja2VyLWxpbmUtc207XG4gICAgfVxuXG4gICAgJi0tbWVkaXVtIHtcbiAgICAgIHdpZHRoOiAkcHJvZ3Jlc3MtdHJhY2tlci1saW5lLW1kO1xuICAgIH1cblxuICAgICYtLWxhcmdlIHtcbiAgICAgIHdpZHRoOiAkcHJvZ3Jlc3MtdHJhY2tlci1saW5lLWxnO1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IHZhcigtLWdhcC0yKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgJi1jdXJyZW50IHtcbiAgICAgICAgLnR1aS1mb3JtQnRuIHtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tY29sb3Itc3RhdGUtYWN0aXZlKTtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3N0YXR1cyxcbiAgICAmX190YXJnZXQge1xuICAgICAgQGluY2x1ZGUgc3Itb25seSgpO1xuICAgIH1cblxuICAgIC8qIFNwYWNpbmcgYWZ0ZXIgZm9yIG92ZXJmbG93IGRldGVjdG9yKi9cbiAgICA6bGFzdC1jaGlsZCB7XG4gICAgICAmLS1zbWFsbCB7XG4gICAgICAgIHdpZHRoOiAoJHByb2dyZXNzLXRyYWNrZXItbGluZS1zbSAqIDIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcHJvZ3Jlc3MtdHJhY2tlci1saW5lLXNtO1xuICAgICAgfVxuXG4gICAgICAmLS1tZWRpdW0ge1xuICAgICAgICB3aWR0aDogKCRwcm9ncmVzcy10cmFja2VyLWxpbmUtbWQgKiAyKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHByb2dyZXNzLXRyYWNrZXItbGluZS1tZDtcbiAgICAgIH1cblxuICAgICAgJi0tbGFyZ2Uge1xuICAgICAgICB3aWR0aDogKCRwcm9ncmVzcy10cmFja2VyLWxpbmUtbGcgKiAyKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHByb2dyZXNzLXRyYWNrZXItbGluZS1sZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS12ZXJ0aWNhbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC50dWktcHJvZ3Jlc3NUcmFja2VySXRlbSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogODBweDtcblxuICAgICAgJl9fY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJl9fbGFiZWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWdhcC0xKSB2YXIoLS1nYXAtMik7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1wcm9ncmVzc1RyYWNrZXJDaXJjbGUge1xuICAkcGVuZGluZzogI3smfS0tcGVuZGluZztcbiAgJGNvbXBsZXRlOiAjeyZ9LS1jb21wbGV0ZTtcbiAgJGFjaGlldmVkOiAjeyZ9LS1hY2hpZXZlZDtcbiAgJHRhcmdldDogI3smfS0tdGFyZ2V0O1xuXG4gICZfX291dGVyIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1nYXAtNykgKyAxcHgpO1xuICAgIGhlaWdodDogY2FsYyh2YXIoLS1nYXAtNykgKyAxcHgpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLW5vcm1hbCkgdHJhbnNwYXJlbnQgZG90dGVkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIC8qIFBlbmRpbmcgdGFyZ2V0Ki9cbiAgICAmI3skcGVuZGluZ30mI3skdGFyZ2V0fSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1wZW5kaW5nKTtcbiAgICB9XG5cbiAgICAvKiBBY2hpZXZlZCB0YXJnZXQqL1xuICAgICYjeyR0YXJnZXR9JiN7JGFjaGlldmVkfSB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29udGFpbmVyLWJnLWNvbG9yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWFjaGlldmVkKTtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgfVxuICB9XG5cbiAgJl9fbWlkZGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tZ2FwLTQpICsgMXB4KTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tZ2FwLTQpICsgMXB4KTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgIGNvbG9yLWFkanVzdDogZXhhY3Q7XG5cbiAgICAvKiBQZW5kaW5nKi9cbiAgICAjeyRwZW5kaW5nfSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1wZW5kaW5nKTtcbiAgICB9XG5cbiAgICAvKiBQZW5kaW5nIHRhcmdldCovXG4gICAgI3skcGVuZGluZ30jeyR0YXJnZXR9ICYge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLyogQ29tcGxldGUqL1xuICAgICN7JGNvbXBsZXRlfSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1jb21wbGV0ZSk7XG4gICAgfVxuXG4gICAgLyogQWNoaWV2ZWQqL1xuICAgICN7JGFjaGlldmVkfSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1hY2hpZXZlZCk7XG4gICAgfVxuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLWdhcC0yKSArIDFweCk7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLWdhcC0yKSArIDFweCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbnRhaW5lci1iZy1jb2xvcik7XG4gICAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWRcbiAgICAgIHZhcigtLXByb2dyZXNzdHJhY2tlci1jb250YWluZXItYmctY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIC8qIFBlbmRpbmcqL1xuICAgICN7JHBlbmRpbmd9ICYge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29udGFpbmVyLWJnLWNvbG9yKTtcbiAgICB9XG5cbiAgICAvKiBQZW5kaW5nIHRhcmdldCovXG4gICAgI3skcGVuZGluZ30jeyR0YXJnZXR9ICYge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItcGVuZGluZyk7XG4gICAgfVxuXG4gICAgLyogQWNoaWV2ZWQqL1xuICAgICN7JGFjaGlldmVkfSAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbnRhaW5lci1iZy1jb2xvcik7XG4gICAgfVxuICB9XG59XG4uaWUsXG4ubXNlZGdlIHtcbiAgLnR1aS1wcm9ncmVzc1RyYWNrZXJDaXJjbGUtLWFjaGlldmVkIHtcbiAgICAudHVpLXByb2dyZXNzVHJhY2tlckNpcmNsZSB7XG4gICAgICAmX19taWRkbGUge1xuICAgICAgICBib3JkZXI6IHZhcigtLWdhcC0xKSBzb2xpZCB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItYWNoaWV2ZWQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50dWktcHJvZ3Jlc3NUcmFja2VyQ2lyY2xlLS1jb21wbGV0ZSB7XG4gICAgLnR1aS1wcm9ncmVzc1RyYWNrZXJDaXJjbGUge1xuICAgICAgJl9fbWlkZGxlIHtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1nYXAtMSkgc29saWQgdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWNvbXBsZXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1wcm9ncmVzc1RyYWNrZXJOYXZfX2l0ZW1zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAudHVpLXByb2dyZXNzVHJhY2tlck5hdi0tdmVydGljYWwgJiB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktcHJvZ3Jlc3NUcmFja2VyTmF2Q2lyY2xlQWNoaWV2ZW1lbnQge1xuICAvKiBzdGF0ZXMqL1xuICAkcGVuZGluZzogI3smfS0tcGVuZGluZztcbiAgJGNvbXBsZXRlOiAjeyZ9LS1jb21wbGV0ZTtcbiAgJGFjaGlldmVkOiAjeyZ9LS1hY2hpZXZlZDtcbiAgJHRhcmdldDogI3smfS0tdGFyZ2V0O1xuICAkY3VycmVudDogI3smfS0tY3VycmVudDtcblxuICAmX19vdXRlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IHZhcigtLXByb2dyZXNzdHJhY2tlci1mdWxsLW1hcmtlci1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1mdWxsLW1hcmtlci1zaXplKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpIHRyYW5zcGFyZW50IGRvdHRlZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAvKipcbiAgICAgKiBzdGF0ZXNcbiAgICAgKiovXG4gICAgJiN7JHBlbmRpbmd9JiN7JHRhcmdldH0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItcGVuZGluZyk7XG4gICAgfVxuXG4gICAgJiN7JHRhcmdldH0mI3skYWNoaWV2ZWR9IHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb250YWluZXItYmctY29sb3IpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItYWNoaWV2ZWQpO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cblxuICAmX19taWRkbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogY2FsYyhcbiAgICAgIGNhbGModmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWZ1bGwtbWFya2VyLXNpemUpIC8gMikgKyB2YXIoLS1nYXAtMSlcbiAgICApO1xuICAgIGhlaWdodDogY2FsYyhcbiAgICAgIGNhbGModmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWZ1bGwtbWFya2VyLXNpemUpIC8gMikgKyB2YXIoLS1nYXAtMSlcbiAgICApO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7XG4gICAgY29sb3ItYWRqdXN0OiBleGFjdDtcblxuICAgIC8qKlxuICAgICAqIHN0YXRlc1xuICAgICAqKi9cbiAgICAjeyRwZW5kaW5nfSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1wZW5kaW5nKTtcbiAgICB9XG5cbiAgICAjeyRwZW5kaW5nfSN7JHRhcmdldH0gJiB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAjeyRjb21wbGV0ZX0gJiB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItY29tcGxldGUpO1xuICAgIH1cblxuICAgICN7JGFjaGlldmVkfSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1hY2hpZXZlZCk7XG4gICAgfVxuICB9XG5cbiAgJl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogY2FsYyhcbiAgICAgIGNhbGModmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWZ1bGwtbWFya2VyLXNpemUpIC8gNCkgK1xuICAgICAgICB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbilcbiAgICApO1xuICAgIGhlaWdodDogY2FsYyhcbiAgICAgIGNhbGModmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWZ1bGwtbWFya2VyLXNpemUpIC8gNCkgK1xuICAgICAgICB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbilcbiAgICApO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb250YWluZXItYmctY29sb3IpO1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkXG4gICAgICB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29udGFpbmVyLWJnLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAvKipcbiAgICAgKiBzdGF0ZXNcbiAgICAgKiovXG4gICAgI3skcGVuZGluZ30gJiB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb250YWluZXItYmctY29sb3IpO1xuICAgIH1cblxuICAgICN7JHBlbmRpbmd9I3skdGFyZ2V0fSAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLXBlbmRpbmcpO1xuICAgIH1cblxuICAgICN7JGFjaGlldmVkfSAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbnRhaW5lci1iZy1jb2xvcik7XG4gICAgfVxuICB9XG4gICZfX2xhYmVsIHtcbiAgICBAaW5jbHVkZSBzci1vbmx5KCk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXByb2dyZXNzVHJhY2tlck5hdkNpcmNsZVdvcmtmbG93IHtcbiAgLyogc3RhdGVzKi9cbiAgJHJlYWR5OiAjeyZ9LS1yZWFkeTtcbiAgJGxvY2tlZDogI3smfS0tbG9ja2VkO1xuICAkb3B0aW9uYWw6ICN7Jn0tLW9wdGlvbmFsO1xuICAkc2VsZWN0ZWQ6ICN7Jn0tLXNlbGVjdGVkO1xuICAkZG9uZTogI3smfS0tZG9uZTtcblxuICAmX19vdXRlciB7XG4gICAgei1pbmRleDogMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IHZhcigtLXByb2dyZXNzdHJhY2tlci1mdWxsLW1hcmtlci1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1mdWxsLW1hcmtlci1zaXplKTtcbiAgICBib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpIHRyYW5zcGFyZW50IHNvbGlkO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIC8qKlxuICAgICAqIHN0YXRlc1xuICAgICAqKi9cbiAgICAmI3skbG9ja2VkfSN7JHNlbGVjdGVkfSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1sb2NrZWQpO1xuICAgIH1cblxuICAgICYjeyRzZWxlY3RlZH0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29sb3Itc2VsZWN0ZWQpO1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cblxuICAmX19taWRkbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB3aWR0aDogY2FsYyhcbiAgICAgIGNhbGModmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWZ1bGwtbWFya2VyLXNpemUpIC8gMikgKyB2YXIoLS1nYXAtMilcbiAgICApO1xuICAgIGhlaWdodDogY2FsYyhcbiAgICAgIGNhbGModmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWZ1bGwtbWFya2VyLXNpemUpIC8gMikgKyB2YXIoLS1nYXAtMilcbiAgICApO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIC8qKlxuICAgICAqIHN0YXRlc1xuICAgICAqKi9cbiAgICAjeyRyZWFkeX0gJiB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1yZWFkeSk7XG4gICAgfVxuXG4gICAgI3skbG9ja2VkfSAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWxvY2tlZCk7XG4gICAgfVxuXG4gICAgI3skbG9ja2VkfSN7JG9wdGlvbmFsfSAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWxvY2tlZCk7XG4gICAgfVxuXG4gICAgI3skbG9ja2VkfSN7JHNlbGVjdGVkfSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1sb2NrZWQpO1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItbG9ja2VkKTtcbiAgICB9XG5cbiAgICAjeyRkb25lfSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1kb25lKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWRvbmUpO1xuICAgIH1cblxuICAgICN7JG9wdGlvbmFsfSAmIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLW9wdGlvbmFsKTtcbiAgICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgIH1cblxuICAgICN7JHNlbGVjdGVkfSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1zZWxlY3RlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1zZWxlY3RlZCk7XG4gICAgfVxuXG4gICAgI3skc2VsZWN0ZWR9I3skZG9uZX0gJiB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1kb25lKTtcbiAgICB9XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiB2YXIoLS1nYXAtNSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1nYXAtNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgLyoqXG4gICAgICogc3RhdGVzXG4gICAgICoqL1xuICAgICN7JGxvY2tlZH0gJiB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWxvY2tlZCk7XG4gICAgfVxuXG4gICAgI3skc2VsZWN0ZWR9ICYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLXNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAjeyRsb2NrZWR9I3skc2VsZWN0ZWR9ICYge1xuICAgICAgY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1sb2NrZWQtLWludmVyc2UpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWxvY2tlZCk7XG4gICAgfVxuXG4gICAgI3skZG9uZX0gJiB7XG4gICAgICBjb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWRvbmUtLWludmVyc2UpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLWRvbmUpO1xuICAgIH1cbiAgfVxuXG4gICZfX2ljb24tLWxvY2tlZCB7XG4gICAgd2lkdGg6IDEuMnJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgfVxuICAmX19pY29uLS1kb25lIHtcbiAgICB3aWR0aDogMS42cmVtO1xuICAgIGhlaWdodDogMS42cmVtO1xuICB9XG5cbiAgJl9fbGFiZWwge1xuICAgIEBpbmNsdWRlIHNyLW9ubHkoKTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4kcHJvZ3Jlc3NUcmFja2VyLWhhbGYtbWFya2VyLXNpemU6IGNhbGMoXG4gIHZhcigtLXByb2dyZXNzdHJhY2tlci1mdWxsLW1hcmtlci1zaXplKSAvIDJcbikgIWRlZmF1bHQ7XG5cbi8qKlxuICAqIENvbm5lY3RvciBsaW5lc1xuICAqKi9cbi50dWktcHJvZ3Jlc3NUcmFja2VyTmF2X19pdGVtQ29udGVudFdyYXBwZXI6YmVmb3JlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29sb3ItcGVuZGluZyk7XG4gIGJvcmRlci1zdHlsZTogZG90dGVkO1xuICBjb250ZW50OiAnJztcblxuICAudHVpLXByb2dyZXNzVHJhY2tlck5hdi0tdmVydGljYWwgJiB7XG4gICAgdG9wOiBjYWxjKFxuICAgICAgdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWZ1bGwtbWFya2VyLXNpemUpICsgdmFyKC0tYm9yZGVyLXdpZHRoLW5vcm1hbClcbiAgICApO1xuICAgIC8qIG5lc3RlZCBjYWxjKCkgd2lsbCBnZXQgYm90Y2hlZCBieSBSVExDU1MgcHJvY2Vzc2luZyBpZiBpdCBpcyBicm9rZW4gZG93biBvbnRvIG11bHRpcGxlIGxpbmVzICovXG4gICAgLyogcHJldHRpZXItaWdub3JlICovXG4gICAgbGVmdDogY2FsYyggI3skcHJvZ3Jlc3NUcmFja2VyLWhhbGYtbWFya2VyLXNpemV9IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKSAvIDIpICk7XG4gICAgd2lkdGg6IHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpO1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgIGhlaWdodDogY2FsYyggMTAwJSAtIGNhbGMoIHZhcigtLXByb2dyZXNzdHJhY2tlci1mdWxsLW1hcmtlci1zaXplKSArIGNhbGModmFyKC0tYm9yZGVyLXdpZHRoLW5vcm1hbCkgKiAyKSApICk7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMCB2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKTtcbiAgfVxuICAudHVpLXByb2dyZXNzVHJhY2tlck5hdi0taG9yaXpvbnRhbCAmIHtcbiAgICAvKiBuZXN0ZWQgY2FsYygpIHdpbGwgZ2V0IGJvdGNoZWQgYnkgUlRMQ1NTIHByb2Nlc3NpbmcgaWYgaXQgaXMgYnJva2VuIGRvd24gb250byBtdWx0aXBsZSBsaW5lcyAqL1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgIHRvcDogY2FsYyggI3skcHJvZ3Jlc3NUcmFja2VyLWhhbGYtbWFya2VyLXNpemV9IC0gY2FsYyh2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKSAvIDIpICk7XG4gICAgLyogcHJldHRpZXItaWdub3JlICovXG4gICAgbGVmdDogY2FsYyg1MCUgKyAjeyRwcm9ncmVzc1RyYWNrZXItaGFsZi1tYXJrZXItc2l6ZX0gKyB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29ubmVjdG9yLWdhcCkgLSB2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKSk7XG4gICAgLyogcHJldHRpZXItaWdub3JlICovXG4gICAgd2lkdGg6IGNhbGMoIDEwMCUgLSBjYWxjKCB2YXIoLS1wcm9ncmVzc3RyYWNrZXItZnVsbC1tYXJrZXItc2l6ZSkgKyBjYWxjKHZhcigtLXByb2dyZXNzdHJhY2tlci1jb25uZWN0b3ItZ2FwKSkgKyB2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKSkpO1xuICAgIGhlaWdodDogdmFyKC0tYm9yZGVyLXdpZHRoLW5vcm1hbCk7XG4gICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1ib3JkZXItd2lkdGgtbm9ybWFsKSAwIDAgMDtcbiAgfVxufVxuXG4vKipcbiAgKiBDb25uZWN0b3IgbGluZSBtb2RpZmllcnNcbiAgKiovXG4udHVpLXByb2dyZXNzVHJhY2tlck5hdl9fY29ubmVjdG9yIHtcbiAgLyogaXRlbSBzdGF0ZXMgcmVsYXRlZCB0byBBY2hpZXZlbWVudCovXG4gICYtLXBlbmRpbmcge1xuICAgIC8qIHRoaXMgaXMgdGhlIGRlZmF1bHQgc3RhdGUgaWYgbm8gc3RhdGUgQXJyYXkgaXMgcGFzc2VkIGludG8gdGhlIGl0ZW0qL1xuICAgIC50dWktcHJvZ3Jlc3NUcmFja2VyTmF2X19pdGVtQ29udGVudFdyYXBwZXI6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbG9yLXBlbmRpbmcpO1xuICAgIH1cbiAgfVxuXG4gICYtLWNvbXBsZXRlIHtcbiAgICAudHVpLXByb2dyZXNzVHJhY2tlck5hdl9faXRlbUNvbnRlbnRXcmFwcGVyOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1jb21wbGV0ZSk7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxuXG4gICYtLWFjaGlldmVkIHtcbiAgICAudHVpLXByb2dyZXNzVHJhY2tlck5hdl9faXRlbUNvbnRlbnRXcmFwcGVyOmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXByb2dyZXNzdHJhY2tlci1jb2xvci1hY2hpZXZlZCk7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEl0ZW1zIGFuZCB0aGVpciBjb250ZW50XG4gKiovXG4udHVpLXByb2dyZXNzVHJhY2tlck5hdiB7XG4gICZfX2l0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LXNocmluazogMDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAudHVpLXByb2dyZXNzVHJhY2tlck5hdl9faXRlbUNvbnRlbnRXcmFwcGVyOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgKiBDb25uZWN0b3IgZ2FwIGFkanVzdG1lbnQgZm9yIGxhcmdlIGl0ZW0gbWFya2Vyc1xuICAgICoqL1xuICAgICYtLXNlbGVjdGVkLFxuICAgICYtLXRhcmdldCB7XG4gICAgICAudHVpLXByb2dyZXNzVHJhY2tlck5hdl9faXRlbUNvbnRlbnRXcmFwcGVyOmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLyogbmVzdGVkIGNhbGMoKSB3aWxsIGdldCBib3RjaGVkIGJ5IFJUTENTUyBwcm9jZXNzaW5nIGlmIGl0IGlzIGJyb2tlbiBkb3duIG9udG8gbXVsdGlwbGUgbGluZXMgKi9cbiAgICAgICAgLyogcHJldHRpZXItaWdub3JlICovXG4gICAgICAgIHdpZHRoOiBjYWxjKCB2YXIoLS1wcm9ncmVzc3RyYWNrZXItZnVsbC1tYXJrZXItc2l6ZSkgKyBjYWxjKHZhcigtLXByb2dyZXNzdHJhY2tlci1jb25uZWN0b3ItZ2FwKSAqIDIpICk7XG4gICAgICAgIC8qIHByZXR0aWVyLWlnbm9yZSAqL1xuICAgICAgICBoZWlnaHQ6IGNhbGMoIHZhcigtLXByb2dyZXNzdHJhY2tlci1mdWxsLW1hcmtlci1zaXplKSArIGNhbGModmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbm5lY3Rvci1nYXApICogMikgKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29udGFpbmVyLWJnLWNvbG9yKTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiB2YXIoLS1wcm9ncmVzc3RyYWNrZXItY29ubmVjdG9yLWdhcCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgY29udGVudDogJyc7XG5cbiAgICAgICAgLnR1aS1wcm9ncmVzc1RyYWNrZXJOYXYtLWhvcml6b250YWwgJiB7XG4gICAgICAgICAgdG9wOiBjYWxjKHZhcigtLXByb2dyZXNzdHJhY2tlci1jb25uZWN0b3ItZ2FwKSAqIC0xKTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKFxuICAgICAgICAgICAgNTAlIC0gI3skcHJvZ3Jlc3NUcmFja2VyLWhhbGYtbWFya2VyLXNpemV9IC0gdmFyKC0tcHJvZ3Jlc3N0cmFja2VyLWNvbm5lY3Rvci1nYXApXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICAudHVpLXByb2dyZXNzVHJhY2tlck5hdi0tdmVydGljYWwgJiB7XG4gICAgICAgICAgdG9wOiBjYWxjKHZhcigtLXByb2dyZXNzdHJhY2tlci1jb25uZWN0b3ItZ2FwKSAqIC0xKTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLXByb2dyZXNzdHJhY2tlci1jb25uZWN0b3ItZ2FwKSAqIC0xKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW1Db250ZW50V3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAudHVpLXByb2dyZXNzVHJhY2tlck5hdi0tdmVydGljYWwgJiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC50dWktcHJvZ3Jlc3NUcmFja2VyTmF2LS1ob3Jpem9udGFsICYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbUNvbnRlbnQge1xuICAgIC50dWktcHJvZ3Jlc3NUcmFja2VyTmF2LS12ZXJ0aWNhbCAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTIpO1xuXG4gICAgICAvKipcbiAgICAgICogdmFyaWFibGUgd2lkdGggYW5kIGdhcCBzaXplcyBiYXNlZCBvbiBzdXBwbGllZCBwcm9wc1xuICAgICAgKiovXG4gICAgICAmLS1nYXAtc21hbGwge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tZ2FwLTIpO1xuICAgICAgfVxuXG4gICAgICAmLS1nYXAtbWVkaXVtIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC01KTtcbiAgICAgIH1cblxuICAgICAgJi0tZ2FwLWxhcmdlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC03KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudHVpLXByb2dyZXNzVHJhY2tlck5hdi0taG9yaXpvbnRhbCAmIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIC8qKlxuICAgICAgICAqIHZhcmlhYmxlIHdpZHRoIGFuZCBnYXAgc2l6ZXMgYmFzZWQgb24gc3VwcGxpZWQgcHJvcHNcbiAgICAgICAgKiovXG4gICAgICAmLS1nYXAtc21hbGwge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1wcm9ncmVzcy10cmFja2VyLWhvcml6b250YWwtZ2FwLS1zbWFsbCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tcHJvZ3Jlc3MtdHJhY2tlci1ob3Jpem9udGFsLWdhcC0tc21hbGwpO1xuICAgICAgfVxuICAgICAgJi0tc2l6ZS1zbWFsbCB7XG4gICAgICAgIHdpZHRoOiB2YXIoLS1wcm9ncmVzcy10cmFja2VyLWhvcml6b250YWwtc2l6ZS0tc21hbGwpO1xuICAgICAgfVxuXG4gICAgICAmLS1nYXAtbWVkaXVtIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdmFyKC0tcHJvZ3Jlc3MtdHJhY2tlci1ob3Jpem9udGFsLWdhcC0tbWVkaXVtKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wcm9ncmVzcy10cmFja2VyLWhvcml6b250YWwtZ2FwLS1tZWRpdW0pO1xuICAgICAgfVxuICAgICAgJi0tc2l6ZS1tZWRpdW0ge1xuICAgICAgICB3aWR0aDogdmFyKC0tcHJvZ3Jlc3MtdHJhY2tlci1ob3Jpem9udGFsLXNpemUtLW1lZGl1bSk7XG4gICAgICB9XG5cbiAgICAgICYtLWdhcC1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXByb2dyZXNzLXRyYWNrZXItaG9yaXpvbnRhbC1nYXAtLWxhcmdlKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1wcm9ncmVzcy10cmFja2VyLWhvcml6b250YWwtZ2FwLS1sYXJnZSk7XG4gICAgICB9XG4gICAgICAmLS1zaXplLWxhcmdlIHtcbiAgICAgICAgd2lkdGg6IHZhcigtLXByb2dyZXNzLXRyYWNrZXItaG9yaXpvbnRhbC1zaXplLS1sYXJnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9faXRlbUxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiB2YXIoLS1nYXAtMSk7XG4gICAgcGFkZGluZy1ib3R0b206IHZhcigtLWdhcC0xKTtcblxuICAgIC50dWktcHJvZ3Jlc3NUcmFja2VyTmF2LS1ob3Jpem9udGFsICYge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICYtLWN1cnJlbnQge1xuICAgICAgLnR1aS1mb3JtQnRuIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlLWFjdGl2ZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW1TdGF0dXMge1xuICAgIEBpbmNsdWRlIHNyLW9ubHkoKTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbjpyb290IHtcbiAgLS1zZXR0aW5ncy1uYXZpZ2F0aW9uLXNwYWNpbmc6IHZhcigtLWdhcC0yKTtcbiAgLS1zZXR0aW5ncy1uYXZpZ2F0aW9uLXRyZWUtd2lkdGg6IDM0MHB4O1xufVxuXG4udHVpLXNldHRpbmdzTmF2aWdhdGlvbiB7XG4gIC50dWktcG9wb3ZlclBvc2l0aW9uZXIge1xuICAgIHdpZHRoOiB2YXIoLS1zZXR0aW5ncy1uYXZpZ2F0aW9uLXRyZWUtd2lkdGgpO1xuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgbWFyZ2luOiAwIHZhcigtLXNldHRpbmdzLW5hdmlnYXRpb24tc3BhY2luZyk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1zZXR0aW5nc05hdmlnYXRpb25UcmVlIHtcbiAgLXdlYmtpdC1oeXBoZW5zOiBub25lO1xuICAgICAgLW1zLWh5cGhlbnM6IG5vbmU7XG4gICAgICAgICAgaHlwaGVuczogbm9uZTtcblxuICAmX19zcGFjaW5nIHtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXAtMikgMDtcbiAgfVxuXG4gICZfX3BvcG92ZXIge1xuICAgICYtdG9wQnJhbmNoIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiB2YXIoLS1nYXAtMik7XG4gICAgICBjb2xvcjogdmFyKC0tY29sb3ItbmV1dHJhbC02KTtcbiAgICB9XG5cbiAgICAmLWNvbnRlbnRzSXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtMik7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cblxuICAgICYtY29udGVudHNMYWJlbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTYpO1xuICAgIH1cbiAgfVxuXG4gICZfX2xpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICB3aWR0aDogY2FsYygyMDAlICsgdmFyKC0tc2V0dGluZ3MtbmF2aWdhdGlvbi1zcGFjaW5nKSk7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwLTIpIDAgdmFyKC0tZ2FwLTIpIDEwMCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1idG4tY2hlY2tib3gtdGV4dC1jb2xvci1mb2N1cyk7XG4gICAgfVxuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG46cm9vdCB7XG4gIC0tdHVpLXNpZGVwYW5lbC1idXR0b24td2lkdGg6IDMwcHg7XG4gIC0tdHVpLXNpZGVwYW5lbC1idXR0b24taGVpZ2h0OiA2NnB4O1xuICAtLXR1aS1zaWRlcGFuZWwtYm9yZGVyLXdpZHRoOiAxcHg7XG59XG5cbi50dWktc2lkZVBhbmVsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGhlaWdodDogMTAwJTtcblxuICAvKiBpbm5lciBjb250ZW50IGFsaWdubWVudCovXG4gICYtLXJ0bCxcbiAgLmRpci1ydGwgLnR1aS1zaWRlUGFuZWwtLWx0ciAmIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gICYtLWx0cixcbiAgLmRpci1ydGwgLnR1aS1zaWRlUGFuZWwtLXJ0bCAmIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIH1cblxuICAmLS1zdGlja3kge1xuICAgIHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICBtYXgtaGVpZ2h0OiAxMDB2aDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmllICYsXG4gICAgLm1zZWRnZSAmIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJi0tc3RpY2t5Ji0tY2xvc2VkIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZSBidXR0b24sIHNvbWV3aGF0IGNvbXBsaWNhdGVkIGJ5IHRoZSBTaWRlUGFuZWwgYmVpbmcgY29uZmlndXJhYmx5XG4gICAqIGJpLWRpcmVjdGlvbmFsIGFuZCBib3RoIG9mIHRob3NlIGRpcmVjdGlvbnMgYWxzbyByZXF1aXJpbmcgUlRMIHN1cHBvcnRcbiAgICoqL1xuICBAbWl4aW4gYXR0cnMtZnJvbS1yaWdodCgpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiB2YXIoLS10dWktc2lkZXBhbmVsLWJvcmRlci13aWR0aCk7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tYnRuLXJhZGl1cykgMCAwIHZhcigtLWJ0bi1yYWRpdXMpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmFjdGl2ZTpmb2N1cyxcbiAgICAmOmFjdGl2ZTpob3ZlciB7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogdmFyKC0tdHVpLXNpZGVwYW5lbC1ib3JkZXItd2lkdGgpO1xuICAgICAgYm94LXNoYWRvdzogLTJweCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cblxuICAgIC8qIEZsZXhJY29uKi9cbiAgICAudHVpLWljb25CdG5fX2ljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIH1cbiAgfVxuICBAbWl4aW4gYXR0cnMtZnJvbS1sZWZ0KCkge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tYnRuLXJhZGl1cykgdmFyKC0tYnRuLXJhZGl1cykgMDtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgJjphY3RpdmU6aG92ZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiB2YXIoLS10dWktc2lkZXBhbmVsLWJvcmRlci13aWR0aCk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJveC1zaGFkb3c6IDJweCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cbiAgICAvKiBGbGV4SWNvbiovXG4gICAgLnR1aS1pY29uQnRuX19pY29uIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgJl9fb3V0c2lkZUNsb3NlIHtcbiAgICAudHVpLXNpZGVQYW5lbC0tc3RpY2t5ICYge1xuICAgICAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xuICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgIHRvcDogY2FsYyg1MCUgLSAodmFyKC0tdHVpLXNpZGVwYW5lbC1idXR0b24taGVpZ2h0KSAvIDIpKTtcbiAgICB9XG5cbiAgICAuaWUgJiB7XG4gICAgICAvKiBoZWlnaHQsIHBvc2l0aW9uIGFuZCBzY3JvbGxpbmcgd2lsbCBkZWdyYWRlIGluIElFMTEsIHNvIHRoZSB0b2dnbGUqL1xuICAgICAgLyogYnV0dG9uIG5lZWRzIGEgbW9yZSBhcHByb3ByaWF0ZSBsb2NhdGlvbiB0aGFuIFwidGhlIG1pZGRsZVwiIG9mIHRoZSovXG4gICAgICAvKiBTaWRlUGFuZWwsIHdoaWNoIGNvdWxkIGJlIHZlcnkgdGFsbCBpbiBJRTExKi9cbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICBtYXgtd2lkdGg6IHZhcigtLXR1aS1zaWRlcGFuZWwtYnV0dG9uLXdpZHRoKTtcbiAgICAgIG1heC1oZWlnaHQ6IHZhcigtLXR1aS1zaWRlcGFuZWwtYnV0dG9uLWhlaWdodCk7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtOCk7XG4gICAgfVxuXG4gICAgZmxleC1ncm93OiAwO1xuICAgIG1pbi13aWR0aDogdmFyKC0tdHVpLXNpZGVwYW5lbC1idXR0b24td2lkdGgpO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLXR1aS1zaWRlcGFuZWwtYnV0dG9uLWhlaWdodCk7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgICBwYWRkaW5nOiB2YXIoLS1nYXAtNikgdmFyKC0tZ2FwLTEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xuXG4gICAgLnR1aS1zaWRlUGFuZWwtLXJ0bCAmLFxuICAgIC5kaXItcnRsIC50dWktc2lkZVBhbmVsLS1sdHIgJiB7XG4gICAgICBAaW5jbHVkZSBhdHRycy1mcm9tLXJpZ2h0KCk7XG4gICAgfVxuXG4gICAgLnR1aS1zaWRlUGFuZWwtLWx0ciAmLFxuICAgIC5kaXItcnRsIC50dWktc2lkZVBhbmVsLS1ydGwgJiB7XG4gICAgICBAaW5jbHVkZSBhdHRycy1mcm9tLWxlZnQoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQSB3cmFwcGVyIGZvciBjb250ZW50IGNvbnRhaW5lciwgd2hpY2ggaGVscHMgd2l0aCB0cmFuc2l0aW9ucyBvbiB3aWR0aFxuICAgKiB3aGlsZSBvdmVyZmxvd2luZyBjb250ZW50IGlzIHN0aWxsIHZpc2libGUsIGFuZCBwcm92aWRpbmcgd2hpdGVzcGFjZVxuICAgKiBiZXR3ZWVuIGNvbnRlbnQgYW5kIHRoZSBlZGdlcyBvZiB0aGUgU2lkZVBhbmVsXG4gICAqKi9cbiAgJl9faW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLW5ldXRyYWwtMyk7XG4gICAgYm9yZGVyOiB2YXIoLS10dWktc2lkZXBhbmVsLWJvcmRlci13aWR0aCkgc29saWQgdmFyKC0tY29sb3ItbmV1dHJhbC01KTtcblxuICAgIC50dWktc2lkZVBhbmVsLS1mbHVzaCAmIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cblxuICAgIC5pZSAmIHtcbiAgICAgIC8qIHB1dCB0aGUgYm9yZGVyIGJhY2ssIGl0IHVzdWFsbHkgd291bGRuJ3QgcmVhY2ggdGhlIGZvb3Rlciwgb25seSBvbiByZWFsbHkgc21hbGwgcmVzb3VyY2VzLCBhbmQgd291bGQgb3RoZXJ3aXNlIGxvb2sgY2hvcHBlZCBvZmYgKi9cbiAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLXR1aS1zaWRlcGFuZWwtYm9yZGVyLXdpZHRoKSBzb2xpZFxuICAgICAgICB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xuICAgIH1cblxuICAgIC50dWktc2lkZVBhbmVsLS1vcGVuLnR1aS1zaWRlUGFuZWwtLW92ZXJmbG93cyAmIHtcbiAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLnR1aS1zaWRlUGFuZWwtLWNsb3NlZCAmIHtcbiAgICAgIG1heC13aWR0aDogMXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8qIHdlIGhhdmUgdG8gY3V0IG9mZiBvdmVyZmxvdyBkdXJpbmcgdGhlc2Ugc3RhdGVzIG90aGVyd2lzZSB3ZSdsbCBidW1wKi9cbiAgICAvKiBwYWdlIHNjcm9sbGJhcnMsIG9yIGEgY29udGFpbmluZyBlbGVtZW50IHNjcm9sbGJhcnMqL1xuICAgIC50dWktc2lkZVBhbmVsLS1jbG9zZWQgJixcbiAgICAudHVpLXNpZGVQYW5lbC0tY2xvc2luZyAmLFxuICAgIC50dWktc2lkZVBhbmVsLS1vcGVuaW5nICYge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVHJhbnNpdGlvbmVkIGNvbnRhaW5lciBmb3IgYXJiaXRyYXJ5IFNpZGVQYW5lbCBjb250ZW50XG4gICAqKi9cbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmllICYge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIC50dWktc2lkZVBhbmVsLS1jbG9zZWQgJixcbiAgICAudHVpLXNpZGVQYW5lbC0tY2xvc2luZyAmIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgLnR1aS1zaWRlUGFuZWwtLWNsb3NlZCAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnR1aS1zaWRlUGFuZWwtLW9wZW4gJixcbiAgICAudHVpLXNpZGVQYW5lbC0tb3BlbmluZyAmIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLnR1aS1zaWRlUGFuZWwtLWFuaW1hdGVkICYge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSB2YXIoLS10cmFuc2l0aW9uLXNpZGVwYW5lbC1jb250ZW50LWR1cmF0aW9uKVxuICAgICAgICB2YXIoLS10cmFuc2l0aW9uLXNpZGVwYW5lbC1jb250ZW50LWZ1bmN0aW9uKTtcbiAgICB9XG5cbiAgICAudHVpLXNpZGVQYW5lbC0tb3Blbi50dWktc2lkZVBhbmVsLS1vdmVyZmxvd3MgJiB7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1zaWRlUGFuZWxOYXYge1xuICBwYWRkaW5nOiB2YXIoLS1nYXAtNCkgMDtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2lkZS1wYW5lbC1uYXYtYmctY29sb3IpO1xuXG4gICYgPiAqICsgKiB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTcpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1zaWRlUGFuZWxOYXZCdXR0b25JdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tc2lkZS1wYW5lbC1uYXYtaXRlbS10ZXh0LWNvbG9yKTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc2lkZS1wYW5lbC1uYXYtaXRlbS1iZy1jb2xvcik7XG4gIGJvcmRlci1jb2xvcjogdmFyKC0tc2lkZS1wYW5lbC1uYXYtaXRlbS1ib3JkZXItY29sb3IpO1xuXG4gIC8qIEl0ZW0gbGkqL1xuICAmLnR1aS1mb2N1c1dpdGhpbixcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tdGV4dC1jb2xvci1mb2N1cyk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZS1wYW5lbC1uYXYtaXRlbS1iZy1jb2xvci1mb2N1cyk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zaWRlLXBhbmVsLW5hdi1pdGVtLWJvcmRlci1jb2xvci1mb2N1cyk7XG4gIH1cblxuICAmX19zaWRlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtNCk7XG4gIH1cblxuICAmX19ub3RpZmljYXRpb25Eb3Qge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAvKiBUaGUgc2FtZSBhcyBwYWRkaW5nIGxlZnQgb2YgYWN0aW9pbiBwbHVzIGFub3RoZXIgdHVpLWdhcC00IHRvIG1ha2Ugc3VyZSB0aGVyZSBpcyBhIHBhZGRpbmcgYmV0d2VlbiovXG4gICAgLyogdGhlIGFjdGlvbiBsaW5rIGFuZCB0aGUgZG90LiovXG4gICAgd2lkdGg6IHZhcigtLXNpZGVwYW5lbC1uYXZpZ2F0aW9uLWl0ZW0tcGFkZGluZy1sZWZ0KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICYtaW5uZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMC42cmVtO1xuICAgICAgaGVpZ2h0OiAwLjZyZW07XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tZ2FwLTMpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItcHJvbXB0LWFsZXJ0KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLyogSXRlbSBsaW5rKi9cbiAgJl9fYWN0aW9uIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcGFkZGluZzogdmFyKC0tZ2FwLTIpIHZhcigtLWdhcC00KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNpZGVwYW5lbC1uYXZpZ2F0aW9uLWl0ZW0tcGFkZGluZy1sZWZ0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmZvY3VzOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gICYtLWFjdGl2ZSB7XG4gICAgY29sb3I6IHZhcigtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tdGV4dC1jb2xvci1zZWxlY3RlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZS1wYW5lbC1uYXYtaXRlbS1iZy1jb2xvci1zZWxlY3RlZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zaWRlLXBhbmVsLW5hdi1pdGVtLWJvcmRlci1jb2xvci1zZWxlY3RlZCk7XG5cbiAgICAmLnR1aS1mb2N1c1dpdGhpbixcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zaWRlLXBhbmVsLW5hdi1pdGVtLXRleHQtY29sb3Itc2VsZWN0ZWQpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tc2lkZS1wYW5lbC1uYXYtaXRlbS1iZy1jb2xvci1zZWxlY3RlZCk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tYm9yZGVyLWNvbG9yLXNlbGVjdGVkKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktc2lkZVBhbmVsTmF2R3JvdXAge1xuICAmID4gKiArICoge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC0yKTtcbiAgfVxuXG4gICZfX2hlYWRpbmcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIHZhcigtLWdhcC00KTtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLXNpZGVwYW5lbC1uYXZpZ2F0aW9uLWl0ZW0tcGFkZGluZy1sZWZ0KTtcblxuICAgICYtdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgdHVpLWZvbnQtaGVhZGluZy1sYWJlbCgpO1xuICAgIH1cblxuICAgICYtc2lkZSB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2l0ZW1zIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS1zaWRlUGFuZWxOYXZMaW5rSXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tdGV4dC1jb2xvcik7XG4gIGJhY2tncm91bmQ6IHZhcigtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tYmctY29sb3IpO1xuICBib3JkZXItY29sb3I6IHZhcigtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tYm9yZGVyLWNvbG9yKTtcblxuICAvKiBJdGVtIGxpKi9cbiAgJi50dWktZm9jdXNXaXRoaW4sXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1zaWRlLXBhbmVsLW5hdi1pdGVtLXRleHQtY29sb3ItZm9jdXMpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tYmctY29sb3ItZm9jdXMpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2lkZS1wYW5lbC1uYXYtaXRlbS1ib3JkZXItY29sb3ItZm9jdXMpO1xuICB9XG5cbiAgJl9fc2lkZSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tZ2FwLTQpO1xuICB9XG5cbiAgJl9fbm90aWZpY2F0aW9uRG90IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLyogVGhlIHNhbWUgYXMgcGFkZGluZyBsZWZ0IG9mIGFjdGlvaW4gcGx1cyBhbm90aGVyIHR1aS1nYXAtNCB0byBtYWtlIHN1cmUgdGhlcmUgaXMgYSBwYWRkaW5nIGJldHdlZW4qL1xuICAgIC8qIHRoZSBhY3Rpb24gbGluayBhbmQgdGhlIGRvdC4qL1xuICAgIHdpZHRoOiB2YXIoLS1zaWRlcGFuZWwtbmF2aWdhdGlvbi1pdGVtLXBhZGRpbmctbGVmdCk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAmLWlubmVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDAuNnJlbTtcbiAgICAgIGhlaWdodDogMC42cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IHZhcigtLWdhcC0zKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWNvbG9yLXByb21wdC1hbGVydCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC8qIEl0ZW0gbGluayovXG4gICZfX2FjdGlvbiB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC0yKSB2YXIoLS1nYXAtNCk7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1zaWRlcGFuZWwtbmF2aWdhdGlvbi1pdGVtLXBhZGRpbmctbGVmdCk7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6Zm9jdXM6aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgJi0tYWN0aXZlIHtcbiAgICBjb2xvcjogdmFyKC0tc2lkZS1wYW5lbC1uYXYtaXRlbS10ZXh0LWNvbG9yLXNlbGVjdGVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlLXBhbmVsLW5hdi1pdGVtLWJnLWNvbG9yLXNlbGVjdGVkKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tYm9yZGVyLWNvbG9yLXNlbGVjdGVkKTtcblxuICAgICYudHVpLWZvY3VzV2l0aGluLFxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXNpZGUtcGFuZWwtbmF2LWl0ZW0tdGV4dC1jb2xvci1zZWxlY3RlZCk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zaWRlLXBhbmVsLW5hdi1pdGVtLWJnLWNvbG9yLXNlbGVjdGVkKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tc2lkZS1wYW5lbC1uYXYtaXRlbS1ib3JkZXItY29sb3Itc2VsZWN0ZWQpO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuOnJvb3Qge1xuICAtLXRhYi1ib3JkZXItd2lkdGg6IDFweDtcbiAgLyogVGFiIGlubmVyIGhvcml6b250YWwgcGFkZGluZyovXG4gIC0tdGFiLWgtcGFkZGluZzogdmFyKC0tZ2FwLTYpO1xuICAvKiBUYWIgaW5uZXIgdmVydGljYWwgcGFkZGluZyovXG4gIC0tdGFiLXYtcGFkZGluZzogdmFyKC0tZ2FwLTMpO1xuICAvKiBTaXplIG9mIEhpZ2hsaWdodCovXG4gIC0tdGFiLWhpZ2hsaWdodC1oZWlnaHQ6IHZhcigtLWdhcC0xKTtcbiAgLyogQWRkIGV4dHJhIHNwYWNpbmcgZm9yIGRyb3Agc2hhZG93IHRvIGJlIGRpc3BsYXllZCovXG4gIC0tdGFiLXNoYWRvdy1vZmZzZXQ6IHZhcigtLWdhcC0zKTtcbiAgLyogVGFiIHNtYWxsIHZlcnNpb24gaW5uZXIgaG9yaXpvbnRhbCBwYWRkaW5nKi9cbiAgLS10YWItc21hbGwtaC1wYWRkaW5nOiB2YXIoLS1nYXAtNCk7XG4gIC8qIFRhYiBzbWFsbCB2ZXJzaW9uIGlubmVyIHZlcnRpY2FsIHBhZGRpbmcqL1xuICAtLXRhYi1zbWFsbC12LXBhZGRpbmc6IHZhcigtLWdhcC0zKTtcbn1cblxuLnR1aS10YWJzIHtcbiAgJG1vZC1ob3Jpem9udGFsOiAjeyZ9LS1ob3Jpem9udGFsO1xuICAkbW9kLXZlcnRpY2FsOiAjeyZ9LS12ZXJ0aWNhbDtcblxuICAmLS12ZXJ0aWNhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgJl9fc2VsZWN0b3Ige1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cblxuICAmX190YWJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICN7JG1vZC1ob3Jpem9udGFsfSAmIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLXRhYi1ib3JkZXItd2lkdGgpIHNvbGlkO1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdmFyKC0tdGFicy1ib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgICN7JG1vZC12ZXJ0aWNhbH0gJiB7XG4gICAgICBib3JkZXItcmlnaHQ6IHZhcigtLXRhYi1ib3JkZXItd2lkdGgpIHNvbGlkO1xuICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB2YXIoLS10YWJzLWJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgI3skbW9kLXZlcnRpY2FsfSAmX190YWJzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG5cbiAgJl9fdGFiIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgI3skbW9kLWhvcml6b250YWx9ICYge1xuICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLXRhYi1zaGFkb3ctb2Zmc2V0KSAqIC0xKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tdGFiLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBwYWRkaW5nOiB2YXIoLS10YWItc2hhZG93LW9mZnNldCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogdmFyKC0tdGFiLWJvcmRlci13aWR0aCk7XG4gICAgfVxuXG4gICAgI3skbW9kLXZlcnRpY2FsfSAmIHtcbiAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tdGFiLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLXRhYi1zaGFkb3ctb2Zmc2V0KSAqIC0xKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHZhcigtLXRhYi1ib3JkZXItd2lkdGgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHZhcigtLXRhYi1zaGFkb3ctb2Zmc2V0KTtcbiAgICB9XG5cbiAgICAmLS1oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBhJl9fbGluayB7XG4gICAgQGluY2x1ZGUgdHVpLWZvbnQtbGluay1sYXJnZSgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogdmFyKC0tdGFiLXYtcGFkZGluZykgdmFyKC0tdGFiLWgtcGFkZGluZyk7XG4gICAgY29sb3I6IHZhcigtLXRhYnMtdGV4dC1jb2xvcik7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgYm9yZGVyOiB2YXIoLS10YWItYm9yZGVyLXdpZHRoKSBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS10YWJzLXRleHQtY29sb3ItZm9jdXMpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdGFicy1iZy1jb2xvci1mb2N1cyk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tdGFicy10ZXh0LWNvbG9yLWZvY3VzKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRhYnMtYmctY29sb3ItZm9jdXMpO1xuICAgICAgb3V0bGluZTogZGFzaGVkIDFweCB2YXIoLS1jb2xvci1zdGF0ZS1mb2N1cyk7XG4gICAgICBvdXRsaW5lLW9mZnNldDogLTAuNzVyZW07XG4gICAgfVxuXG4gICAgJjphY3RpdmUsXG4gICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgJjphY3RpdmU6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXRhYnMtdGV4dC1jb2xvci1hY3RpdmUpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAjeyRtb2QtaG9yaXpvbnRhbH0gJiB7XG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS10YWItaGlnaGxpZ2h0LWhlaWdodCk7XG4gICAgICAvKiBvdmVybGFwIGVkZ2VzIHRvIGF2b2lkIGRvdWJsZSBib3JkZXIqL1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLXRhYi1ib3JkZXItd2lkdGgpICogLTEpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9XG5cbiAgICAjeyRtb2QtdmVydGljYWx9ICYge1xuICAgICAgLyogb3ZlcmxhcCBlZGdlcyB0byBhdm9pZCBkb3VibGUgYm9yZGVyKi9cbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tdGFiLWJvcmRlci13aWR0aCkgKiAtMSk7XG4gICAgICBtYXJnaW4tbGVmdDogdmFyKC0tdGFiLWhpZ2hsaWdodC1oZWlnaHQpO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX3RhYi0tZGlzYWJsZWQgYSZfX2xpbmsge1xuICAgIGNvbG9yOiB2YXIoLS10YWJzLXRleHQtY29sb3ItZGlzYWJsZWQpO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gICZfX3RhYi0tYWN0aXZlIGEmX19saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHZhcigtLXRhYnMtdGV4dC1jb2xvci1zZWxlY3RlZCk7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tdGFicy1iZy1jb2xvci1zZWxlY3RlZCk7XG5cbiAgICAjeyRtb2QtaG9yaXpvbnRhbH0gJiB7XG4gICAgICB0b3A6IHZhcigtLXRhYi1ib3JkZXItd2lkdGgpO1xuICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tdGFiLXYtcGFkZGluZykgLSB2YXIoLS10YWItYm9yZGVyLXdpZHRoKSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYyh2YXIoLS10YWItdi1wYWRkaW5nKSArIHZhcigtLXRhYi1ib3JkZXItd2lkdGgpKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGFicy1ib3JkZXItY29sb3IpO1xuICAgICAgYm94LXNoYWRvdzogdmFyKC0tc2hhZG93LTMpO1xuICAgIH1cblxuICAgICN7JG1vZC12ZXJ0aWNhbH0gJiB7XG4gICAgICBsZWZ0OiB2YXIoLS10YWItYm9yZGVyLXdpZHRoKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGModmFyKC0tdGFiLXYtcGFkZGluZykgKyB2YXIoLS10YWItYm9yZGVyLXdpZHRoKSk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tdGFiLWgtcGFkZGluZykgLSB2YXIoLS10YWItYm9yZGVyLXdpZHRoKSk7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXRhYnMtYm9yZGVyLWNvbG9yKTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy0yKTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10YWJzLXNlbGVjdGVkLWJhci1jb2xvcik7XG4gICAgICBjb250ZW50OiAnJztcblxuICAgICAgI3skbW9kLWhvcml6b250YWx9ICYge1xuICAgICAgICB0b3A6IGNhbGModmFyKC0tdGFiLWhpZ2hsaWdodC1oZWlnaHQpICogLTEpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICAgIGhlaWdodDogdmFyKC0tdGFiLWhpZ2hsaWdodC1oZWlnaHQpO1xuICAgICAgfVxuXG4gICAgICAjeyRtb2QtdmVydGljYWx9ICYge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogY2FsYyh2YXIoLS10YWItYm9yZGVyLXdpZHRoKSAqIC0yKTtcbiAgICAgICAgd2lkdGg6IHZhcigtLXRhYi1oaWdobGlnaHQtaGVpZ2h0KTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3RhYkxhYmVsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIH1cbn1cblxuLnR1aS10YWJzIHtcbiAgJG1vZC1ob3Jpem9udGFsOiAjeyZ9LS1ob3Jpem9udGFsO1xuICAkYmxvY2s6ICN7Jn07XG5cbiAgLyogU21hbGwgdGFiKi9cbiAgJl9fdGFiLS1zbWFsbCB7XG4gICAgI3skbW9kLWhvcml6b250YWx9ICYge1xuICAgICAgI3skYmxvY2t9X19saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgdHVpLWZvbnQtYm9keS1zbWFsbDtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tdGFiLXNtYWxsLXYtcGFkZGluZykgdmFyKC0tdGFiLXNtYWxsLWgtcGFkZGluZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogQWN0aXZlIHNtYWxsIHRhYiovXG4gICZfX3RhYi0tYWN0aXZlJl9fdGFiLS1zbWFsbCB7XG4gICAgI3skbW9kLWhvcml6b250YWx9ICYge1xuICAgICAgI3skYmxvY2t9X19saW5rIHtcbiAgICAgICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tdGFiLXNtYWxsLXYtcGFkZGluZykgLSB2YXIoLS10YWItYm9yZGVyLXdpZHRoKSk7XG4gICAgICAgIC8qIHByZXR0aWVyLWlnbm9yZSovXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKHZhcigtLXRhYi1zbWFsbC12LXBhZGRpbmcpICsgdmFyKC0tdGFiLWJvcmRlci13aWR0aCkpO1xuICAgICAgICBjb2xvcjogdmFyKC0tdGFicy10ZXh0LWNvbG9yLXNlbGVjdGVkKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBEaXNhYmxlZCBzbWFsbCB0YWIqL1xuICAmX190YWItLWRpc2FibGVkJl9fdGFiLS1zbWFsbCB7XG4gICAgI3skbW9kLWhvcml6b250YWx9ICYge1xuICAgICAgI3skYmxvY2t9X19saW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRhYnMtdGV4dC1jb2xvci1kaXNhYmxlZCk7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi50dWktdGFiQ29udGVudCB7XG4gIC50dWktdGFicy0taG9yaXpvbnRhbCAmIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLTQpO1xuICB9XG5cbiAgLnR1aS10YWJzLS1ob3Jpem9udGFsLnR1aS10YWJzLS1jb250ZW50U3BhY2luZy1sYXJnZSAmIHtcbiAgICBwYWRkaW5nLXRvcDogdmFyKC0tZ2FwLTgpO1xuICB9XG5cbiAgLnR1aS10YWJzLS12ZXJ0aWNhbCAmIHtcbiAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC00KTtcbiAgfVxuXG4gIC50dWktdGFicy0tdmVydGljYWwudHVpLXRhYnMtLWNvbnRlbnRTcGFjaW5nLWxhcmdlICYge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tZ2FwLTgpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXRhZyB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LXNocmluazogMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgaGVpZ2h0OiB2YXIoLS10YWctaGVpZ2h0KTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tdGFnLWJnLWNvbG9yKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tdGFnLWJvcmRlci1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLXRhZy1ib3JkZXItcmFkaXVzKTtcblxuICAmX19jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIHZhcigtLWdhcC0yKTtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnQtc2l6ZS0xMyk7XG5cbiAgICAmLS13aXRoQnV0dG9uIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBjb2xvcjogdmFyKC0tdGFnLWJ1dHRvbi1jb2xvcik7XG4gICAgfVxuICB9XG5cbiAgJi0tcHJpbWFyeSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gIH1cblxuICAmLS1wcmltYXJ5ICZfX2NvbnRlbnQge1xuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTEpO1xuICB9XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS10YWdMaXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG1pbi13aWR0aDogMjMwcHg7XG4gIHBhZGRpbmc6IHZhcigtLWdhcC0yKTtcbiAgYm9yZGVyOiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikgc29saWQgdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItY29sb3IpO1xuXG4gICZfX3RhZ3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogY2FsYyh2YXIoLS10YWctaGVpZ2h0KSArICgyICogdmFyKC0tYm9yZGVyLXdpZHRoLXRoaW4pKSk7XG4gIH1cblxuICAmX190YWdJdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDA7XG5cbiAgICAmLS1vcGVuIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAmID4gKiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWdhcC0xKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcbiAgICB9XG4gIH1cblxuICAmX19zdWZmaXgge1xuICAgIEBpbmNsdWRlIHR1aS1mb250LWJvZHktc21hbGwoKTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1nYXAtMik7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1nYXAtMSk7XG4gICAgY29sb3I6IHZhcigtLWNvbG9yLXN0YXRlKTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX2lucHV0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgbWFyZ2luOiAtMnB4IDA7XG4gIH1cblxuICAmX19leHBhbmRBcnJvdyB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXRhZy1oZWlnaHQpICsgKDIgKiB2YXIoLS1ib3JkZXItd2lkdGgtdGhpbikpKTtcbiAgfVxuXG4gICZfX2NhcmV0IHtcbiAgICBmaWxsOiB2YXIoLS1jb2xvci1uZXV0cmFsLTcpO1xuICB9XG5cbiAgJl9fbG9hZGluZyB7XG4gICAgbWFyZ2luOiB2YXIoLS1nYXAtNCk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktc2V0dGluZ3NGb3JtQnJhbmRfX3Rlc3RFbWFpbEluZm9CdXR0b24ge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS10b2dnbGVCdG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1pbi13aWR0aDogdmFyKC0tZ2FwLTEyKTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IHZhcigtLWZvcm0taW5wdXQtaGVpZ2h0KTtcbiAgcGFkZGluZzogMCB2YXIoLS1nYXAtMik7XG4gIGNvbG9yOiB2YXIoLS10b2dnbGUtYnRuLXRleHQtY29sb3IpO1xuICBmb250LXNpemU6IHZhcigtLWZvcm0taW5wdXQtZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgYmFja2dyb3VuZDogdmFyKC0tdG9nZ2xlLWJ0bi1iZy1jb2xvcik7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogY2FsYyh2YXIoLS1idG4tcmFkaXVzKSAtIDFweCk7XG5cbiAgJjpmb2N1cyxcbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHZhcigtLXRvZ2dsZS1idG4tdGV4dC1jb2xvci1mb2N1cyk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvZ2dsZS1idG4tYmctY29sb3ItZm9jdXMpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICAmOmFjdGl2ZSxcbiAgJjphY3RpdmU6Zm9jdXMsXG4gICY6YWN0aXZlOmhvdmVyIHtcbiAgICBjb2xvcjogdmFyKC0tdG9nZ2xlLWJ0bi10ZXh0LWNvbG9yLWFjdGl2ZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvZ2dsZS1idG4tYmctY29sb3ItYWN0aXZlKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6YWN0aXZlOmZvY3VzLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLXRvZ2dsZS1idG4tdGV4dC1jb2xvci1hY3RpdmUpO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtM3B4O1xuICB9XG5cbiAgJltkaXNhYmxlZF0ge1xuICAgIGNvbG9yOiB2YXIoLS10b2dnbGUtYnRuLXRleHQtY29sb3ItZGlzYWJsZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvZ2dsZS1idG4tYmctY29sb3ItZGlzYWJsZWQpO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlcixcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmFjdGl2ZTpmb2N1cyxcbiAgICAmOmFjdGl2ZTpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tdG9nZ2xlLWJ0bi10ZXh0LWNvbG9yLWRpc2FibGVkKTtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXRvZ2dsZS1idG4tYmctY29sb3ItZGlzYWJsZWQpO1xuICAgIH1cbiAgfVxuXG4gICYtLXNlbGVjdGVkIHtcbiAgICBjb2xvcjogdmFyKC0tdG9nZ2xlLWJ0bi10ZXh0LWNvbG9yLXNlbGVjdGVkKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b2dnbGUtYnRuLWJnLWNvbG9yLXNlbGVjdGVkKTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUsXG4gICAgJjphY3RpdmU6Zm9jdXMsXG4gICAgJjphY3RpdmU6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLXRvZ2dsZS1idG4tdGV4dC1jb2xvci1zZWxlY3RlZCk7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS10b2dnbGUtYnRuLWJnLWNvbG9yLXNlbGVjdGVkKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTpmb2N1cyxcbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDFweCBkYXNoZWQgdmFyKC0tdG9nZ2xlLWJ0bi10ZXh0LWNvbG9yLXNlbGVjdGVkKTtcbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtM3B4O1xuICAgIH1cbiAgfVxuXG4gICZbZGlzYWJsZWRdJi0tc2VsZWN0ZWQge1xuICAgIGNvbG9yOiB2YXIoLS10b2dnbGUtYnRuLXRleHQtY29sb3Itc2VsZWN0ZWQpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLXRvZ2dsZS1idG4tYmctY29sb3Itc2VsZWN0ZWQpO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyLFxuICAgICY6YWN0aXZlLFxuICAgICY6YWN0aXZlOmZvY3VzLFxuICAgICY6YWN0aXZlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS10b2dnbGUtYnRuLXRleHQtY29sb3Itc2VsZWN0ZWQpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tdG9nZ2xlLWJ0bi1iZy1jb2xvci1zZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgJi0taGFzVGV4dCB7XG4gICAgbWluLXdpZHRoOiA3MHB4O1xuXG4gICAgLnR1aS10b2dnbGVCdG5fX2ljb24ge1xuICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTQpO1xuICAgIH1cbiAgfVxuXG4gICYtLWxhcmdlIHtcbiAgICBtaW4td2lkdGg6IDEwcmVtO1xuICAgIG1pbi1oZWlnaHQ6IDQuNnJlbTtcblxuICAgIC50dWktdG9nZ2xlQnRuX19jb250ZW50IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICYgPiAqICsgKiB7XG4gICAgICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC0xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9faWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250LXNpemUtMTUpO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgcGFkZGluZzogMCB2YXIoLS1nYXAtMSk7XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS10b2dnbGVTZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxcHg7XG4gIGJhY2tncm91bmQ6IHZhcigtLXRvZ2dsZS1iZy1jb2xvcik7XG4gIGJvcmRlci1yYWRpdXM6IHZhcigtLWJ0bi1yYWRpdXMpO1xuXG4gICYtLWRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gIH1cblxuICAmLS1zZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi0tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDJweDtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuOnJvb3Qge1xuICAtLWZvcm0tdG9nZ2xlLWNvbG9yOiB2YXIoLS1jb2xvci1uZXV0cmFsLTcpO1xuICAtLWZvcm0tdG9nZ2xlLWRvdC1zaXplOiAxLjZyZW07XG4gIC0tZm9ybS10b2dnbGUtY29udGFpbmVyLXdpZHRoOiA0cmVtO1xuICAtLWZvcm0tdG9nZ2xlLWNvbnRhaW5lci1oZWlnaHQ6IDJyZW07XG4gIC0tZm9ybS10b2dnbGUtY29udGFpbmVyLXJhZGl1czogMXJlbTtcbiAgLS1mb3JtLXRvZ2dsZS10ZXh0LW9mZnNldDogdmFyKC0tZ2FwLTIpO1xuICAtLWZvcm0tdG9nZ2xlLWRvdC1vZmZzZXQ6IDAuMnJlbTtcbiAgLS1mb3JtLXRvZ2dsZS1ib3R0b206IDEuOHJlbTtcbiAgLS1mb3JtLXRvZ2dsZS1mb2N1cy1ib3JkZXI6IHZhcigtLWJvcmRlci13aWR0aC1ub3JtYWwpO1xuICAtLWZvcm0tdG9nZ2xlLWZvY3VzLWdhcDogMC4xcmVtO1xufVxuXG4udHVpLXRvZ2dsZVN3aXRjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgJl9fYnRuIHtcbiAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdHVpL2F0LWV4dGVuZC1vbmx5LXBsYWNlaG9sZGVycyovXG4gICAgQGV4dGVuZCAudHVpLWZvcm1CdG47XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHR1aS9hdC1leHRlbmQtb25seS1wbGFjZWhvbGRlcnMqL1xuICAgIEBleHRlbmQgLnR1aS1mb3JtQnRuLS10cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tZm9ybS10b2dnbGUtY29sb3IpO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZTpmb2N1cyB7XG4gICAgICBjb2xvcjogdmFyKC0tZm9ybS10b2dnbGUtY29sb3IpO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1mb3JtLXRvZ2dsZS1jb2xvcik7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuICAgICYtdGV4dCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgLyogdG9nZ2xlIHNpemUgYW5kIHNoYXBlKi9cbiAgJl9fdWkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogdmFyKC0tZm9ybS10b2dnbGUtY29udGFpbmVyLXdpZHRoKTtcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tZm9ybS10b2dnbGUtdGV4dC1vZmZzZXQpO1xuICAgIC8qIHByZXR0aWVyLWlnbm9yZSovXG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1mb3JtLXRvZ2dsZS1mb2N1cy1nYXApICsgdmFyKC0tZm9ybS10b2dnbGUtZm9jdXMtYm9yZGVyKSk7XG5cbiAgICAmLS10b2dnbGVPbmx5IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKFxuICAgICAgICAtMSAqICh2YXIoLS1mb3JtLXRvZ2dsZS1mb2N1cy1nYXApICsgdmFyKC0tZm9ybS10b2dnbGUtZm9jdXMtYm9yZGVyKSlcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyogdGhlIHRvZ2dsZSBiYWNrZ3JvdW5kKi9cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogdmFyKC0tZm9ybS10b2dnbGUtY29udGFpbmVyLWhlaWdodCk7XG4gICAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1mb3JtLXRvZ2dsZS1jb250YWluZXItcmFkaXVzKTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1idXR0b24tZHVyYXRpb24pXG4gICAgICAgICAgdmFyKC0tdHJhbnNpdGlvbi1idXR0b24tZnVuY3Rpb24pLFxuICAgICAgICBib3JkZXItY29sb3IgdmFyKC0tdHJhbnNpdGlvbi1idXR0b24tZHVyYXRpb24pXG4gICAgICAgICAgdmFyKC0tdHJhbnNpdGlvbi1idXR0b24tZnVuY3Rpb24pO1xuICAgICAgY29udGVudDogJyc7XG5cbiAgICAgIC50dWktY29udGV4dEludmFsaWQgJiB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCB2YXIoLS1mb3JtLWlucHV0LWJvcmRlci1jb2xvci1pbnZhbGlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiB0aGUgdG9nZ2xlIGRvdCovXG4gICAgJjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvKiBwcmV0dGllci1pZ25vcmUqL1xuICAgICAgdG9wOiBjYWxjKHZhcigtLWZvcm0tdG9nZ2xlLWRvdC1vZmZzZXQpICsgY2FsYyh2YXIoLS1mb3JtLXRvZ2dsZS1mb2N1cy1nYXApICsgdmFyKC0tZm9ybS10b2dnbGUtZm9jdXMtYm9yZGVyKSkpO1xuICAgICAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgICAgIGxlZnQ6IGNhbGModmFyKC0tZm9ybS10b2dnbGUtZG90LW9mZnNldCkgKyBjYWxjKHZhcigtLWZvcm0tdG9nZ2xlLWZvY3VzLWdhcCkgKyB2YXIoLS1mb3JtLXRvZ2dsZS1mb2N1cy1ib3JkZXIpKSk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiB2YXIoLS1mb3JtLXRvZ2dsZS1kb3Qtc2l6ZSk7XG4gICAgICBoZWlnaHQ6IHZhcigtLWZvcm0tdG9nZ2xlLWRvdC1zaXplKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaGFkb3c6IHZhcigtLXNoYWRvdy0yKTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cblxuICAgIC8qIHRvZ2dsZWQgb2ZmKi9cblxuICAgIC8qIHRoZSB0b2dnbGUgYmFja2dyb3VuZCovXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9ybS10b2dnbGUtb2ZmLWJnLWNvbG9yKTtcbiAgICAgIGJvcmRlcjogdmFyKC0tZm9ybS1pbnB1dC1ib3JkZXItc2l6ZSkgc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLWZvcm0tdG9nZ2xlLWJvcmRlci1jb2xvcik7XG4gICAgfVxuXG4gICAgLyogdGhlIHRvZ2dsZSBkb3QqL1xuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZm9ybS10b2dnbGUtZG90LWNvbG9yKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLXRvZ2dsZS1vZmYtYmctY29sb3ItaG92ZXItZm9jdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIHRvZ2dsZWQgb2ZmLCB2aWEgdGhlIGJ1dHRvbiovXG4gICZfX2J0biB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIH4gLnR1aS10b2dnbGVTd2l0Y2hfX3VpIHtcbiAgICAgICAgcGFkZGluZzogdmFyKC0tZm9ybS10b2dnbGUtZm9jdXMtZ2FwKTtcbiAgICAgICAgYm9yZGVyOiB2YXIoLS1mb3JtLXRvZ2dsZS1mb2N1cy1ib3JkZXIpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAvKiBwcmV0dGllci1pZ25vcmUqL1xuICAgICAgICBib3JkZXItcmFkaXVzOiBjYWxjKGNhbGModmFyKC0tZm9ybS10b2dnbGUtY29udGFpbmVyLXJhZGl1cykgKyB2YXIoLS1mb3JtLXRvZ2dsZS1mb2N1cy1nYXApKSArIHZhcigtLWZvcm0tdG9nZ2xlLWZvY3VzLWJvcmRlcikpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIC8qIHByZXR0aWVyLWlnbm9yZSovXG4gICAgICAgICAgdG9wOiBjYWxjKHZhcigtLWZvcm0tdG9nZ2xlLWRvdC1vZmZzZXQpICsgdmFyKC0tZm9ybS10b2dnbGUtZm9jdXMtZ2FwKSk7XG4gICAgICAgICAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgICAgICAgICBsZWZ0OiBjYWxjKHZhcigtLWZvcm0tdG9nZ2xlLWRvdC1vZmZzZXQpICsgdmFyKC0tZm9ybS10b2dnbGUtZm9jdXMtZ2FwKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmZvY3VzIH4gLnR1aS10b2dnbGVTd2l0Y2hfX3VpIHtcbiAgICAgIGJvcmRlcjogdmFyKC0tZm9ybS10b2dnbGUtZm9jdXMtYm9yZGVyKSBzb2xpZCB2YXIoLS1jb2xvci1zdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLyogdG9nZ2xlZCBvbiovXG4gICZfX2J0blthcmlhLXByZXNzZWRdIH4gJl9fdWkge1xuICAgIC8qIHRoZSBkb3QqL1xuICAgICY6YWZ0ZXIge1xuICAgICAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgICAgIHJpZ2h0OiBjYWxjKHZhcigtLWZvcm0tdG9nZ2xlLWRvdC1vZmZzZXQpICsgY2FsYyh2YXIoLS1mb3JtLXRvZ2dsZS1mb2N1cy1nYXApICsgdmFyKC0tZm9ybS10b2dnbGUtZm9jdXMtYm9yZGVyKSkpO1xuICAgICAgbGVmdDogYXV0bztcbiAgICB9XG5cbiAgICAvKiB0aGUgdG9nZ2xlIGJhY2tncm91bmQqL1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWZvcm0tdG9nZ2xlLW9uLWJnLWNvbG9yKTtcbiAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tZm9ybS10b2dnbGUtb24tYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1mb3JtLXRvZ2dsZS1vbi1iZy1jb2xvci1ob3Zlci1mb2N1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogdG9nZ2xlZCBvbiwgdmlhIHRoZSBidXR0b24qL1xuICAmX19idG5bYXJpYS1wcmVzc2VkXSB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIH4gLnR1aS10b2dnbGVTd2l0Y2hfX3VpIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgLyogcHJldHRpZXItaWdub3JlKi9cbiAgICAgICAgICByaWdodDogY2FsYyh2YXIoLS1mb3JtLXRvZ2dsZS1kb3Qtb2Zmc2V0KSArIHZhcigtLWZvcm0tdG9nZ2xlLWZvY3VzLWdhcCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogdG9nZ2xlIG9uIHRoZSBsZWZ0LCB0ZXh0IG9uIHRoZSByaWdodCovXG4gICYtLWxlZnQge1xuICAgIC50dWktdG9nZ2xlU3dpdGNoX191aSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tZm9ybS10b2dnbGUtdGV4dC1vZmZzZXQpO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLnR1aS10b2dnbGVTd2l0Y2hfX2J0biB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAudHVpLXRvZ2dsZVN3aXRjaF9faWNvbiB7XG4gICAgICBvcmRlcjogMztcbiAgICB9XG4gIH1cbn1cbiIsIlxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG4udHVpLXRyZWUge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS10cmVlTm9kZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDFweCAwO1xuXG4gICYtLW5vUGFkZGluZyB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICYtLXRvcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IHZhcigtLWdhcC0yKSAwO1xuICB9XG5cbiAgJi0tc2VwYXJhdG9yIHtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IHZhcigtLWJvcmRlci13aWR0aC10aGluKSBzb2xpZCB2YXIoLS1jb2xvci1uZXV0cmFsLTUpO1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuICB9XG5cbiAgJl9fY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyh2YXIoLS1nYXAtMSkgLyAyKTtcbiAgfVxuXG4gICZfX3RyaWdnZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IGNhbGModmFyKC0tZ2FwLTEpIC8gMik7XG4gICAgei1pbmRleDogMTtcbiAgICBoZWlnaHQ6IDFlbTtcblxuICAgICYtYnRuIHtcbiAgICAgIGxlZnQ6IGNhbGModmFyKC0tZ2FwLTEpIC8gMiAqIC0xKTtcbiAgICAgIHBhZGRpbmc6IDAgdmFyKC0tZ2FwLTEpO1xuICAgIH1cblxuICAgICYtLXRvcCB7XG4gICAgICAudHVpLXRyZWVOb2RlX190cmlnZ2VyLWJ0biB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tc3BhY2luZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHZhcigtLWdhcC02KTtcbiAgICB9XG4gIH1cblxuICAmX19iYXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuXG4gICAgJiA+ICogKyAqIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1nYXAtMik7XG4gICAgfVxuXG4gICAgJi1idG4ge1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDE7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgICYtbGFiZWwsXG4gICAgJi1saW5rIHtcbiAgICAgIEBpbmNsdWRlIHR1aS1mb250LWhlYWRpbmctbGFiZWwoKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIC1tcy13b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgLXdlYmtpdC1oeXBoZW5zOiBub25lO1xuICAgICAgICAgIC1tcy1oeXBoZW5zOiBub25lO1xuICAgICAgICAgICAgICBoeXBoZW5zOiBub25lO1xuICAgIH1cblxuICAgICYtc2lkZSB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICZfX2NoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IHZhcigtLWdhcC0zKTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgJi0tbm9QYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktZm9ybUZpZWxkIHtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuXG4gIEBpbmNsdWRlIHR1aS1jaGFyLWxlbmd0aC1jbGFzc2VzKCk7XG59XG4iLCJcblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi50dWktdGhlbWVTZXR0aW5ncyB7XG4gICZfX2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWdhcC04KTtcbiAgfVxuXG4gICZfX2Zvcm1zIHtcbiAgICBAaW5jbHVkZSB0dWktc3RhY2stdmVydGljYWwodmFyKC0tZ2FwLTgpKTtcbiAgfVxufVxuIiwiXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLnR1aS10aGVtZVRlbmFudHMge1xuICAmX19jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1nYXAtOCk7XG4gIH1cblxuICAmX19zZWN0aW9uICsgJl9fc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogdmFyKC0tZ2FwLTEyKTtcbiAgfVxuXG4gICZfX3NlY3Rpb24ge1xuICAgIEBpbmNsdWRlIHR1aS1zdGFjay12ZXJ0aWNhbCh2YXIoLS1nYXAtNCkpO1xuICB9XG59XG4iXX0= */