{"id":57173,"date":"2026-05-31T11:21:54","date_gmt":"2026-05-31T09:21:54","guid":{"rendered":"https:\/\/www.vaia.eu\/?post_type=product&#038;p=57173"},"modified":"2026-10-27T11:14:20","modified_gmt":"2026-10-27T10:14:20","slug":"vaia-cover","status":"publish","type":"product","link":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/","title":{"rendered":"VAIA Cover"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" id=\"requestedmodel\">\n\t\t\t<div\n\t\t\tclass=\"hs-form-frame\"\n\t\t\tdata-region=\"eu1\"\n\t\t\tdata-form-id=\"b15d997b-1042-4693-aea2-c5df1f430fdc\"\n\t\t\tdata-portal-id=\"143416615\"\n\t\t\t >\n\t\t\t<\/div>\n\t\t\t\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignfull is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>VAIA Cover \u2013 Product Page<\/title>\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin=\"\">\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=DM+Sans:wght@300;400;500&amp;display=swap\" rel=\"stylesheet\">\n<link href=\"https:\/\/api.fontshare.com\/v2\/css?f[]=clash-display@400,500,600,700&amp;display=swap\" rel=\"stylesheet\">\n\n<style>\n  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n  :root {\n    --olive:    #6B6B3A;\n    --olive-lt: #A8A86A;\n    --olive-dk: #3C3C1E;\n    --mare:     #5B9DA4;\n    --mare-lt:  #9ECFD4;\n    --terra:    #7A5C3A;\n    --terra-lt: #C09870;\n    --sabbia:   #E8DFC0;\n    --sabbia-dk:#C4B88A;\n    --crema:    #F5F1E8;\n    --bianco:   #FAFAF7;\n    --testo:    #1A1A14;\n    --testo-m:  #4A4A38;\n    --testo-l:  #8A8A72;\n    --bordo:    rgba(107,107,58,0.18);\n    --bordo-m:  rgba(107,107,58,0.35);\n\n    --font-sans: var(--wp--preset--font-family--body, var(--wp-font-family, 'DM Sans', sans-serif));\n    --font-serif: 'ClashDisplay-Variable', 'Clash Display', var(--wp--preset--font-family--heading, sans-serif);\n  }\n\n  body {\n    font-family: var(--font-sans);\n    background: var(--bianco);\n    color: var(--testo);\n    line-height: 1.7;\n  }\n\n  h1, h2, h3, h4, h5, h6 {\n    font-family: var(--font-serif);\n    letter-spacing: -0.02em;\n  }\n\n  .serif { font-family: var(--font-serif); }\n  .label-small {\n    font-size: 11px;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--testo-l);\n    font-weight: 400;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 SECTION: HERO DESCRIPTION \u2500\u2500 *\/\n  .section-hero {\n    background: var(--crema);\n    padding: 96px 5vw 80px;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 64px;\n    align-items: center;\n  }\n  .section-hero__text .eyebrow {\n    font-size: 11px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--olive);\n    margin-bottom: 20px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .section-hero__text h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(32px, 4vw, 52px);\n    font-weight: 700;\n    line-height: 1.15;\n    color: var(--olive-dk);\n    margin-bottom: 28px;\n  }\n  .section-hero__text p {\n    font-size: 17px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.75;\n    max-width: 48ch;\n    font-family: var(--font-sans);\n  }\n  .section-hero__image {\n    position: relative;\n    border-radius: 4px;\n    overflow: hidden;\n    aspect-ratio: 4\/5;\n    background: var(--sabbia);\n  }\n  .section-hero__image img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n  }\n\n  \/* \u2500\u2500 SECTION: OLIVE MATTER \u2500\u2500 *\/\n  .section-material {\n    background: var(--olive-dk);\n    color: var(--sabbia);\n    padding: 96px 5vw;\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 80px;\n    align-items: center;\n  }\n  .section-material__image {\n    aspect-ratio: 1\/1;\n    border-radius: 4px;\n    overflow: hidden;\n    order: -1;\n  }\n  .section-material__image img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n  }\n  .section-material__text .eyebrow {\n    font-size: 11px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    margin-bottom: 20px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .section-material__text h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(28px, 3.5vw, 44px);\n    font-weight: 700;\n    line-height: 1.2;\n    color: var(--sabbia);\n    margin-bottom: 28px;\n  }\n  .section-material__text p {\n    font-size: 16px;\n    color: rgba(232,223,192,0.8);\n    font-weight: 300;\n    line-height: 1.8;\n    margin-bottom: 0;\n    font-family: var(--font-sans);\n  }\n\n  .material-highlight {\n    display: block;\n    margin: 24px 0;\n    padding: 20px 24px;\n    background: rgba(168,168,106,0.12);\n    border-left: 3px solid var(--olive-lt);\n    border-radius: 0 4px 4px 0;\n    font-family: var(--font-serif);\n    font-size: clamp(18px, 2vw, 24px);\n    font-weight: 700;\n    color: var(--sabbia);\n    line-height: 1.3;\n    font-style: normal;\n  }\n\n  .material-tagline {\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    margin: 28px 0 0;\n  }\n  .material-tagline span {\n    font-family: var(--font-serif);\n    font-size: clamp(18px, 2vw, 22px);\n    font-style: normal;\n    font-weight: 700;\n    color: var(--sabbia);\n    line-height: 1.5;\n    text-shadow: 0 2px 12px rgba(0,0,0,0.35);\n  }\n\n  .material-pills {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n    margin-top: 32px;\n  }\n  .pill {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 7px 16px;\n    border: 1px solid rgba(168,168,106,0.35);\n    border-radius: 100px;\n    font-size: 13px;\n    color: var(--olive-lt);\n    font-weight: 400;\n    font-family: var(--font-sans);\n  }\n  .pill::before {\n    content: '';\n    display: block;\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--olive-lt);\n    flex-shrink: 0;\n  }\n\n  .btn-olive-matter {\n    display: inline-flex;\n    align-items: center;\n    gap: 8px;\n    margin-top: 28px;\n    padding: 13px 28px;\n    background: var(--olive-lt);\n    color: var(--olive-dk);\n    border-radius: 100px;\n    font-size: 13px;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    text-decoration: none;\n    font-weight: 500;\n    font-family: var(--font-sans);\n    transition: background 0.2s, color 0.2s;\n  }\n  .btn-olive-matter:hover {\n    background: var(--sabbia);\n    color: var(--olive-dk);\n  }\n\n  \/* \u2500\u2500 SECTION: TECHNICAL SPECS \u2500\u2500 *\/\n  .section-specs {\n    background: var(--bianco);\n    padding: 96px 5vw;\n  }\n  .section-specs__header {\n    margin-bottom: 56px;\n  }\n  .section-specs__header h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(28px, 3.5vw, 40px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-top: 12px;\n  }\n  .specs-table {\n    width: 100%;\n    border-collapse: collapse;\n    font-size: 15px;\n    font-family: var(--font-sans);\n  }\n  .specs-table tr {\n    border-bottom: 1px solid var(--bordo);\n  }\n  .specs-table tr:first-child {\n    border-top: 1px solid var(--bordo);\n  }\n  .specs-table td {\n    padding: 18px 0;\n    vertical-align: top;\n    line-height: 1.5;\n  }\n  .specs-table td:first-child {\n    color: var(--testo-l);\n    width: 38%;\n    padding-right: 24px;\n  }\n  .specs-table td:last-child {\n    color: var(--testo);\n  }\n  .specs-table td strong {\n    color: var(--olive-dk);\n    font-weight: 500;\n  }\n\n  \/* \u2500\u2500 SECTION: WIRELESS \u2500\u2500 *\/\n  .section-wireless {\n    background: var(--sabbia);\n    padding: 72px 5vw;\n    display: grid;\n    grid-template-columns: 1fr 2fr;\n    gap: 64px;\n    align-items: start;\n  }\n  .wireless-icon-block {\n    display: flex;\n    flex-direction: column;\n    gap: 16px;\n  }\n  .wireless-icon {\n    width: 56px;\n    height: 56px;\n    border-radius: 50%;\n    background: var(--olive);\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n  .wireless-icon svg { width: 24px; height: 24px; fill: none; stroke: var(--sabbia); stroke-width: 1.5; stroke-linecap: round; }\n  .wireless-icon-block h3 {\n    font-family: var(--font-serif);\n    font-size: 22px;\n    color: var(--olive-dk);\n    font-weight: 700;\n    line-height: 1.3;\n  }\n  .wireless-text p {\n    font-size: 16px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.8;\n    margin-bottom: 12px;\n    font-family: var(--font-sans);\n  }\n  .wireless-note {\n    display: flex;\n    gap: 12px;\n    align-items: flex-start;\n    padding: 16px 20px;\n    background: rgba(255,255,255,0.6);\n    border-left: 3px solid var(--olive);\n    border-radius: 0 4px 4px 0;\n    margin-top: 20px;\n    font-size: 14px;\n    color: var(--testo-m);\n    line-height: 1.6;\n    font-family: var(--font-sans);\n  }\n  .wireless-note strong { color: var(--olive-dk); }\n\n  \/* \u2500\u2500 SECTION: TEXTURE & COLORS \u2500\u2500 *\/\n  .section-design {\n    background: var(--crema);\n    padding: 96px 5vw;\n  }\n  .section-design__header {\n    margin-bottom: 56px;\n    max-width: 60ch;\n  }\n  .section-design__header h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(28px, 3.5vw, 40px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-top: 12px;\n    margin-bottom: 20px;\n  }\n  .section-design__header p {\n    font-size: 16px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.8;\n    font-family: var(--font-sans);\n    margin-bottom: 0;\n  }\n\n  .design-tagline {\n    display: flex;\n    flex-direction: column;\n    gap: 2px;\n    margin-top: 20px;\n  }\n  .design-tagline span {\n    font-family: var(--font-serif);\n    font-size: clamp(18px, 2vw, 22px);\n    font-style: normal;\n    font-weight: 700;\n    color: var(--olive-dk);\n    line-height: 1.5;\n    text-shadow: 0 2px 8px rgba(107,107,58,0.18);\n  }\n\n  .design-details {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 48px;\n    margin-bottom: 64px;\n    padding: 48px;\n    background: var(--bianco);\n    border: 1px solid var(--bordo);\n    border-radius: 4px;\n  }\n  .design-detail-item {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n  }\n  .design-detail-item .detail-num {\n    font-family: var(--font-serif);\n    font-size: 16px;\n    color: var(--olive-lt);\n    font-style: normal;\n  }\n  .design-detail-item h4 {\n    font-family: var(--font-serif);\n    font-size: 15px;\n    font-weight: 700;\n    color: var(--olive-dk);\n    line-height: 1.3;\n  }\n  .design-detail-item p {\n    font-size: 14px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n  .design-sid-note {\n    margin-bottom: 48px;\n    padding: 20px 24px;\n    border-left: 3px solid var(--olive-lt);\n    background: rgba(107,107,58,0.05);\n    font-size: 13px;\n    color: var(--testo-m);\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n  .design-sid-note strong { color: var(--olive-dk); font-weight: 500; }\n\n  .texture-row {\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n    gap: 12px;\n    margin-bottom: 64px;\n  }\n  .texture-card {\n    aspect-ratio: 3\/4;\n    border-radius: 4px;\n    background: var(--sabbia);\n    overflow: hidden;\n    position: relative;\n    display: flex;\n    align-items: flex-end;\n  }\n  .texture-card__label {\n    position: absolute;\n    bottom: 0; left: 0; right: 0;\n    background: rgba(26,26,20,0.55);\n    color: rgba(245,241,232,0.9);\n    font-size: 11px;\n    letter-spacing: 0.08em;\n    padding: 10px 12px;\n    text-align: center;\n    z-index: 2;\n    font-family: var(--font-sans);\n  }\n  .texture-card .img-placeholder {\n    position: absolute;\n    inset: 0;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    flex-direction: column;\n    gap: 8px;\n    color: var(--testo-l);\n    font-size: 11px;\n    text-align: center;\n    padding: 16px;\n    line-height: 1.5;\n    font-family: var(--font-sans);\n  }\n\n  .palette-title {\n    font-family: var(--font-serif);\n    font-size: 20px;\n    color: var(--olive-dk);\n    margin-bottom: 28px;\n    font-style: normal;\n  }\n  .palette-row {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 16px;\n  }\n  .palette-swatch {\n    border-radius: 4px;\n    overflow: hidden;\n    border: 1px solid var(--bordo);\n  }\n  .swatch-color {\n    height: 72px;\n  }\n  .swatch-info {\n    padding: 12px 14px;\n    background: var(--bianco);\n  }\n  .swatch-name {\n    font-size: 13px;\n    font-weight: 500;\n    color: var(--testo);\n    margin-bottom: 4px;\n    font-family: var(--font-sans);\n  }\n  .swatch-desc {\n    font-size: 11px;\n    color: var(--testo-l);\n    font-style: normal;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 SECTION: EDITORIAL PHOTO GRID \u2500\u2500 *\/\n  .section-editorial {\n    background: var(--testo);\n    padding: 0;\n  }\n  .editorial-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr 1fr;\n    grid-template-rows: 420px 420px 340px 420px;\n    gap: 0;\n    grid-template-areas:\n      \"c1 c2 c3\"\n      \"c1 c4 c5\"\n      \"c6 c6 c7\"\n      \"c8 c8 c9\";\n  }\n  .ec-1 { grid-area: c1; }\n  .ec-2 { grid-area: c2; }\n  .ec-3 { grid-area: c3; }\n  .ec-4 { grid-area: c4; }\n  .ec-5 { grid-area: c5; }\n  .ec-6 { grid-area: c6; }\n  .ec-7 { grid-area: c7; }\n  .ec-8 { grid-area: c8; }\n  .ec-9 { grid-area: c9; }\n  .editorial-cell {\n    position: relative;\n    overflow: hidden;\n  }\n  .editorial-cell img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n    transition: transform 0.6s ease;\n  }\n  .editorial-cell:hover img {\n    transform: scale(1.04);\n  }\n  .editorial-cell__caption {\n    position: absolute;\n    bottom: 0; left: 0; right: 0;\n    padding: 20px 24px 20px;\n    background: linear-gradient(to top, rgba(26,26,20,0.75) 0%, transparent 100%);\n    color: rgba(245,241,232,0.9);\n  }\n  .editorial-cell__caption .cap-label {\n    font-size: 10px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    margin-bottom: 6px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .editorial-cell__caption .cap-text {\n    font-family: var(--font-serif);\n    font-size: clamp(15px, 1.5vw, 20px);\n    font-weight: 700;\n    line-height: 1.25;\n  }\n  .editorial-cell--text {\n    background: var(--crema);\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    padding: 48px 40px;\n  }\n  .editorial-cell--text .eyebrow {\n    font-size: 10px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--olive);\n    margin-bottom: 16px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .editorial-cell--text h3 {\n    font-family: var(--font-serif);\n    font-size: clamp(22px, 2.5vw, 32px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    line-height: 1.25;\n    margin-bottom: 16px;\n  }\n  .editorial-cell--text p {\n    font-size: 14px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.75;\n    font-family: var(--font-sans);\n  }\n  .editorial-cell--dark {\n    background: var(--olive-dk);\n    display: flex;\n    flex-direction: column;\n    justify-content: flex-end;\n    padding: 40px;\n  }\n  .editorial-cell--dark .eyebrow {\n    font-size: 10px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    margin-bottom: 16px;\n    display: block;\n    font-family: var(--font-sans);\n  }\n  .editorial-cell--dark .big-number {\n    font-family: var(--font-serif);\n    font-size: clamp(48px, 5vw, 72px);\n    font-weight: 700;\n    color: var(--olive-lt);\n    line-height: 1;\n    margin-bottom: 8px;\n  }\n  .editorial-cell--dark p {\n    font-size: 14px;\n    color: rgba(232,223,192,0.7);\n    font-weight: 300;\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 SECTION: ENVIRONMENTAL IMPACT \u2500\u2500 *\/\n  .section-impact {\n    background: var(--olive-dk);\n    padding: 96px 5vw;\n    color: var(--sabbia);\n  }\n  .impact-intro {\n    max-width: 64ch;\n    margin-bottom: 64px;\n  }\n  .impact-intro h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(30px, 4vw, 48px);\n    font-weight: 700;\n    line-height: 1.2;\n    color: var(--sabbia);\n    margin-top: 12px;\n    margin-bottom: 24px;\n  }\n  .impact-intro p {\n    font-size: 17px;\n    color: rgba(232,223,192,0.8);\n    font-weight: 300;\n    line-height: 1.8;\n    font-family: var(--font-sans);\n  }\n  .impact-cards {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 24px;\n    margin-bottom: 64px;\n  }\n  .impact-card {\n    border: 1px solid rgba(232,223,192,0.15);\n    border-radius: 4px;\n    padding: 36px 32px;\n    position: relative;\n  }\n  .impact-card__number {\n    font-family: var(--font-serif);\n    font-size: 56px;\n    font-weight: 700;\n    color: var(--olive-lt);\n    line-height: 1;\n    margin-bottom: 8px;\n  }\n  .impact-card__unit {\n    font-size: 14px;\n    letter-spacing: 0.12em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    margin-bottom: 16px;\n    font-family: var(--font-sans);\n  }\n  .impact-card__desc {\n    font-size: 15px;\n    color: rgba(232,223,192,0.75);\n    font-weight: 300;\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n  .impact-story {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 64px;\n    align-items: start;\n    padding-top: 56px;\n    border-top: 1px solid rgba(232,223,192,0.15);\n  }\n  .impact-story__text h3 {\n    font-family: var(--font-serif);\n    font-size: clamp(22px, 2.5vw, 32px);\n    font-weight: 700;\n    color: var(--sabbia);\n    margin-bottom: 20px;\n    line-height: 1.3;\n  }\n  .impact-story__text p {\n    font-size: 15px;\n    color: rgba(232,223,192,0.75);\n    font-weight: 300;\n    line-height: 1.8;\n    margin-bottom: 14px;\n    font-family: var(--font-sans);\n  }\n  .coords-block {\n    margin-top: 32px;\n    display: inline-flex;\n    flex-direction: column;\n    gap: 4px;\n  }\n  .coords-label {\n    font-size: 10px;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--olive-lt);\n    font-family: var(--font-sans);\n  }\n  .coords-value {\n    font-family: var(--font-sans);\n    font-size: 15px;\n    color: var(--sabbia);\n    letter-spacing: 0.08em;\n  }\n  .impact-story__image {\n    aspect-ratio: 4\/5;\n    border-radius: 4px;\n    overflow: hidden;\n  }\n  .impact-story__image img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    display: block;\n  }\n\n  .countup-number {\n    display: inline-block;\n  }\n\n  \/* \u2500\u2500 GOOGLE MAPS \u2500\u2500 *\/\n  .section-map {\n    background: var(--bianco);\n    padding: 96px 5vw;\n  }\n  .section-map__header {\n    margin-bottom: 40px;\n    display: flex;\n    align-items: flex-end;\n    justify-content: space-between;\n    gap: 32px;\n  }\n  .section-map__header h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(26px, 3vw, 36px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-top: 8px;\n  }\n  .section-map__header p {\n    font-size: 14px;\n    color: var(--testo-l);\n    font-weight: 300;\n    max-width: 40ch;\n    text-align: right;\n    line-height: 1.6;\n    font-family: var(--font-sans);\n  }\n  .map-wrapper {\n    border-radius: 4px;\n    overflow: hidden;\n    border: 1px solid var(--bordo);\n    height: 480px;\n  }\n  .map-wrapper iframe {\n    width: 100%;\n    height: 100%;\n    border: 0;\n    display: block;\n  }\n  .map-coords-bar {\n    display: flex;\n    align-items: center;\n    gap: 32px;\n    margin-top: 20px;\n    padding: 16px 24px;\n    background: var(--crema);\n    border-radius: 4px;\n    border: 1px solid var(--bordo);\n  }\n  .map-coords-bar .coord-item {\n    display: flex;\n    flex-direction: column;\n    gap: 3px;\n  }\n  .map-coords-bar .coord-label {\n    font-size: 10px;\n    letter-spacing: 0.18em;\n    text-transform: uppercase;\n    color: var(--testo-l);\n    font-family: var(--font-sans);\n  }\n  .map-coords-bar .coord-val {\n    font-family: var(--font-sans);\n    font-size: 14px;\n    color: var(--olive-dk);\n    letter-spacing: 0.06em;\n    font-weight: 500;\n  }\n  .map-coords-bar .coord-separator {\n    width: 1px;\n    height: 32px;\n    background: var(--bordo-m);\n  }\n  .map-coords-bar .coord-place {\n    flex: 1;\n    font-size: 13px;\n    color: var(--testo-m);\n    font-weight: 300;\n    font-style: normal;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 SECTION: MADE IN ITALY \/ SUPPLY CHAIN \u2500\u2500 *\/\n  .section-supply {\n    background: var(--crema);\n    padding: 80px 5vw;\n  }\n  .supply-heading {\n    margin-bottom: 40px;\n  }\n  .supply-heading .label-small {\n    display: block;\n    margin-bottom: 10px;\n  }\n  .supply-heading h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(26px, 3vw, 36px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    line-height: 1.2;\n    margin: 0;\n  }\n  .supply-inner {\n    display: grid;\n    grid-template-columns: 1fr 1fr 1fr;\n    gap: 40px;\n  }\n  .supply-block {\n    border-top: 2px solid var(--olive-lt);\n    padding-top: 28px;\n  }\n  .supply-block__num {\n    font-family: var(--font-serif);\n    font-size: 40px;\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-bottom: 8px;\n    line-height: 1;\n  }\n  .supply-block__title {\n    font-size: 15px;\n    font-weight: 500;\n    color: var(--testo);\n    margin-bottom: 10px;\n    font-family: var(--font-sans);\n  }\n  .supply-block__desc {\n    font-size: 14px;\n    color: var(--testo-m);\n    font-weight: 300;\n    line-height: 1.7;\n    font-family: var(--font-sans);\n  }\n\n  \/* \u2500\u2500 RELATED PRODUCTS CAROUSEL \u2500\u2500 *\/\n  .section-carousel {\n    background: transparent;\n    padding: 80px 5vw 96px;\n  }\n  .carousel-header {\n    margin-bottom: 48px;\n  }\n  .carousel-header h2 {\n    font-family: var(--font-serif);\n    font-size: clamp(26px, 3vw, 38px);\n    font-weight: 700;\n    color: var(--olive-dk);\n    margin-top: 12px;\n  }\n  .carousel-wrapper {\n    display: flex;\n    align-items: center;\n    gap: 16px;\n  }\n  .carousel-track-outer {\n    flex: 1;\n    overflow: hidden;\n    user-select: none;\n    -webkit-user-select: none;\n  }\n  .carousel-track {\n    display: flex;\n    gap: 20px;\n    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);\n    will-change: transform;\n  }\n  .carousel-track.is-dragging {\n    transition: none;\n  }\n  .prod-card {\n    flex: 0 0 calc(25% - 15px);\n    min-width: 0;\n    border: 1px solid var(--bordo);\n    border-radius: 4px;\n    overflow: hidden;\n    background: var(--sabbia);\n    display: flex;\n    flex-direction: column;\n  }\n  .prod-card__img-wrap {\n    display: block;\n    aspect-ratio: 3\/4;\n    overflow: hidden;\n    background: var(--crema);\n  }\n  .prod-card__img-wrap img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    transition: transform 0.4s ease;\n    display: block;\n    pointer-events: none;\n    -webkit-user-drag: none;\n  }\n  .prod-card:hover .prod-card__img-wrap img {\n    transform: scale(1.04);\n  }\n  .prod-card__body {\n    padding: 20px 20px 20px;\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    background: var(--sabbia);\n  }\n  .prod-card__name {\n    font-size: 15px;\n    font-weight: 500;\n    color: var(--testo);\n    margin-bottom: 8px;\n    line-height: 1.3;\n    font-family: var(--font-sans);\n  }\n  .prod-card__desc {\n    font-size: 13px;\n    color: var(--testo-l);\n    font-weight: 300;\n    line-height: 1.6;\n    flex: 1;\n    margin-bottom: 16px;\n    font-family: var(--font-sans);\n  }\n .prod-card__footer {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 8px;\n    margin-top: auto;\n    flex-wrap: wrap;\n  }\n  .prod-card__price {\n    font-size: 14px;\n    font-weight: 500;\n    color: var(--olive-dk);\n    font-family: var(--font-sans);\n    white-space: nowrap;\n  }\n  .prod-card__btn {\n    display: inline-block;\n    padding: 8px 18px;\n    border: 1px solid var(--olive);\n    border-radius: 100px;\n    font-size: 12px;\n    letter-spacing: 0.1em;\n    text-transform: uppercase;\n    color: var(--olive);\n    text-decoration: none;\n    transition: background 0.2s, color 0.2s;\n    white-space: nowrap;\n    font-family: var(--font-sans);\n  }\n  .prod-card__btn:hover {\n    background: var(--olive);\n    color: var(--bianco);\n  }\n  .carousel-btn {\n    flex-shrink: 0;\n    width: 40px;\n    height: 40px;\n    border-radius: 50%;\n    border: 1px solid var(--bordo-m);\n    background: var(--bianco);\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    transition: border-color 0.2s, background 0.2s;\n    padding: 0;\n  }\n  .carousel-btn svg {\n    width: 18px;\n    height: 18px;\n    stroke: var(--olive-dk);\n  }\n  .carousel-btn:hover {\n    border-color: var(--olive);\n    background: var(--crema);\n  }\n  .carousel-btn:disabled {\n    opacity: 0.3;\n    cursor: default;\n  }\n  .carousel-dots {\n    display: flex;\n    justify-content: center;\n    gap: 8px;\n    margin-top: 32px;\n  }\n  .carousel-dot {\n    width: 6px;\n    height: 6px;\n    border-radius: 50%;\n    background: var(--sabbia-dk);\n    border: none;\n    padding: 0;\n    cursor: pointer;\n    transition: background 0.2s, transform 0.2s;\n  }\n  .carousel-dot.active {\n    background: var(--olive);\n    transform: scale(1.4);\n  }\n\n  \/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n  @media (max-width: 900px) {\n    .section-hero,\n    .section-material,\n    .section-impact .impact-story,\n    .section-wireless {\n      grid-template-columns: 1fr;\n      gap: 40px;\n    }\n    .section-material__image { order: 0; }\n    .impact-cards { grid-template-columns: 1fr; }\n    .supply-inner { grid-template-columns: 1fr; gap: 32px; }\n    .palette-row { grid-template-columns: repeat(2, 1fr); }\n    .texture-row { grid-template-columns: repeat(3, 1fr); }\n    .section-wireless { grid-template-columns: 1fr; }\n    .editorial-grid {\n      grid-template-columns: 1fr 1fr;\n      grid-template-rows: auto;\n      grid-template-areas:\n        \"c1 c2\"\n        \"c3 c4\"\n        \"c5 c5\"\n        \"c6 c7\"\n        \"c8 c8\"\n        \"c9 c9\";\n    }\n    .design-details { grid-template-columns: 1fr; gap: 32px; padding: 32px 24px; }\n    .section-map__header { flex-direction: column; align-items: flex-start; }\n    .section-map__header p { text-align: left; }\n      .carousel-btn { display: none; }\n    \/* Mobile: kein Karussell, Raster mit 2 Spalten \u00d7 2 Reihen *\/\n    .carousel-track-outer { overflow: visible; }\n    .carousel-track {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 16px;\n      transform: none !important;\n    }\n    .prod-card { flex: none; width: auto; min-width: 0; }\n    .carousel-dots { display: none; }  }\n  @media (max-width: 560px) {\n    .editorial-grid {\n      grid-template-columns: 1fr;\n      grid-template-areas:\n        \"c1\" \"c2\" \"c3\" \"c4\" \"c5\" \"c6\" \"c7\" \"c8\" \"c9\";\n    }\n    .palette-row { grid-template-columns: repeat(2, 1fr); }\n  }\n<\/style>\n\n\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     1. HERO DESCRIPTION\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-hero\">\n  <div class=\"section-hero__text\">\n    <span class=\"eyebrow\">VAIA Cover \u2014 Where it comes from<\/span>\n    <h2>The bark of an olive tree<br>that no longer exists,<br>around your phone.<\/h2>\n    <p>VAIA Cover is made from injection-moulded Olive Matter biocomposite: bio-based TPU with wood fibres from olive trees felled by the Xylella disease.\n<br><br>\nEvery case is born from the scan of a real Apulian olive tree bark.\n\nIt is the actual pattern of trees that lived through one of the greatest environmental emergencies in the Mediterranean.\n<br><br>\nThe natural fibres emerge from the material, the grain remains visible, the feel stays warm and tactile.\n\nEvery cover model differs from the others because the bark it comes from was different too.<\/p>\n  <\/div>\n  <div class=\"section-hero__image\" style=\"aspect-ratio: 16\/9; overflow: hidden; font-size: 0; line-height: 0;\">\n    <iframe src=\"https:\/\/www.youtube.com\/embed\/l_fF0G67Ekw\" title=\"VAIA Cover \u2013 where it comes from\" allowfullscreen=\"\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" style=\"width:100%; height:100%; border:0; display:block; vertical-align:top;\"><\/iframe>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     2. OLIVE MATTER \u2014 THE MATERIAL\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-material\">\n  <div class=\"section-material__image\">\n    <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/14570Q5A7528-scaled.jpg\" alt=\"Olive Matter material detail \u2013 texture and grain of olive wood\">\n  <\/div>\n  <div class=\"section-material__text\">\n    <span class=\"eyebrow\">OLIVE MATTER\u2122<\/span>\n    <h2>The material that didn&#8217;t exist.<\/h2>\n    <p>For years we asked ourselves one question: what can the wood of olive trees struck by Xylella become?<\/p>\n\n    <span class=\"material-highlight\">The answer is Olive Matter\u2122.<\/span>\n\n    <p>A new biocomposite developed by VAIA that combines olive wood fibres and bio-based TPU to create a technical, durable material suited for everyday use.<\/p>\n\n    <div class=\"material-tagline\">\n      <span>It&#8217;s not just wood<\/span>\n      <span>It&#8217;s not just polymer<\/span>\n      <span>It&#8217;s something new<\/span>\n    <\/div>\n\n    <div class=\"material-pills\">\n      <span class=\"pill\">Bio-based TPU<\/span>\n      <span class=\"pill\">Olive fibres (Xylella)<\/span>\n      <span class=\"pill\">Antibacterial properties<\/span>\n      <span class=\"pill\">Injection moulding<\/span>\n      <span class=\"pill\">Up to 54% renewable<\/span>\n      <span class=\"pill\">100% Italian supply chain<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     3. TECHNICAL SPECIFICATIONS\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-specs\">\n  <div class=\"section-specs__header\">\n    <span class=\"label-small\">Technical detail<\/span>\n    <h2>Specifications<\/h2>\n  <\/div>\n  <table class=\"specs-table\">\n    <tbody>\n    <tr><td>Material<\/td><td><strong>&nbsp;Olive Matter<\/strong> \u2014 Bio-based TPU and olive fibres<\/td><\/tr>\n    <tr><td>Thickness<\/td><td><strong>&nbsp;1.8 mm<\/strong> back \u2014 <strong>2 mm<\/strong> sides<\/td><\/tr>\n    <tr><td>Screen protection<\/td><td>&nbsp;Raised edges on screen and camera<\/td><\/tr>\n    <tr><td>Properties<\/td><td><strong>&nbsp;With antibacterial properties<\/strong><\/td><\/tr>\n    <tr><td>Magnetic accessories<\/td><td>&nbsp;Not compatible with magnetic attachment \u2014 wireless charging is not affected<\/td><\/tr>\n    <tr><td>Production<\/td><td>&nbsp;Injection moulding \u2014 <strong>100% Italian supply chain<\/strong><\/td><\/tr>\n    <tr><td>Recyclability<\/td><td>&nbsp;100% recyclable<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     4. WIRELESS CHARGING\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-wireless\">\n  <div class=\"wireless-icon-block\">\n    <div class=\"wireless-icon\">\n      <svg viewBox=\"0 0 24 24\"><path d=\"M12 20h.01M5.6 10.6A8 8 0 0 1 18.4 10.6\"><\/path><path d=\"M2 7a12 12 0 0 1 20 0\"><\/path><path d=\"M8.9 14.1A4 4 0 0 1 15 14.1\"><\/path><\/svg>\n    <\/div>\n    <h3>Wireless<br>charging<\/h3>\n  <\/div>\n  <div class=\"wireless-text\">\n    <p>Wireless charging works normally with all standards. There is no need to remove the case.<\/p>\n    <p>The olive wood fibres in the Olive Matter material slightly reduce the magnetic attraction force: energy transmission is not compromised, but accessories that attach via magnetic pull \u2014 such as wallets and MagSafe mounts \u2014 are not compatible.<\/p>\n    <div class=\"wireless-note\">\n      <svg style=\"width:18px;height:18px;flex-shrink:0;margin-top:2px;stroke:var(--olive);fill:none;stroke-width:1.5;stroke-linecap:round\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"10\"><\/circle><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"><\/line><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"><\/line><\/svg>\n      <span><strong>Note:<\/strong> The very nature of the material \u2014 made from real olive wood fibres \u2014 is the reason for this characteristic. It is not a design flaw; it is the consequence of choosing an authentic material.<\/span>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     5. DESIGN \u2014 TEXTURE & PALETTE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-design\">\n  <div class=\"section-design__header\">\n    <span class=\"label-small\">Design<\/span>\n    <h2>Seven olive trees, seven textures.<br>Four colours of the Salento.<\/h2>\n    <p>Every phone model carries a different bark. Seven models, seven trees, seven unique textures.\nAt the centre of each case, the coordinates of the first Forest of Rebirth in Apulia are embossed in relief.<\/p>\n\n    <div class=\"design-tagline\">\n      <span>A real place<\/span>\n      <span>A real story<\/span>\n      <span>A real impact<\/span>\n    <\/div>\n  <\/div>\n\n  <!-- SID note -->\n  <div class=\"design-sid-note\">\n    <strong>Design developed with SID \u2014 Scuola Italiana Design di Padova<\/strong>, an academic institute recognised by the Italian Ministry of University and Research, part of the Galileo Visionary District, a research and innovation hub founded in 1991 as the first institution in north-eastern Italy specialised in industrial design.\n  <\/div>\n\n  <!-- Four identity elements -->\n  <div class=\"design-details\">\n    <div class=\"design-detail-item\">\n      <span class=\"detail-num\">01 \u2014 Texture<\/span>\n      <h4>The bark as surface<\/h4>\n      <p>The surface of every case reproduces the scan of a real Apulian olive tree bark. Each model carries a different texture: seven models, seven barks, seven unique surfaces. This is not a generic wood inspiration: it is the actual bark of those trees.<\/p>\n    <\/div>\n    <div class=\"design-detail-item\">\n      <span class=\"detail-num\">02 \u2014 Feel<\/span>\n      <h4>The touch of the material<\/h4>\n      <p>The olive wood fibres are visible and tangible. The eye sees the natural grain of the wood, the hand feels a warm, matte consistency \u2014 far from the coldness of conventional plastics. It is the physical presence of the material that tells the story of its origin.<\/p>\n    <\/div>\n    <div class=\"design-detail-item\">\n      <span class=\"detail-num\">03 \u2014 Coordinates<\/span>\n      <h4>A precise place embossed in relief<\/h4>\n      <p>At the centre of every case, the geographic coordinates of the first Forest of Rebirth in Apulia, in Specchia (LE) \u2014 39.94700\u00b0 N \/ 18.27292\u00b0 E \u2014 are engraved, accompanied by the embossed profile of the territory seen from above.<\/p>\n    <\/div>\n    <div class=\"design-detail-item\">\n      <span class=\"detail-num\">04 \u2014 Palette<\/span>\n      <h4>Four colours of the Salento<\/h4>\n      <p>Olive Green, Pastel Turquoise, Terra Brown, Light Ivory: four colours born from observing the Apulian landscape, from the red earth to the raking light on the Adriatic Sea.<\/p>\n    <\/div>\n  <\/div>\n\n  <!-- Colour palette -->\n  <p class=\"palette-title\">The palette<\/p>\n  <div class=\"palette-row\">\n    <div class=\"palette-swatch\">\n      <div class=\"swatch-color\" style=\"background: #6B6B3A;\"><\/div>\n      <div class=\"swatch-info\">\n        <div class=\"swatch-name\">Olive Green<\/div>\n        <div class=\"swatch-desc\">The colour of olive leaves in the Salento<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"palette-swatch\">\n      <div class=\"swatch-color\" style=\"background: #89C4C8;\"><\/div>\n      <div class=\"swatch-info\">\n        <div class=\"swatch-name\">Pastel Turquoise<\/div>\n        <div class=\"swatch-desc\">The colour of the Adriatic Sea<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"palette-swatch\">\n      <div class=\"swatch-color\" style=\"background: #6F4E37;\"><\/div>\n      <div class=\"swatch-info\">\n        <div class=\"swatch-name\">Terra Brown<\/div>\n        <div class=\"swatch-desc\">The colour of the Apulian earth<\/div>\n      <\/div>\n    <\/div>\n    <div class=\"palette-swatch\">\n      <div class=\"swatch-color\" style=\"background: #E8D8B0;\"><\/div>\n      <div class=\"swatch-info\">\n        <div class=\"swatch-name\">Light Ivory<\/div>\n        <div class=\"swatch-desc\">The colour of the golden expanses of the Salento<\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     6. EDITORIAL PHOTO GRID\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-editorial\">\n  <div class=\"editorial-grid\">\n\n    <!-- c1: LIFESTYLE OLIVE MATTER \u2014 tall left cell, spans 2 rows -->\n    <div class=\"editorial-cell ec-1\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-LIFESTYLE-OLIVE-MATTER-scaled.jpg\" alt=\"VAIA Cover \u2013 lifestyle Olive Matter\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">Lifestyle<\/span>\n        <div class=\"cap-text\">Olive Matter<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c2: text cell \u2014 VAIA philosophy -->\n    <div class=\"editorial-cell editorial-cell--text ec-2\">\n      <span class=\"eyebrow\">VAIA Philosophy<\/span>\n      <h3>&#8220;We regenerate<br>the Mediterranean<br>scrubland.&#8221;<\/h3>\n      <p>VAIA Cover is the first product of the Puglia Project. A project born to transform a collective loss into a new possibility. Every case directly contributes to the regeneration of Mediterranean scrubland in Specchia (LE). One square metre at a time.<\/p>\n    <\/div>\n\n    <!-- c3: OGNI GIORNO -->\n    <div class=\"editorial-cell ec-3\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-OGNI-GIORNO-scaled.jpg\" alt=\"VAIA Cover \u2013 every day\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">Detail<\/span>\n        <div class=\"cap-text\">Every day<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c4: SEMPRE CON TE -->\n    <div class=\"editorial-cell ec-4\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-SEMPRE-CON-TE-scaled.jpg\" alt=\"VAIA Cover \u2013 always with you\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">On the move<\/span>\n        <div class=\"cap-text\">Always with you<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c5: dark stat cell \u2014 1 m\u00b2 -->\n    <div class=\"editorial-cell editorial-cell--dark ec-5\" style=\"background: var(--terra);\">\n      <span class=\"eyebrow\" style=\"color: var(--terra-lt);\">Impact<\/span>\n      <div class=\"big-number\" style=\"font-size: clamp(32px,3.5vw,52px); margin-bottom:12px; color: var(--sabbia);\">1 m\u00b2<br>of scrubland<br>regenerated.<\/div>\n      <p style=\"color: rgba(232,223,192,0.8);\">For every case sold.<\/p>\n    <\/div>\n\n    <!-- c6: TRADIZIONE E INNOVAZIONE \u2014 wide cell -->\n    <div class=\"editorial-cell ec-6\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-TRADIZIONE-E-INNOVAZIONE-scaled.jpg\" alt=\"VAIA Cover \u2013 tradition and innovation\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">Material<\/span>\n        <div class=\"cap-text\">Tradition and innovation<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c7: text cell \u2014 coordinates -->\n    <div class=\"editorial-cell editorial-cell--text ec-7\">\n      <span class=\"eyebrow\">Engraved coordinates<\/span>\n      <h3>39.947\u00b0N<br>18.272\u00b0E<\/h3>\n      <p>Specchia (LE) \u2014 First Forest of Rebirth in Apulia. The same coordinates engraved on your case.<\/p>\n    <\/div>\n\n    <!-- c8: LEGGERO AUTENTICO \u2014 wide cell -->\n    <div class=\"editorial-cell ec-8\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/06\/TILE-LEGGERO-AUTENTICO-scaled.jpg\" alt=\"VAIA Cover \u2013 light, authentic\">\n      <div class=\"editorial-cell__caption\">\n        <span class=\"cap-label\">Every day<\/span>\n        <div class=\"cap-text\">Light, authentic<\/div>\n      <\/div>\n    <\/div>\n\n    <!-- c9: dark stat cell \u2014 100% Italian supply chain -->\n    <div class=\"editorial-cell editorial-cell--dark ec-9\" style=\"background: var(--mare);\">\n      <span class=\"eyebrow\" style=\"color: var(--crema);\">Made in Italy<\/span>\n      <div class=\"big-number\" style=\"font-size: clamp(28px,3vw,44px); margin-bottom:12px; color: var(--bianco);\">100%<br>Italian<br>supply chain.<\/div>\n      <p style=\"color: rgba(250,250,247,0.85);\">From Apulian olive wood to injection moulding.<\/p>\n    <\/div>\n\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     7. ENVIRONMENTAL IMPACT + APULIA STORY\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-impact\">\n  <div class=\"impact-intro\">\n    <span class=\"label-small\" style=\"color:var(--olive-lt);\">Impact<\/span>\n    <h2>Every case<br>regenerates 1 m\u00b2<br>of Mediterranean scrubland.<\/h2>\n    <p>The contribution is not symbolic. Every purchase directly supports the planting and restoration of Mediterranean scrubland in the first Forest of Rebirth in Apulia.\nThe same coordinates you find engraved on your case.<\/p>\n  <\/div>\n\n  <div class=\"impact-cards\">\n    <div class=\"impact-card\">\n      <div class=\"impact-card__number\">\n        <span>20M+<\/span>\n      <\/div>\n      <div class=\"impact-card__unit\">olive trees affected<\/div>\n      <div class=\"impact-card__desc\">Since the arrival of Xylella in 2013, over 20 million Apulian olive trees have been compromised. One of the most severe environmental emergencies in Europe.<\/div>\n    <\/div>\n    <div class=\"impact-card\">\n      <div class=\"impact-card__number\">\n        <span>1 m\u00b2<\/span>\n      <\/div>\n      <div class=\"impact-card__unit\">per case<\/div>\n      <div class=\"impact-card__desc\">Every case sold contributes to the reforestation of 1 m\u00b2 of Mediterranean scrubland in Specchia (LE), in the first Forest of Rebirth in Apulia.<\/div>\n    <\/div>\n    <div class=\"impact-card\">\n      <div class=\"impact-card__number\">\n        <span>100%<\/span>\n      <\/div>\n      <div class=\"impact-card__unit\">Made in Italy<\/div>\n      <div class=\"impact-card__desc\">Design developed with SID Scuola Italiana Design di Padova. Production entirely in Italy. The material is agricultural waste: fibres that would otherwise be destined for disposal.<\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"impact-story\">\n    <div class=\"impact-story__text\">\n      <h3>Why Apulia,<br>why now.<\/h3>\n      <p>For years we searched for a way to bring VAIA&#8217;s regenerative model to Apulia. We listened to farmers, scientists, institutions and ordinary people to understand together how to respond. Not to replace what was lost, but to let something new grow.<\/p>\n      <p>It is from this listening that Olive Matter was born: a material that unites what seemed like waste with the most advanced research into bio-based polymers. A union between territorial identity and technical innovation.<\/p>\n      <p>Olive wood from trees struck by Xylella can be moved safely, in compliance with EFSA regulations and those of the Apulia Region. We transform it instead of disposing of it.<\/p>\n      <div class=\"coords-block\">\n        <span class=\"coords-label\">Forest of Rebirth \u2014 Specchia (LE)<\/span>\n        <span class=\"coords-value\">39\u00b057&#8217;N \u00b7 18\u00b010&#8217;E<\/span>\n      <\/div>\n    <\/div>\n    <div class=\"impact-story__image\">\n      <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/0440Q5A5062-1-1-scaled.jpg\" alt=\"Landscape with Apulian olive trees \u2013 Salento, mix of dead trees and living vegetation\">\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     8. MAP \u2014 FOREST OF REBIRTH\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-map\">\n  <div class=\"section-map__header\">\n    <div>\n      <span class=\"label-small\">FOREST OF REBIRTH<\/span>\n      <h2>The coordinates you carry in your pocket.<\/h2>\n    <\/div>\n    <p>The same coordinates engraved on every case. A real place, a measurable impact.<\/p>\n  <\/div>\n  <div class=\"map-wrapper\">\n    <iframe src=\"https:\/\/www.google.com\/maps\/embed?pb=!1m18!1m12!1m3!1d12168.5!2d18.2845!3d39.9472!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x13453a7b8a6a23f1%3A0x3e3c3e3c3e3c3e3c!2sSpecchia%2C%20LE%2C%20Italia!5e0!3m2!1sit!2sit!4v1717156800000!5m2!1sit!2sit\" allowfullscreen=\"\" loading=\"lazy\" referrerpolicy=\"no-referrer-when-downgrade\" title=\"Specchia (LE) \u2013 Forest of Rebirth\"><\/iframe>\n  <\/div>\n  <div class=\"map-coords-bar\">\n    <span class=\"coord-place\">First Forest of Rebirth in Apulia \u2014 Specchia (LE), Italy<\/span>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     9. MADE IN ITALY SUPPLY CHAIN\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-supply\">\n  <div class=\"supply-heading\">\n    <span class=\"label-small\">Supply chain<\/span>\n    <h2>From agricultural waste<br>to a new material.<\/h2>\n  <\/div>\n  <div class=\"supply-inner\">\n    <div class=\"supply-block\">\n      <div class=\"supply-block__num\">01<\/div>\n      <div class=\"supply-block__title\">Raw material from agricultural waste<\/div>\n      <div class=\"supply-block__desc\">Wood fibres from olive trees felled by Xylella are collected directly from the affected Apulian farms. Material that would otherwise be destined for disposal.<\/div>\n    <\/div>\n    <div class=\"supply-block\">\n      <div class=\"supply-block__num\">02<\/div>\n      <div class=\"supply-block__title\">Research and design<\/div>\n      <div class=\"supply-block__desc\">The Olive Matter biocomposite was developed in collaboration with SID \u2014 Scuola Italiana Design di Padova. From material formulation to bark scanning: everything is born in Italy.<\/div>\n    <\/div>\n    <div class=\"supply-block\">\n      <div class=\"supply-block__num\">03<\/div>\n      <div class=\"supply-block__title\">Italian injection moulding production<\/div>\n      <div class=\"supply-block__desc\">The cases are produced by injection moulding in Italian facilities. Every texture is reproduced with millimetre precision from the original bark scan.<\/div>\n    <\/div>\n  <\/div>\n<\/section>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     10. RELATED PRODUCTS CAROUSEL\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<section class=\"section-carousel\">\n  <div class=\"carousel-header\">\n    <span class=\"label-small\">The VAIA family<\/span>\n    <h2>Buy them together<\/h2>\n  <\/div>\n  <div class=\"carousel-wrapper\">\n    <button class=\"carousel-btn carousel-btn--prev\" aria-label=\"Previous\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><polyline points=\"15 18 9 12 15 6\"><\/polyline><\/svg>\n    <\/button>\n    <div class=\"carousel-track-outer\" id=\"carouselOuter\">\n      <div class=\"carousel-track\" id=\"carouselTrack\">\n        <div class=\"prod-card\">\n          <a href=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cube\/\" class=\"prod-card__img-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_CUBE.jpg\" alt=\"VAIA Cube\" loading=\"lazy\">\n          <\/a>\n          <div class=\"prod-card__body\">\n            <p class=\"prod-card__name\">VAIA Cube<\/p>\n            <p class=\"prod-card__desc\">Natural acoustic amplifier. 1 Cube = 1 tree in the Dolomites.<\/p>\n            <div class=\"prod-card__footer\">\n              <span class=\"prod-card__price\">\u20ac62.00<\/span>\n              <a href=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cube\/\" class=\"prod-card__btn\">Discover<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"prod-card\">\n          <a href=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cube-essential-aria\/\" class=\"prod-card__img-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/09\/Untitled-design.jpg\" alt=\"VAIA Cube Essential Aria\" loading=\"lazy\">\n          <\/a>\n          <div class=\"prod-card__body\">\n            <p class=\"prod-card__name\">VAIA Cube Essential Aria<\/p>\n            <p class=\"prod-card__desc\">Natural acoustic amplifier. 1 Cube = 1 tree in the Dolomites.<\/p>\n            <div class=\"prod-card__footer\">\n              <span class=\"prod-card__price\">\u20ac89.00<\/span>\n              <a href=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cube-essential-aria\/\" class=\"prod-card__btn\">Discover<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"prod-card\">\n          <a href=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cube-imperfetto\/\" class=\"prod-card__img-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_IMPERFETTO.jpg\" alt=\"VAIA Cube Imperfetto\" loading=\"lazy\">\n          <\/a>\n          <div class=\"prod-card__body\">\n            <p class=\"prod-card__name\">VAIA Cube Imperfetto<\/p>\n            <p class=\"prod-card__desc\">The iconic Cube, made unique by natural spots and imperfections in the wood.<\/p>\n            <div class=\"prod-card__footer\">\n              <span class=\"prod-card__price\">\u20ac74.00<\/span>\n              <a href=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cube-imperfetto\/\" class=\"prod-card__btn\">Discover<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n        <div class=\"prod-card\">\n          <a href=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cube-joy\/\" class=\"prod-card__img-wrap\">\n            <img decoding=\"async\" src=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2022\/11\/665x755_JOY-2-1.jpg\" alt=\"VAIA Cube JOY\" loading=\"lazy\">\n          <\/a>\n          <div class=\"prod-card__body\">\n            <p class=\"prod-card__name\">VAIA Cube JOY<\/p>\n            <p class=\"prod-card__desc\">VAIA wood amplifier, available in various vibrant colours.<\/p>\n            <div class=\"prod-card__footer\">\n              <span class=\"prod-card__price\">\u2014<\/span>\n              <a href=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cube-joy\/\" class=\"prod-card__btn\">Discover<\/a>\n            <\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n    <button class=\"carousel-btn carousel-btn--next\" aria-label=\"Next\">\n      <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"><polyline points=\"9 18 15 12 9 6\"><\/polyline><\/svg>\n    <\/button>\n  <\/div>\n  <div class=\"carousel-dots\" id=\"carouselDots\"><\/div>\n<\/section>\n\n<script>\n\/* \u2500\u2500 CAROUSEL with touch\/drag support \u2500\u2500 *\/\n(function() {\n  const track = document.getElementById('carouselTrack');\n  const outer = document.getElementById('carouselOuter');\n  const dotsContainer = document.getElementById('carouselDots');\n  const cards = track.querySelectorAll('.prod-card');\n  const prevBtn = document.querySelector('.carousel-btn--prev');\n  const nextBtn = document.querySelector('.carousel-btn--next');\n  let current = 0;\n\n  function visibleCount() {\n    return window.innerWidth <= 560 ? 1 : window.innerWidth <= 900 ? 2 : 4;\n  }\n\n  function maxIndex() {\n    return Math.max(0, cards.length - visibleCount());\n  }\n\n  function cardWidth() {\n    return cards[0].offsetWidth + 20; \/\/ 20 = gap\n  }\n\n  \/\/ Build dots\n  const dots = [];\n  for (let i = 0; i <= maxIndex(); i++) {\n    const d = document.createElement('button');\n    d.className = 'carousel-dot' + (i === 0 ? ' active' : '');\n    d.addEventListener('click', () => goTo(i));\n    dotsContainer.appendChild(d);\n    dots.push(d);\n  }\n\n  function goTo(index) {\n    current = Math.max(0, Math.min(index, maxIndex()));\n    track.style.transform = 'translateX(-' + (current * cardWidth()) + 'px)';\n    dots.forEach((d, i) => d.classList.toggle('active', i === current));\n    if (prevBtn) prevBtn.disabled = current === 0;\n    if (nextBtn) nextBtn.disabled = current >= maxIndex();\n  }\n\n  if (prevBtn) prevBtn.addEventListener('click', () => goTo(current - 1));\n  if (nextBtn) nextBtn.addEventListener('click', () => goTo(current + 1));\n  if (prevBtn) prevBtn.disabled = true;\n\n  window.addEventListener('resize', () => goTo(Math.min(current, maxIndex())));\n\n  \/* \u2500\u2500 TOUCH \/ DRAG \u2500\u2500 *\/\n  let dragStartX = 0;\n  let dragCurrentX = 0;\n  let isDragging = false;\n  let startOffset = 0;\n  const DRAG_THRESHOLD = 8;\n  const SWIPE_MIN = 40;\n\n  function getEventX(e) {\n    return e.touches ? e.touches[0].clientX : e.clientX;\n  }\n\n  function onDragStart(e) {\n    dragStartX = getEventX(e);\n    dragCurrentX = dragStartX;\n    isDragging = false;\n    startOffset = current * cardWidth();\n  }\n\n  function onDragMove(e) {\n    if (e.touches && Math.abs(getEventX(e) - dragStartX) < DRAG_THRESHOLD &#038;&#038; !isDragging) return;\n\n    const diff = getEventX(e) - dragStartX;\n\n    if (e.touches &#038;&#038; Math.abs(diff) < Math.abs(e.touches[0].clientY - (e.touches[0].clientY))) return;\n\n    if (!isDragging &#038;&#038; Math.abs(diff) > DRAG_THRESHOLD) {\n      isDragging = true;\n      track.classList.add('is-dragging');\n    }\n\n    if (!isDragging) return;\n\n    if (e.cancelable) e.preventDefault();\n\n    dragCurrentX = getEventX(e);\n    const liveOffset = startOffset - diff;\n\n    const minOffset = 0;\n    const maxOffset = maxIndex() * cardWidth();\n    let clampedOffset;\n    if (liveOffset < minOffset) {\n      clampedOffset = minOffset - Math.sqrt(Math.abs(liveOffset - minOffset)) * 3;\n    } else if (liveOffset > maxOffset) {\n      clampedOffset = maxOffset + Math.sqrt(Math.abs(liveOffset - maxOffset)) * 3;\n    } else {\n      clampedOffset = liveOffset;\n    }\n\n    track.style.transform = 'translateX(-' + clampedOffset + 'px)';\n  }\n\n  function onDragEnd(e) {\n    if (!isDragging) return;\n\n    track.classList.remove('is-dragging');\n    isDragging = false;\n\n    const diff = dragCurrentX - dragStartX;\n\n    if (Math.abs(diff) >= SWIPE_MIN) {\n      if (diff < 0) {\n        goTo(current + 1);\n      } else {\n        goTo(current - 1);\n      }\n    } else {\n      goTo(current);\n    }\n  }\n\n  outer.addEventListener('touchstart', onDragStart, { passive: true });\n  outer.addEventListener('touchmove', onDragMove, { passive: false });\n  outer.addEventListener('touchend', onDragEnd, { passive: true });\n  outer.addEventListener('touchcancel', onDragEnd, { passive: true });\n\n  outer.addEventListener('mousedown', onDragStart);\n  document.addEventListener('mousemove', (e) => { if (dragStartX) onDragMove(e); });\n  document.addEventListener('mouseup', (e) => { if (dragStartX) { onDragEnd(e); dragStartX = 0; } });\n\n  outer.addEventListener('click', (e) => {\n    if (Math.abs(dragCurrentX - dragStartX) > DRAG_THRESHOLD) {\n      e.preventDefault();\n    }\n  }, true);\n})();\n\n\n<\/script>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The bark of an olive tree.<br \/>Around your phone.<br \/><span style=\"font-size: 17px;\"><br \/>The first olive biocomposite phone cover that regenerates the Mediterranean maquis.<\/span><\/p>\n","protected":false},"featured_media":57966,"template":"","meta":{"_acf_changed":true,"_crdt_document":"{\"document\":\"AACqCYaQ8eUbuvaZkxTZ3Mq8AQbJg+zTDACvj66NG6TTrt8Br4+ujRuvhbPcGKTTrt8BwvfW6ggAs+mxlhjk067fARKz6bGWGKTTrt8Bs+mxlhik067fAbPpsZYYpNOu3wGz6bGWGKTTrt8Bs+mxlhik067fAbPpsZYY5NOu3wEAjovXYOTTrt8BBvPpsZYYALOluP4XhtDM9xXk067fAQC69pmTFI6L12Ck067fAfr2mZMUFcmD7NMMAeTTrt8BAPr2mZMUB6TTrt8BuvaZkxSk067fAbr2mZMUpNOu3wGy+Ir0D6TTrt8BiYPs0wzZ3Mq8AQbz6bGWGALZ3Mq8AQLz6bGWGALZ3Mq8AQGJg+zTDNncyrwBCIL31uoIs+mxlhiC99bqCPPpsZYYAJnv2qADzovXYAXZ79qgAwDOi9dgAJnv2qADhJ3C5gKk067fAYSdwuYC+vaZkxQApNOu3wHOi9dgA5nv2qADjovXYNnv2qADA+TTrt8BAM6L12AApNOu3wGZ79qgA86L12ABpNOu3wGOi9dgpNOu3wGOi9dgpNOu3wGOi9dgpNOu3wGOi9dgpNOu3wGOi9dgpNOu3wGOi9dgpNOu3wGOi9dgpNOu3wGOi9dgpNOu3wGOi9dgpNOu3wGOi9dgpNOu3wHOi9dgAaTTrt8BjovXYKTTrt8BjovXYKTTrt8BjovXYKTTrt8BjovXYKTTrt8BjovXYKTTrt8BjovXYKTTrt8BjovXYOTTrt8BAo6L12Dk067fARLOi9dgAKTTrt8BjovXYKTTrt8BjovXYKTTrt8BjovXYKTTrt8BjovXYKTTrt8BjovXYKTTrt8BjovXYKTTrt8BzovXYAGk067fAc6L12ADpNOu3wGOi9dgpNOu3wHOi9dgA6TTrt8BzovXYAGk067fAc6L12ABpNOu3wGOi9dgpNOu3wHOi9dgAaTTrt8BzovXYAWk067fAY6L12Ck067fAc6L12ABpNOu3wHOi9dgBOTTrt8BBc6L12AA5NOu3wEAzovXYALk067fAQDOi9dgAeTTrt8BBI6L12Dk067fAQCOi9dgpNOu3wHOi9dgAOTTrt8BA86L12AB5NOu3wFxmdzKvAHz6bGWGACZ3Mq8AbPpsZYYmdzKvAGz6bGWGM6L12AD74Wz3BgAs+mxlhjk067fAQCZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wGZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wGZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wGZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wGZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wGZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wGZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wGZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wGZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wGZ3Mq8AaTTrt8BmdzKvAGk067fAZncyrwBpNOu3wHZ3Mq8AQDOi9dgYLIFjAGougWWBIgEuEvagwYC7gwEjmDQYAKynAEEkAfWBagFlgH2DgQCqAHElgECBCoCBJiWAarhAuDhAkIOQgikCwLAA\/ieAQKajwG+5wLa+wMBAQgASAIEAgYIAQIKAgECCLgLAwCqjQECwpoBUAgQQg5CBgKIAYgD9gSS\/AqKFogYjBjMwAsw7AIUrgIFAALiAqyIDQLa\/Qy+rgaQjwOsDZgNukDwogrGBIgEArTRAo6nAU4SyAEC\/psDHpqcA8anAfi7Ae6ZAZoB8gEDAC6M1QKEatDfAkoYUgLcYJ5gsJoDBPKaAw6YmgPo9QIDACACsgECtgEChAQCyIIBjIMBBoABKqoBNOYOngqAAaStAtSoAgQGAwMJAAoCCAIGBAMBBI6nAsSnAgIEAgQDAICnAvimAoSnAgL4pgICvKYCAvKmArymAvimAoanAsKnAgKEpwL6pgK8pgIGAvqmAgK6pgL0pgK4pgIY5gHCpwIGqAGWpQLgpgK8pgIM9qYChKcCAsKnAgwCCrqmAizg3wIiArIjArb2AgYE8OECAQIKAgEC1BW6FMwEBAYDAwi4BgT0BgqgBwzqBwiaCNgIBgQClAnSCQIEhgYEggE4BIQBxgXGAQKEAwT0BqoHhAH+AQSSBNgCqgKWAQQCxAYEmgYe\/gTcmwHuAhS8vgMDAP6\/AwK2A4SNAbSqBC6oA4gEuEuwApoFhAGSIpwJtIUDoAKMC74CmgqgApo+mAyISbICmBOQA7gUiAOEFboCup0BnAMCtiHqhw0CzgEKDgIUjgucLqJBgC2YNLoWrGGwXowJBgIFAAMABgQCBAMACAMBCAMCBgMABQEOAhAGAggADAIcFhwWHBYcFwGCDbQNihCSDAECCgEBSgDMO447DARI3Du4PP7wA5wuokGALZg0uhasYbBegAK2uwWWBIgEuEvQ6gQC\/AeyCNQQognWB+YBqAECAQTQBegOLgEAtPYJihaIGIwYzMALMOwCFKi6BpCPA6wNmA26QMa9BPLpBbQBkl+qmgP6+gMBCZz8AwEE4gHa7AKAAaytAgEFDAAMAgEABgIACgAOAQAEAAIGAgEAAgAEGO6oAgcAAL6mAuCmArymAgz2pgKEpwLCpwICDLqmAu6mAgSipwLyqwKgAQQGAwMIAQAICgEAAggAAgYEAgADAASGBgSCATjaCKIJOgLmAx6cA64BAsAFtgXYDaIJuAMC5AYemgbyoAEBAKK8AwLArwIBHPyEAZwuokGALZg0uhasYbBeuQQoAKgAxAOoASEAoQCoACEAqAChASEAwQXEBMEAxAHBAMQAoQIhAKEAIQEAAKEEIQHEACEAxwAhACgAIQAnACEBJwChAKgAKAAHACEAKAEnAQcAIQAoACEAJwEhAKgDKACoACgBqAAoAKgAKACoACEARADBAMQAIQCoACEAxAehBAAAoQIAAMQEIQChAKgAoQEhAMEAoQAAAKEBAAChAgAAoQEAAMEAIQGoAMQAIQCoAKEBgQDBAKEBAAChAQAAoQGEAAAAoQTBAAAARADBAMQAwQDEAMEAxADBAMQAwQDEAMEBxALBAMQAwQEAAMQBgRTBAMQAwQDEAMEAxADBAMQAwQDEAsEAxADBAcQBwQDEAMEAxALBAsQAwQHEE6EDqAAoAKEABwAhACgBJwEHACEAKAAhACcBAADBAAAAoQDBH6ECwQqhAcEEIQDEBIQAoQIAAMQAwQDEAsEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxADBAMQAwQDEAMEAxAChASEDJwAEAIEAhACBACcAAQCBBycABACBAIQAgQCEAYEAhAGBA4QAgQCEAIEAhACBAIQAgQKEAYEAhACBAIQAgQCEAiEAKAAnACEAKAEhACgAJwABAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIEAAACBAAAAgQAAAIcAIQAoACEBJwAhAycAgQAAAKgAIQEAAKECIQAAAKEBwZq2A6i0A3N0YXRldmVyc2lvbiAucHJvZC1jYXJkX19mb290ZXIgewogICAgZmxleC13cmFwOiB3cmFwOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgICAgLmNhcm91c2VsLWJ0biB7IGRpc3BsYXk6IG5vbmU7IH0KICAgIC8qIE1vYmlsZToga2VpbiBLYXJ1c3NlbGwsIFJhc3RlciBtaXQgMiBTcGFsdGVuIMOXIDIgUmVpaGVuICovCiAgICAuY2Fyb3VzZWwtdHJhY2stb3V0ZXIgeyBvdmVyZmxvdzogdmlzaWJsZTsgfQogICAgLmNhcm91c2VsLXRyYWNrIHsKICAgICAgZGlzcGxheTogZ3JpZDsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICBnYXA6IDE2cHg7CiAgICAgIHRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50OwogICAgfQogICAgLnByb2QtY2FyZCB7IGZsZXg6IG5vbmU7IHdpZHRoOiBhdXRvOyBtaW4td2lkdGg6IDA7IH0KICAgIC5jYXJvdXNlbC1kb3RzIHsgZGlzcGxheTogbm9uZTsgfSAgfQpzdGF0ZXZlcnNpb25zdGF0ZXZlcnNpb25zdGF0ZXZlcnNpb25iYXJrIG8gYW4gb2x2ZSB0ZWUuPGJyPkFyb3VuZCB5b3VyIHBob25lLjxicj5UaGUgZmlyb3JpZ2luYWxDb250ZW50b3JpZ2luYWxDb250ZW50Y29udGVudHN0YXRldmVyc2lvbnN0YXRldmVyc2lvbjwhLS0gL3dwOmNvbHVtbnMgLS0+c3RhdGV2ZXJzaW9uY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNjb250ZW50ZHJvcENhcGlubmVyQmxvY2tzaXNTdGFja2VkT25Nb2JpbGVjbGllbnRJZGlzVmFsaWRuYW1lYXR0cmlidXRlc2lubmVyQmxvY2tzY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc3RleHR0ZXh0b3JpZ2luYWxDb250ZW50YWxpZ25vcmlnaW5hbENvbnRlbnRvcmlnaW5hbENvbnRlbnRjb250ZW50PCEtLSB3cDpjb2x1bW5zIC0tPgpbaHVic3BvdCB0eXBlPSJmb3JtIiBwb3J0YWw9IjE0MzQxNjYxNSIgaWQ9ImIxNWQ5OTdiLTEwNDItNDY5My1hZWEyLWM1ZGYxZjQzMGZkYyIgdmVyc2lvbj0idjQiXQo8IS0tIC93cDpzaG9ydGNvZGUgLS0+PC9kaXY+CjwhLS0gL3dwOmNvbHVtbiAtLT48L2Rpdj4KPCEtLSAvd3A6Y29sdW1ucyAtLT4KCnN0YXRldmVyc2lvbnN0YXRldmVyc2lvbiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2VuL3Byb2R1Y3QvdmFpYS1jdWJlLyIgY2xhc3M9InByb2QtY2FyZF9faW1nLXdyYXAiPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9lbi9wcm9kdWN0L3ZhaWEtY3ViZS1lc3NlbnRpYWwtYXJpYS8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUtaW1wZXJmZXR0by8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUtam95LyIgY2xhc3M9InByb2QtY2FyZF9faW1nLXdyYXAiPgogLyAvICAvICAgIDxpZnJhbWUgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9sX2ZGMEc2N0VrdyIgdGl0bGU9IlZBSUEgQ292ZXIg4oCTIHdoZXJlIGl0IGNvbWVzIGZyb20iIGFsbG93ZnVsbHNjcmVlbj0iIiBhbGxvdz0iYWNjZWxlcm9tZXRlcjsgYXV0b3BsYXk7IGNsaXBib2FyZC13cml0ZTsgZW5jcnlwdGVkLW1lZGlhOyBneXJvc2NvcGU7IHBpY3R1cmUtaW4tcGljdHVyZSIgc3R5bGU9IndpZHRoOjEwMCU7IGhlaWdodDoxMDAlOyBib3JkZXI6MDsgZGlzcGxheTpibG9jazsgdmVydGljYWwtYWxpZ246dG9wOyI+PC9pZnJhbWU+CiAgICAgICAgPHNwYW4+MjBNKzwvc3Bhbj4KICAgICAgICA8c3Bhbj4xIG3Csjwvc3Bhbj4KICAgICAgICA8c3Bhbj4xMDAlPC9zcGFuPgogICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vbWFwcy9lbWJlZD9wYj0hMW0xOCExbTEyITFtMyExZDEyMTY4LjUhMmQxOC4yODQ1ITNkMzkuOTQ3MiEybTMhMWYwITJmMCEzZjAhM20yITFpMTAyNCEyaTc2OCE0ZjEzLjEhM20zITFtMiExczB4MTM0NTNhN2I4YTZhMjNmMSUzQTB4M2UzYzNlM2MzZTNjM2UzYyEyc1NwZWNjaGlhJTJDJTIwTEUlMkMlMjBJdGFsaWEhNWUwITNtMiExc2l0ITJzaXQhNHYxNzE3MTU2ODAwMDAwITVtMiExc2l0ITJzaXQiIGFsbG93ZnVsbHNjcmVlbj0iIiBsb2FkaW5nPSJsYXp5IiByZWZlcnJlcnBvbGljeT0ibm8tcmVmZXJyZXItd2hlbi1kb3duZ3JhZGUiIHRpdGxlPSJTcGVjY2hpYSAoTEUpIOKAkyBGb3Jlc3Qgb2YgUmViaXJ0aCI+PC9pZnJhbWU+CnN0YXRldmVyc2lvbnN0YXRldmVyc2lvbnN0YXRldmVyc2lvbmFuY2hvcjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbnMiPjwhLS0gd3A6Y29sdW1uIHsiYW5jaG9yIjoicmVxdWVzdGVkbW9kZWwifSAtLT4KPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIiBpZD0icmVxdWVzdGVkbW9kZWwiPjwhLS0gd3A6c2hvcnRjb2RlIC0tPgpzdGF0ZXZlcnNpb25vdmVyPCEtLSB3cDpjb2x1bW5zIC0tPgo8ZGl2IGNsYXNzPSJ3cC1ibG9jay1jb2x1bW5zIj48IS0tIHdwOmNvbHVtbiAtLT4KPCEtLSAvd3A6Y29sdW1uIC0tPjwvZGl2Pgp7ImFsaWduIjoiZnVsbCJ9ICBhbGlnbmZ1bGwgaSBvYmlvcG9zdCBvY3JnbmVyYSBoZXRhbmVhVGhlZnJzdGxpZXBobmVvdnJ0aGF0IGV0ZXN0ZU1uIG1hcXVpc2lzU3RhY2tlZE9uTW9iaWxlY2xpZW50SWRpc1ZhbGlkbmFtZWF0dHJpYnV0ZXNpbm5lckJsb2Nrc2NsaWVudElkaXNWYWxpZG5hbWVhdHRyaWJ1dGVzaW5uZXJCbG9ja3NzdGF0ZXZlcnNpb248c3BhbiBzdHlsZT0iZm9udC1zaXplOjE3cHg7Ij48YnI+c2FuPC9wPjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbiI+PCEtLSB3cDpodG1sIC0tPgo8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KPHRpdGxlPlZBSUEgQ292ZXIg4oCTIFByb2R1Y3QgUGFnZTwvdGl0bGU+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW49IiI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RE0rU2Fuczp3Z2h0QDMwMDs0MDA7NTAwJmFtcDtkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vYXBpLmZvbnRzaGFyZS5jb20vdjIvY3NzP2ZbXT1jbGFzaC1kaXNwbGF5QDQwMCw1MDAsNjAwLDcwMCZhbXA7ZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgoKPHN0eWxlPgogICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0KCiAgOnJvb3QgewogICAgLS1vbGl2ZTogICAgIzZCNkIzQTsKICAgIC0tb2xpdmUtbHQ6ICNBOEE4NkE7CiAgICAtLW9saXZlLWRrOiAjM0MzQzFFOwogICAgLS1tYXJlOiAgICAgIzVCOURBNDsKICAgIC0tbWFyZS1sdDogICM5RUNGRDQ7CiAgICAtLXRlcnJhOiAgICAjN0E1QzNBOwogICAgLS10ZXJyYS1sdDogI0MwOTg3MDsKICAgIC0tc2FiYmlhOiAgICNFOERGQzA7CiAgICAtLXNhYmJpYS1kazojQzRCODhBOwogICAgLS1jcmVtYTogICAgI0Y1RjFFODsKICAgIC0tYmlhbmNvOiAgICNGQUZBRjc7CiAgICAtLXRlc3RvOiAgICAjMUExQTE0OwogICAgLS10ZXN0by1tOiAgIzRBNEEzODsKICAgIC0tdGVzdG8tbDogICM4QThBNzI7CiAgICAtLWJvcmRvOiAgICByZ2JhKDEwNywxMDcsNTgsMC4xOCk7CiAgICAtLWJvcmRvLW06ICByZ2JhKDEwNywxMDcsNTgsMC4zNSk7CgogICAgLS1mb250LXNhbnM6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1ib2R5LCB2YXIoLS13cC1mb250LWZhbWlseSwgJ0RNIFNhbnMnLCBzYW5zLXNlcmlmKSk7CiAgICAtLWZvbnQtc2VyaWY6ICdDbGFzaERpc3BsYXktVmFyaWFibGUnLCAnQ2xhc2ggRGlzcGxheScsIHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1oZWFkaW5nLCBzYW5zLXNlcmlmKTsKICB9CgogIGJvZHkgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgfQoKICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOwogIH0KCiAgLnNlcmlmIHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOyB9CiAgLmxhYmVsLXNtYWxsIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IEhFUk8gREVTQ1JJUFRJT04g4pSA4pSAICovCiAgLnNlY3Rpb24taGVybyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dyA4MHB4OwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogNjRweDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUpOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA0dncsIDUycHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjE1OwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgcCB7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzU7CiAgICBtYXgtd2lkdGg6IDQ4Y2g7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnNlY3Rpb24taGVyb19faW1hZ2UgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGFzcGVjdC1yYXRpbzogNC81OwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICB9CiAgLnNlY3Rpb24taGVyb19faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CgogIC8qIOKUgOKUgCBTRUNUSU9OOiBPTElWRSBNQVRURVIg4pSA4pSAICovCiAgLnNlY3Rpb24tbWF0ZXJpYWwgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUtZGspOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDgwcHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgewogICAgYXNwZWN0LXJhdGlvOiAxLzE7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgb3JkZXI6IC0xOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLnNlY3Rpb24tbWF0ZXJpYWxfX3RleHQgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX190ZXh0IGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgMy41dncsIDQ0cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX190ZXh0IHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC44KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS44OwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLm1hdGVyaWFsLWhpZ2hsaWdodCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogMjRweCAwOwogICAgcGFkZGluZzogMjBweCAyNHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgxNjgsMTY4LDEwNiwwLjEyKTsKICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tb2xpdmUtbHQpOwogICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDJ2dywgMjRweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBsaW5lLWhlaWdodDogMS4zOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogIH0KCiAgLm1hdGVyaWFsLXRhZ2xpbmUgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIG1hcmdpbjogMjhweCAwIDA7CiAgfQogIC5tYXRlcmlhbC10YWdsaW5lIHNwYW4gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAydncsIDIycHgpOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwwLDAsMC4zNSk7CiAgfQoKICAubWF0ZXJpYWwtcGlsbHMgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIGdhcDogMTBweDsKICAgIG1hcmdpbi10b3A6IDMycHg7CiAgfQogIC5waWxsIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4OwogICAgcGFkZGluZzogN3B4IDE2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2OCwxNjgsMTA2LDAuMzUpOwogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucGlsbDo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogNnB4OwogICAgaGVpZ2h0OiA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmbGV4LXNocmluazogMDsKICB9CgogIC5idG4tb2xpdmUtbWF0dGVyIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgbWFyZ2luLXRvcDogMjhweDsKICAgIHBhZGRpbmc6IDEzcHggMjhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlLWx0KTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIGNvbG9yIDAuMnM7CiAgfQogIC5idG4tb2xpdmUtbWF0dGVyOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IFRFQ0hOSUNBTCBTUEVDUyDilIDilIAgKi8KICAuc2VjdGlvbi1zcGVjcyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgcGFkZGluZzogOTZweCA1dnc7CiAgfQogIC5zZWN0aW9uLXNwZWNzX19oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogNTZweDsKICB9CiAgLnNlY3Rpb24tc3BlY3NfX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICB9CiAgLnNwZWNzLXRhYmxlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3BlY3MtdGFibGUgdHIgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICB9CiAgLnNwZWNzLXRhYmxlIHRyOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgfQogIC5zcGVjcy10YWJsZSB0ZCB7CiAgICBwYWRkaW5nOiAxOHB4IDA7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9CiAgLnNwZWNzLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIHdpZHRoOiAzOCU7CiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OwogIH0KICAuc3BlY3MtdGFibGUgdGQ6bGFzdC1jaGlsZCB7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogIH0KICAuc3BlY3MtdGFibGUgdGQgc3Ryb25nIHsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IFdJUkVMRVNTIOKUgOKUgCAqLwogIC5zZWN0aW9uLXdpcmVsZXNzIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBwYWRkaW5nOiA3MnB4IDV2dzsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7CiAgICBnYXA6IDY0cHg7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAxNnB4OwogIH0KICAud2lyZWxlc3MtaWNvbiB7CiAgICB3aWR0aDogNTZweDsKICAgIGhlaWdodDogNTZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgfQogIC53aXJlbGVzcy1pY29uIHN2ZyB7IHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7IGZpbGw6IG5vbmU7IHN0cm9rZTogdmFyKC0tc2FiYmlhKTsgc3Ryb2tlLXdpZHRoOiAxLjU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIGgzIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjJweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICB9CiAgLndpcmVsZXNzLXRleHQgcCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLndpcmVsZXNzLW5vdGUgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMTJweDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjYpOwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1vbGl2ZSk7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC53aXJlbGVzcy1ub3RlIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7IH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IFRFWFRVUkUgJiBDT0xPUlMg4pSA4pSAICovCiAgLnNlY3Rpb24tZGVzaWduIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA1NnB4OwogICAgbWF4LXdpZHRoOiA2MGNoOwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgfQogIC5zZWN0aW9uLWRlc2lnbl9faGVhZGVyIHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuZGVzaWduLXRhZ2xpbmUgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgfQogIC5kZXNpZ24tdGFnbGluZSBzcGFuIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyMnB4KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMDcsMTA3LDU4LDAuMTgpOwogIH0KCiAgLmRlc2lnbi1kZXRhaWxzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDQ4cHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogICAgcGFkZGluZzogNDhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDEwcHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gLmRldGFpbC1udW0gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICB9CiAgLmRlc2lnbi1kZXRhaWwtaXRlbSBoNCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gcCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZGVzaWduLXNpZC1ub3RlIHsKICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7CiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7CiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLW9saXZlLWx0KTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTA3LDEwNyw1OCwwLjA1KTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmRlc2lnbi1zaWQtbm90ZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tb2xpdmUtZGspOyBmb250LXdlaWdodDogNTAwOyB9CgogIC50ZXh0dXJlLXJvdyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7CiAgICBnYXA6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAudGV4dHVyZS1jYXJkIHsKICAgIGFzcGVjdC1yYXRpbzogMy80OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogIH0KICAudGV4dHVyZS1jYXJkX19sYWJlbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgyNiwyNiwyMCwwLjU1KTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOwogICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgei1pbmRleDogMjsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAudGV4dHVyZS1jYXJkIC5pbWctcGxhY2Vob2xkZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogOHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC5wYWxldHRlLXRpdGxlIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tYm90dG9tOiAyOHB4OwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogIH0KICAucGFsZXR0ZS1yb3cgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5wYWxldHRlLXN3YXRjaCB7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogIH0KICAuc3dhdGNoLWNvbG9yIHsKICAgIGhlaWdodDogNzJweDsKICB9CiAgLnN3YXRjaC1pbmZvIHsKICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgfQogIC5zd2F0Y2gtbmFtZSB7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3dhdGNoLWRlc2MgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAvKiDilIDilIAgU0VDVElPTjogRURJVE9SSUFMIFBIT1RPIEdSSUQg4pSA4pSAICovCiAgLnNlY3Rpb24tZWRpdG9yaWFsIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXRlc3RvKTsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5lZGl0b3JpYWwtZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgIGdyaWQtdGVtcGxhdGUtcm93czogNDIwcHggNDIwcHggMzQwcHggNDIwcHg7CiAgICBnYXA6IDA7CiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOgogICAgICAiYzEgYzIgYzMiCiAgICAgICJjMSBjNCBjNSIKICAgICAgImM2IGM2IGM3IgogICAgICAiYzggYzggYzkiOwogIH0KICAuZWMtMSB7IGdyaWQtYXJlYTogYzE7IH0KICAuZWMtMiB7IGdyaWQtYXJlYTogYzI7IH0KICAuZWMtMyB7IGdyaWQtYXJlYTogYzM7IH0KICAuZWMtNCB7IGdyaWQtYXJlYTogYzQ7IH0KICAuZWMtNSB7IGdyaWQtYXJlYTogYzU7IH0KICAuZWMtNiB7IGdyaWQtYXJlYTogYzY7IH0KICAuZWMtNyB7IGdyaWQtYXJlYTogYzc7IH0KICAuZWMtOCB7IGdyaWQtYXJlYTogYzg7IH0KICAuZWMtOSB7IGdyaWQtYXJlYTogYzk7IH0KICAuZWRpdG9yaWFsLWNlbGwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICB9CiAgLmVkaXRvcmlhbC1jZWxsIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlOwogIH0KICAuZWRpdG9yaWFsLWNlbGw6aG92ZXIgaW1nIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgcGFkZGluZzogMjBweCAyNHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDI2LDI2LDIwLDAuNzUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiAuY2FwLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIC5jYXAtdGV4dCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDEuNXZ3LCAyMHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiA0OHB4IDQwcHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tdGV4dCAuZXllYnJvdyB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlKTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLXRleHQgaDMgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAyLjV2dywgMzJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc1OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICBwYWRkaW5nOiA0MHB4OwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLWRhcmsgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS1kYXJrIC5iaWctbnVtYmVyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoNDhweCwgNXZ3LCA3MnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayBwIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNyk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IEVOVklST05NRU5UQUwgSU1QQUNUIOKUgOKUgCAqLwogIC5zZWN0aW9uLWltcGFjdCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogIH0KICAuaW1wYWN0LWludHJvIHsKICAgIG1heC13aWR0aDogNjRjaDsKICAgIG1hcmdpbi1ib3R0b206IDY0cHg7CiAgfQogIC5pbXBhY3QtaW50cm8gaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgzMHB4LCA0dncsIDQ4cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogIH0KICAuaW1wYWN0LWludHJvIHAgewogICAgZm9udC1zaXplOiAxN3B4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC44KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS44OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5pbXBhY3QtY2FyZHMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICBnYXA6IDI0cHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAuaW1wYWN0LWNhcmQgewogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzIsMjIzLDE5MiwwLjE1KTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIHBhZGRpbmc6IDM2cHggMzJweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CiAgLmltcGFjdC1jYXJkX19udW1iZXIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiA1NnB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICB9CiAgLmltcGFjdC1jYXJkX191bml0IHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmltcGFjdC1jYXJkX19kZXNjIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNzUpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmltcGFjdC1zdG9yeSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgZ2FwOiA2NHB4OwogICAgYWxpZ24taXRlbXM6IHN0YXJ0OwogICAgcGFkZGluZy10b3A6IDU2cHg7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMzIsMjIzLDE5MiwwLjE1KTsKICB9CiAgLmltcGFjdC1zdG9yeV9fdGV4dCBoMyB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDIycHgsIDIuNXZ3LCAzMnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICBsaW5lLWhlaWdodDogMS4zOwogIH0KICAuaW1wYWN0LXN0b3J5X190ZXh0IHAgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC43NSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIG1hcmdpbi1ib3R0b206IDE0cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmNvb3Jkcy1ibG9jayB7CiAgICBtYXJnaW4tdG9wOiAzMnB4OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiA0cHg7CiAgfQogIC5jb29yZHMtbGFiZWwgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmNvb3Jkcy12YWx1ZSB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICB9CiAgLmltcGFjdC1zdG9yeV9faW1hZ2UgewogICAgYXNwZWN0LXJhdGlvOiA0LzU7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogIH0KICAuaW1wYWN0LXN0b3J5X19pbWFnZSBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KCiAgLmNvdW50dXAtbnVtYmVyIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB9CgogIC8qIOKUgOKUgCBHT09HTEUgTUFQUyDilIDilIAgKi8KICAuc2VjdGlvbi1tYXAgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmlhbmNvKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogIH0KICAuc2VjdGlvbi1tYXBfX2hlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogMzJweDsKICB9CiAgLnNlY3Rpb24tbWFwX19oZWFkZXIgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAzdncsIDM2cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tdG9wOiA4cHg7CiAgfQogIC5zZWN0aW9uLW1hcF9faGVhZGVyIHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIG1heC13aWR0aDogNDBjaDsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAubWFwLXdyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICAgIGhlaWdodDogNDgwcHg7CiAgfQogIC5tYXAtd3JhcHBlciBpZnJhbWUgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBib3JkZXI6IDA7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLm1hcC1jb29yZHMtYmFyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAzMnB4OwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIHBhZGRpbmc6IDE2cHggMjRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC1pdGVtIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAzcHg7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtbGFiZWwgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbCk7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC12YWwgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtc2VwYXJhdG9yIHsKICAgIHdpZHRoOiAxcHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ib3Jkby1tKTsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC1wbGFjZSB7CiAgICBmbGV4OiAxOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IE1BREUgSU4gSVRBTFkgLyBTVVBQTFkgQ0hBSU4g4pSA4pSAICovCiAgLnNlY3Rpb24tc3VwcGx5IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDgwcHggNXZ3OwogIH0KICAuc3VwcGx5LWhlYWRpbmcgewogICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICB9CiAgLnN1cHBseS1oZWFkaW5nIC5sYWJlbC1zbWFsbCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgfQogIC5zdXBwbHktaGVhZGluZyBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI2cHgsIDN2dywgMzZweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBtYXJnaW46IDA7CiAgfQogIC5zdXBwbHktaW5uZXIgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7CiAgICBnYXA6IDQwcHg7CiAgfQogIC5zdXBwbHktYmxvY2sgewogICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLW9saXZlLWx0KTsKICAgIHBhZGRpbmctdG9wOiAyOHB4OwogIH0KICAuc3VwcGx5LWJsb2NrX19udW0gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiA0MHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICBsaW5lLWhlaWdodDogMTsKICB9CiAgLnN1cHBseS1ibG9ja19fdGl0bGUgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0byk7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zdXBwbHktYmxvY2tfX2Rlc2MgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC8qIOKUgOKUgCBSRUxBVEVEIFBST0RVQ1RTIENBUk9VU0VMIOKUgOKUgCAqLwogIC5zZWN0aW9uLWNhcm91c2VsIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgcGFkZGluZzogODBweCA1dncgOTZweDsKICB9CiAgLmNhcm91c2VsLWhlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA0OHB4OwogIH0KICAuY2Fyb3VzZWwtaGVhZGVyIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgM3Z3LCAzOHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICB9CiAgLmNhcm91c2VsLXdyYXBwZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5jYXJvdXNlbC10cmFjay1vdXRlciB7CiAgICBmbGV4OiAxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICB9CiAgLmNhcm91c2VsLXRyYWNrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDIwcHg7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7CiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogIH0KICAuY2Fyb3VzZWwtdHJhY2suaXMtZHJhZ2dpbmcgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9CiAgLnByb2QtY2FyZCB7CiAgICBmbGV4OiAwIDAgY2FsYygyNSUgLSAxNXB4KTsKICAgIG1pbi13aWR0aDogMDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgfQogIC5wcm9kLWNhcmRfX2ltZy13cmFwIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYXNwZWN0LXJhdGlvOiAzLzQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDogdmFyKC0tY3JlbWEpOwogIH0KICAucHJvZC1jYXJkX19pbWctd3JhcCBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7CiAgfQogIC5wcm9kLWNhcmQ6aG92ZXIgLnByb2QtY2FyZF9faW1nLXdyYXAgaW1nIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQogIC5wcm9kLWNhcmRfX2JvZHkgewogICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXg6IDE7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogIH0KICAucHJvZC1jYXJkX19uYW1lIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19kZXNjIHsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZmxleDogMTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogOHB4OwogICAgbWFyZ2luLXRvcDogYXV0bzsKICB9CiAgLnByb2QtY2FyZF9fcHJpY2UgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnByb2QtY2FyZF9fYnRuIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHBhZGRpbmc6IDhweCAxOHB4OwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tb2xpdmUpOwogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7CiAgICBmb250LXNpemU6IDEycHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4xZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlKTsKICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgY29sb3IgMC4yczsKICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnByb2QtY2FyZF9fYnRuOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlKTsKICAgIGNvbG9yOiB2YXIoLS1iaWFuY28pOwogIH0KICAuY2Fyb3VzZWwtYnRuIHsKICAgIGZsZXgtc2hyaW5rOiAwOwogICAgd2lkdGg6IDQwcHg7CiAgICBoZWlnaHQ6IDQwcHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkby1tKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMnMsIGJhY2tncm91bmQgMC4yczsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5jYXJvdXNlbC1idG4gc3ZnIHsKICAgIHdpZHRoOiAxOHB4OwogICAgaGVpZ2h0OiAxOHB4OwogICAgc3Ryb2tlOiB2YXIoLS1vbGl2ZS1kayk7CiAgfQogIC5jYXJvdXNlbC1idG46aG92ZXIgewogICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1vbGl2ZSk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgfQogIC5jYXJvdXNlbC1idG46ZGlzYWJsZWQgewogICAgb3BhY2l0eTogMC4zOwogICAgY3Vyc29yOiBkZWZhdWx0OwogIH0KICAuY2Fyb3VzZWwtZG90cyB7CiAgICBkaXNwbGF5OiBmbGV4OwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBnYXA6IDhweDsKICAgIG1hcmdpbi10b3A6IDMycHg7CiAgfQogIC5jYXJvdXNlbC1kb3QgewogICAgd2lkdGg6IDZweDsKICAgIGhlaWdodDogNnB4OwogICAgYm9yZGVyLXJhZGl1czogNTAlOwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhLWRrKTsKICAgIGJvcmRlcjogbm9uZTsKICAgIHBhZGRpbmc6IDA7CiAgICBjdXJzb3I6IHBvaW50ZXI7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIHRyYW5zZm9ybSAwLjJzOwogIH0KICAuY2Fyb3VzZWwtZG90LmFjdGl2ZSB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZSk7CiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNCk7CiAgfQoKICAvKiDilIDilIAgUkVTUE9OU0lWRSDilIDilIAgKi8KICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHsKICAgIC5zZWN0aW9uLWhlcm8sCiAgICAuc2VjdGlvbi1tYXRlcmlhbCwKICAgIC5zZWN0aW9uLWltcGFjdCAuaW1wYWN0LXN0b3J5LAogICAgLnNlY3Rpb24td2lyZWxlc3MgewogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgZ2FwOiA0MHB4OwogICAgfQogICAgLnNlY3Rpb24tbWF0ZXJpYWxfX2ltYWdlIHsgb3JkZXI6IDA7IH0KICAgIC5pbXBhY3QtY2FyZHMgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQogICAgLnN1cHBseS1pbm5lciB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDMycHg7IH0KICAgIC5wYWxldHRlLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0KICAgIC50ZXh0dXJlLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7IH0KICAgIC5zZWN0aW9uLXdpcmVsZXNzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IH0KICAgIC5lZGl0b3JpYWwtZ3JpZCB7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvOwogICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOgogICAgICAgICJjMSBjMiIKICAgICAgICAiYzMgYzQiCiAgICAgICAgImM1IGM1IgogICAgICAgICJjNiBjNyIKICAgICAgICAiYzggYzgiCiAgICAgICAgImM5IGM5IjsKICAgIH0KICAgIC5kZXNpZ24tZGV0YWlscyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyBnYXA6IDMycHg7IHBhZGRpbmc6IDMycHggMjRweDsgfQogICAgLnNlY3Rpb24tbWFwX19oZWFkZXIgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfQogICAgLnNlY3Rpb24tbWFwX19oZWFkZXIgcCB7IHRleHQtYWxpZ246IGxlZnQ7IH0KICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHsKICAgIC5lZGl0b3JpYWwtZ3JpZCB7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOgogICAgICAgICJjMSIgImMyIiAiYzMiICJjNCIgImM1IiAiYzYiICJjNyIgImM4IiAiYzkiOwogICAgfQogICAgLnBhbGV0dGUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogIH0KPC9zdHlsZT4KCgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAxLiBIRVJPIERFU0NSSVBUSU9OCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24taGVybyI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZXJvX190ZXh0Ij4KICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5WQUlBIENvdmVyIOKAlCBXaGVyZSBpdCBjb21lcyBmcm9tPC9zcGFuPgogICAgPGgyPlRoZSBiYXJrIG9mIGFuIG9saXZlIHRyZWU8YnI+dGhhdCBubyBsb25nZXIgZXhpc3RzLDxicj5hcm91bmQgeW91ciBwaG9uZS48L2gyPgogICAgPHA+VkFJQSBDb3ZlciBpcyBtYWRlIGZyb20gaW5qZWN0aW9uLW1vdWxkZWQgT2xpdmUgTWF0dGVyIGJpb2NvbXBvc2l0ZTogYmlvLWJhc2VkIFRQVSB3aXRoIHdvb2QgZmlicmVzIGZyb20gb2xpdmUgdHJlZXMgZmVsbGVkIGJ5IHRoZSBYeWxlbGxhIGRpc2Vhc2UuCjxicj48YnI+CkV2ZXJ5IGNhc2UgaXMgYm9ybiBmcm9tIHRoZSBzY2FuIG9mIGEgcmVhbCBBcHVsaWFuIG9saXZlIHRyZWUgYmFyay4KCkl0IGlzIHRoZSBhY3R1YWwgcGF0dGVybiBvZiB0cmVlcyB0aGF0IGxpdmVkIHRocm91Z2ggb25lIG9mIHRoZSBncmVhdGVzdCBlbnZpcm9ubWVudGFsIGVtZXJnZW5jaWVzIGluIHRoZSBNZWRpdGVycmFuZWFuLgo8YnI+PGJyPgpUaGUgbmF0dXJhbCBmaWJyZXMgZW1lcmdlIGZyb20gdGhlIG1hdGVyaWFsLCB0aGUgZ3JhaW4gcmVtYWlucyB2aXNpYmxlLCB0aGUgZmVlbCBzdGF5cyB3YXJtIGFuZCB0YWN0aWxlLgoKRXZlcnkgY292ZXIgbW9kZWwgZGlmZmVycyBmcm9tIHRoZSBvdGhlcnMgYmVjYXVzZSB0aGUgYmFyayBpdCBjb21lcyBmcm9tIHdhcyBkaWZmZXJlbnQgdG9vLjwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWhlcm9fX2ltYWdlIiBzdHlsZT0iYXNwZWN0LXJhdGlvOiAxNi85OyBvdmVyZmxvdzogaGlkZGVuOyBmb250LXNpemU6IDA7IGxpbmUtaGVpZ2h0OiAwOyI+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgMi4gT0xJVkUgTUFUVEVSIOKAlCBUSEUgTUFURVJJQUwK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1tYXRlcmlhbCI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UiPgogICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDUvMTQ1NzBRNUE3NTI4LXNjYWxlZC5qcGciIGFsdD0iT2xpdmUgTWF0dGVyIG1hdGVyaWFsIGRldGFpbCDigJMgdGV4dHVyZSBhbmQgZ3JhaW4gb2Ygb2xpdmUgd29vZCI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1tYXRlcmlhbF9fdGV4dCI+CiAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyI+T0xJVkUgTUFUVEVS4oSiPC9zcGFuPgogICAgPGgyPlRoZSBtYXRlcmlhbCB0aGF0IGRpZG4ndCBleGlzdC48L2gyPgogICAgPHA+Rm9yIHllYXJzIHdlIGFza2VkIG91cnNlbHZlcyBvbmUgcXVlc3Rpb246IHdoYXQgY2FuIHRoZSB3b29kIG9mIG9saXZlIHRyZWVzIHN0cnVjayBieSBYeWxlbGxhIGJlY29tZT88L3A+CgogICAgPHNwYW4gY2xhc3M9Im1hdGVyaWFsLWhpZ2hsaWdodCI+VGhlIGFuc3dlciBpcyBPbGl2ZSBNYXR0ZXLihKIuPC9zcGFuPgoKICAgIDxwPkEgbmV3IGJpb2NvbXBvc2l0ZSBkZXZlbG9wZWQgYnkgVkFJQSB0aGF0IGNvbWJpbmVzIG9saXZlIHdvb2QgZmlicmVzIGFuZCBiaW8tYmFzZWQgVFBVIHRvIGNyZWF0ZSBhIHRlY2huaWNhbCwgZHVyYWJsZSBtYXRlcmlhbCBzdWl0ZWQgZm9yIGV2ZXJ5ZGF5IHVzZS48L3A+CgogICAgPGRpdiBjbGFzcz0ibWF0ZXJpYWwtdGFnbGluZSI+CiAgICAgIDxzcGFuPkl0J3Mgbm90IGp1c3Qgd29vZDwvc3Bhbj4KICAgICAgPHNwYW4+SXQncyBub3QganVzdCBwb2x5bWVyPC9zcGFuPgogICAgICA8c3Bhbj5JdCdzIHNvbWV0aGluZyBuZXc8L3NwYW4+CiAgICA8L2Rpdj4KCiAgICA8ZGl2IGNsYXNzPSJtYXRlcmlhbC1waWxscyI+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj5CaW8tYmFzZWQgVFBVPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+T2xpdmUgZmlicmVzIChYeWxlbGxhKTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPkFudGliYWN0ZXJpYWwgcHJvcGVydGllczwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPkluamVjdGlvbiBtb3VsZGluZzwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPlVwIHRvIDU0JSByZW5ld2FibGU8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj4xMDAlIEl0YWxpYW4gc3VwcGx5IGNoYWluPC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgMy4gVEVDSE5JQ0FMIFNQRUNJRklDQVRJT05TCuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tc3BlY3MiPgogIDxkaXYgY2xhc3M9InNlY3Rpb24tc3BlY3NfX2hlYWRlciI+CiAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPlRlY2huaWNhbCBkZXRhaWw8L3NwYW4+CiAgICA8aDI+U3BlY2lmaWNhdGlvbnM8L2gyPgogIDwvZGl2PgogIDx0YWJsZSBjbGFzcz0ic3BlY3MtdGFibGUiPgogICAgPHRib2R5PgogICAgPHRyPjx0ZD5NYXRlcmlhbDwvdGQ+PHRkPjxzdHJvbmc+Jm5ic3A7T2xpdmUgTWF0dGVyPC9zdHJvbmc+IOKAlCBCaW8tYmFzZWQgVFBVIGFuZCBvbGl2ZSBmaWJyZXM8L3RkPjwvdHI+CiAgICA8dHI+PHRkPlRoaWNrbmVzczwvdGQ+PHRkPjxzdHJvbmc+Jm5ic3A7MS44IG1tPC9zdHJvbmc+IGJhY2sg4oCUIDxzdHJvbmc+MiBtbTwvc3Ryb25nPiBzaWRlczwvdGQ+PC90cj4KICAgIDx0cj48dGQ+U2NyZWVuIHByb3RlY3Rpb248L3RkPjx0ZD4mbmJzcDtSYWlzZWQgZWRnZXMgb24gc2NyZWVuIGFuZCBjYW1lcmE8L3RkPjwvdHI+CiAgICA8dHI+PHRkPlByb3BlcnRpZXM8L3RkPjx0ZD48c3Ryb25nPiZuYnNwO1dpdGggYW50aWJhY3RlcmlhbCBwcm9wZXJ0aWVzPC9zdHJvbmc+PC90ZD48L3RyPgogICAgPHRyPjx0ZD5NYWduZXRpYyBhY2Nlc3NvcmllczwvdGQ+PHRkPiZuYnNwO05vdCBjb21wYXRpYmxlIHdpdGggbWFnbmV0aWMgYXR0YWNobWVudCDigJQgd2lyZWxlc3MgY2hhcmdpbmcgaXMgbm90IGFmZmVjdGVkPC90ZD48L3RyPgogICAgPHRyPjx0ZD5Qcm9kdWN0aW9uPC90ZD48dGQ+Jm5ic3A7SW5qZWN0aW9uIG1vdWxkaW5nIOKAlCA8c3Ryb25nPjEwMCUgSXRhbGlhbiBzdXBwbHkgY2hhaW48L3N0cm9uZz48L3RkPjwvdHI+CiAgICA8dHI+PHRkPlJlY3ljbGFiaWxpdHk8L3RkPjx0ZD4mbmJzcDsxMDAlIHJlY3ljbGFibGU8L3RkPjwvdHI+CiAgICA8L3Rib2R5PgogIDwvdGFibGU+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNC4gV0lSRUxFU1MgQ0hBUkdJTkcK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi13aXJlbGVzcyI+CiAgPGRpdiBjbGFzcz0id2lyZWxlc3MtaWNvbi1ibG9jayI+CiAgICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy1pY29uIj4KICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGQ9Ik0xMiAyMGguMDFNNS42IDEwLjZBOCA4IDAgMCAxIDE4LjQgMTAuNiI+PC9wYXRoPjxwYXRoIGQ9Ik0yIDdhMTIgMTIgMCAwIDEgMjAgMCI+PC9wYXRoPjxwYXRoIGQ9Ik04LjkgMTQuMUE0IDQgMCAwIDEgMTUgMTQuMSI+PC9wYXRoPjwvc3ZnPgogICAgPC9kaXY+CiAgICA8aDM+V2lyZWxlc3M8YnI+Y2hhcmdpbmc8L2gzPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9IndpcmVsZXNzLXRleHQiPgogICAgPHA+V2lyZWxlc3MgY2hhcmdpbmcgd29ya3Mgbm9ybWFsbHkgd2l0aCBhbGwgc3RhbmRhcmRzLiBUaGVyZSBpcyBubyBuZWVkIHRvIHJlbW92ZSB0aGUgY2FzZS48L3A+CiAgICA8cD5UaGUgb2xpdmUgd29vZCBmaWJyZXMgaW4gdGhlIE9saXZlIE1hdHRlciBtYXRlcmlhbCBzbGlnaHRseSByZWR1Y2UgdGhlIG1hZ25ldGljIGF0dHJhY3Rpb24gZm9yY2U6IGVuZXJneSB0cmFuc21pc3Npb24gaXMgbm90IGNvbXByb21pc2VkLCBidXQgYWNjZXNzb3JpZXMgdGhhdCBhdHRhY2ggdmlhIG1hZ25ldGljIHB1bGwg4oCUIHN1Y2ggYXMgd2FsbGV0cyBhbmQgTWFnU2FmZSBtb3VudHMg4oCUIGFyZSBub3QgY29tcGF0aWJsZS48L3A+CiAgICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy1ub3RlIj4KICAgICAgPHN2ZyBzdHlsZT0id2lkdGg6MThweDtoZWlnaHQ6MThweDtmbGV4LXNocmluazowO21hcmdpbi10b3A6MnB4O3N0cm9rZTp2YXIoLS1vbGl2ZSk7ZmlsbDpub25lO3N0cm9rZS13aWR0aDoxLjU7c3Ryb2tlLWxpbmVjYXA6cm91bmQiIHZpZXdCb3g9IjAgMCAyNCAyNCI+PGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iMTAiPjwvY2lyY2xlPjxsaW5lIHgxPSIxMiIgeTE9IjgiIHgyPSIxMiIgeTI9IjEyIj48L2xpbmU+PGxpbmUgeDE9IjEyIiB5MT0iMTYiIHgyPSIxMi4wMSIgeTI9IjE2Ij48L2xpbmU+PC9zdmc+CiAgICAgIDxzcGFuPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIHZlcnkgbmF0dXJlIG9mIHRoZSBtYXRlcmlhbCDigJQgbWFkZSBmcm9tIHJlYWwgb2xpdmUgd29vZCBmaWJyZXMg4oCUIGlzIHRoZSByZWFzb24gZm9yIHRoaXMgY2hhcmFjdGVyaXN0aWMuIEl0IGlzIG5vdCBhIGRlc2lnbiBmbGF3OyBpdCBpcyB0aGUgY29uc2VxdWVuY2Ugb2YgY2hvb3NpbmcgYW4gYXV0aGVudGljIG1hdGVyaWFsLjwvc3Bhbj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDUuIERFU0lHTiDigJQgVEVYVFVSRSAmIFBBTEVUVEUK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1kZXNpZ24iPgogIDxkaXYgY2xhc3M9InNlY3Rpb24tZGVzaWduX19oZWFkZXIiPgogICAgPHNwYW4gY2xhc3M9ImxhYmVsLXNtYWxsIj5EZXNpZ248L3NwYW4+CiAgICA8aDI+U2V2ZW4gb2xpdmUgdHJlZXMsIHNldmVuIHRleHR1cmVzLjxicj5Gb3VyIGNvbG91cnMgb2YgdGhlIFNhbGVudG8uPC9oMj4KICAgIDxwPkV2ZXJ5IHBob25lIG1vZGVsIGNhcnJpZXMgYSBkaWZmZXJlbnQgYmFyay4gU2V2ZW4gbW9kZWxzLCBzZXZlbiB0cmVlcywgc2V2ZW4gdW5pcXVlIHRleHR1cmVzLgpBdCB0aGUgY2VudHJlIG9mIGVhY2ggY2FzZSwgdGhlIGNvb3JkaW5hdGVzIG9mIHRoZSBmaXJzdCBGb3Jlc3Qgb2YgUmViaXJ0aCBpbiBBcHVsaWEgYXJlIGVtYm9zc2VkIGluIHJlbGllZi48L3A+CgogICAgPGRpdiBjbGFzcz0iZGVzaWduLXRhZ2xpbmUiPgogICAgICA8c3Bhbj5BIHJlYWwgcGxhY2U8L3NwYW4+CiAgICAgIDxzcGFuPkEgcmVhbCBzdG9yeTwvc3Bhbj4KICAgICAgPHNwYW4+QSByZWFsIGltcGFjdDwvc3Bhbj4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8IS0tIFNJRCBub3RlIC0tPgogIDxkaXYgY2xhc3M9ImRlc2lnbi1zaWQtbm90ZSI+CiAgICA8c3Ryb25nPkRlc2lnbiBkZXZlbG9wZWQgd2l0aCBTSUQg4oCUIFNjdW9sYSBJdGFsaWFuYSBEZXNpZ24gZGkgUGFkb3ZhPC9zdHJvbmc+LCBhbiBhY2FkZW1pYyBpbnN0aXR1dGUgcmVjb2duaXNlZCBieSB0aGUgSXRhbGlhbiBNaW5pc3RyeSBvZiBVbml2ZXJzaXR5IGFuZCBSZXNlYXJjaCwgcGFydCBvZiB0aGUgR2FsaWxlbyBWaXNpb25hcnkgRGlzdHJpY3QsIGEgcmVzZWFyY2ggYW5kIGlubm92YXRpb24gaHViIGZvdW5kZWQgaW4gMTk5MSBhcyB0aGUgZmlyc3QgaW5zdGl0dXRpb24gaW4gbm9ydGgtZWFzdGVybiBJdGFseSBzcGVjaWFsaXNlZCBpbiBpbmR1c3RyaWFsIGRlc2lnbi4KICA8L2Rpdj4KCiAgPCEtLSBGb3VyIGlkZW50aXR5IGVsZW1lbnRzIC0tPgogIDxkaXYgY2xhc3M9ImRlc2lnbi1kZXRhaWxzIj4KICAgIDxkaXYgY2xhc3M9ImRlc2lnbi1kZXRhaWwtaXRlbSI+CiAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbnVtIj4wMSDigJQgVGV4dHVyZTwvc3Bhbj4KICAgICAgPGg0PlRoZSBiYXJrIGFzIHN1cmZhY2U8L2g0PgogICAgICA8cD5UaGUgc3VyZmFjZSBvZiBldmVyeSBjYXNlIHJlcHJvZHVjZXMgdGhlIHNjYW4gb2YgYSByZWFsIEFwdWxpYW4gb2xpdmUgdHJlZSBiYXJrLiBFYWNoIG1vZGVsIGNhcnJpZXMgYSBkaWZmZXJlbnQgdGV4dHVyZTogc2V2ZW4gbW9kZWxzLCBzZXZlbiBiYXJrcywgc2V2ZW4gdW5pcXVlIHN1cmZhY2VzLiBUaGlzIGlzIG5vdCBhIGdlbmVyaWMgd29vZCBpbnNwaXJhdGlvbjogaXQgaXMgdGhlIGFjdHVhbCBiYXJrIG9mIHRob3NlIHRyZWVzLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjAyIOKAlCBGZWVsPC9zcGFuPgogICAgICA8aDQ+VGhlIHRvdWNoIG9mIHRoZSBtYXRlcmlhbDwvaDQ+CiAgICAgIDxwPlRoZSBvbGl2ZSB3b29kIGZpYnJlcyBhcmUgdmlzaWJsZSBhbmQgdGFuZ2libGUuIFRoZSBleWUgc2VlcyB0aGUgbmF0dXJhbCBncmFpbiBvZiB0aGUgd29vZCwgdGhlIGhhbmQgZmVlbHMgYSB3YXJtLCBtYXR0ZSBjb25zaXN0ZW5jeSDigJQgZmFyIGZyb20gdGhlIGNvbGRuZXNzIG9mIGNvbnZlbnRpb25hbCBwbGFzdGljcy4gSXQgaXMgdGhlIHBoeXNpY2FsIHByZXNlbmNlIG9mIHRoZSBtYXRlcmlhbCB0aGF0IHRlbGxzIHRoZSBzdG9yeSBvZiBpdHMgb3JpZ2luLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjAzIOKAlCBDb29yZGluYXRlczwvc3Bhbj4KICAgICAgPGg0PkEgcHJlY2lzZSBwbGFjZSBlbWJvc3NlZCBpbiByZWxpZWY8L2g0PgogICAgICA8cD5BdCB0aGUgY2VudHJlIG9mIGV2ZXJ5IGNhc2UsIHRoZSBnZW9ncmFwaGljIGNvb3JkaW5hdGVzIG9mIHRoZSBmaXJzdCBGb3Jlc3Qgb2YgUmViaXJ0aCBpbiBBcHVsaWEsIGluIFNwZWNjaGlhIChMRSkg4oCUIDM5Ljk0NzAwwrAgTiAvIDE4LjI3MjkywrAgRSDigJQgYXJlIGVuZ3JhdmVkLCBhY2NvbXBhbmllZCBieSB0aGUgZW1ib3NzZWQgcHJvZmlsZSBvZiB0aGUgdGVycml0b3J5IHNlZW4gZnJvbSBhYm92ZS48L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImRlc2lnbi1kZXRhaWwtaXRlbSI+CiAgICAgIDxzcGFuIGNsYXNzPSJkZXRhaWwtbnVtIj4wNCDigJQgUGFsZXR0ZTwvc3Bhbj4KICAgICAgPGg0PkZvdXIgY29sb3VycyBvZiB0aGUgU2FsZW50bzwvaDQ+CiAgICAgIDxwPk9saXZlIEdyZWVuLCBQYXN0ZWwgVHVycXVvaXNlLCBUZXJyYSBCcm93biwgTGlnaHQgSXZvcnk6IGZvdXIgY29sb3VycyBib3JuIGZyb20gb2JzZXJ2aW5nIHRoZSBBcHVsaWFuIGxhbmRzY2FwZSwgZnJvbSB0aGUgcmVkIGVhcnRoIHRvIHRoZSByYWtpbmcgbGlnaHQgb24gdGhlIEFkcmlhdGljIFNlYS48L3A+CiAgICA8L2Rpdj4KICA8L2Rpdj4KCiAgPCEtLSBDb2xvdXIgcGFsZXR0ZSAtLT4KICA8cCBjbGFzcz0icGFsZXR0ZS10aXRsZSI+VGhlIHBhbGV0dGU8L3A+CiAgPGRpdiBjbGFzcz0icGFsZXR0ZS1yb3ciPgogICAgPGRpdiBjbGFzcz0icGFsZXR0ZS1zd2F0Y2giPgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtY29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjNkI2QjNBOyI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtbmFtZSI+T2xpdmUgR3JlZW48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtZGVzYyI+VGhlIGNvbG91ciBvZiBvbGl2ZSBsZWF2ZXMgaW4gdGhlIFNhbGVudG88L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhbGV0dGUtc3dhdGNoIj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWNvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDogIzg5QzRDODsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtaW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLW5hbWUiPlBhc3RlbCBUdXJxdW9pc2U8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtZGVzYyI+VGhlIGNvbG91ciBvZiB0aGUgQWRyaWF0aWMgU2VhPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWxldHRlLXN3YXRjaCI+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1jb2xvciIgc3R5bGU9ImJhY2tncm91bmQ6ICM2RjRFMzc7Ij48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWluZm8iPgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1uYW1lIj5UZXJyYSBCcm93bjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5UaGUgY29sb3VyIG9mIHRoZSBBcHVsaWFuIGVhcnRoPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWxldHRlLXN3YXRjaCI+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1jb2xvciIgc3R5bGU9ImJhY2tncm91bmQ6ICNFOEQ4QjA7Ij48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWluZm8iPgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1uYW1lIj5MaWdodCBJdm9yeTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5UaGUgY29sb3VyIG9mIHRoZSBnb2xkZW4gZXhwYW5zZXMgb2YgdGhlIFNhbGVudG88L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICA2LiBFRElUT1JJQUwgUEhPVE8gR1JJRArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWVkaXRvcmlhbCI+CiAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWdyaWQiPgoKICAgIDwhLS0gYzE6IExJRkVTVFlMRSBPTElWRSBNQVRURVIg4oCUIHRhbGwgbGVmdCBjZWxsLCBzcGFucyAyIHJvd3MgLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlYy0xIj4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVElMRS1MSUZFU1RZTEUtT0xJVkUtTUFUVEVSLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgbGlmZXN0eWxlIE9saXZlIE1hdHRlciI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5MaWZlc3R5bGU8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPk9saXZlIE1hdHRlcjwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzI6IHRleHQgY2VsbCDigJQgVkFJQSBwaGlsb3NvcGh5IC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLXRleHQgZWMtMiI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5WQUlBIFBoaWxvc29waHk8L3NwYW4+CiAgICAgIDxoMz4iV2UgcmVnZW5lcmF0ZTxicj50aGUgTWVkaXRlcnJhbmVhbjxicj5zY3J1YmxhbmQuIjwvaDM+CiAgICAgIDxwPlZBSUEgQ292ZXIgaXMgdGhlIGZpcnN0IHByb2R1Y3Qgb2YgdGhlIFB1Z2xpYSBQcm9qZWN0LiBBIHByb2plY3QgYm9ybiB0byB0cmFuc2Zvcm0gYSBjb2xsZWN0aXZlIGxvc3MgaW50byBhIG5ldyBwb3NzaWJpbGl0eS4gRXZlcnkgY2FzZSBkaXJlY3RseSBjb250cmlidXRlcyB0byB0aGUgcmVnZW5lcmF0aW9uIG9mIE1lZGl0ZXJyYW5lYW4gc2NydWJsYW5kIGluIFNwZWNjaGlhIChMRSkuIE9uZSBzcXVhcmUgbWV0cmUgYXQgYSB0aW1lLjwvcD4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzM6IE9HTkkgR0lPUk5PIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWMtMyI+CiAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1RJTEUtT0dOSS1HSU9STk8tc2NhbGVkLmpwZyIgYWx0PSJWQUlBIENvdmVyIOKAkyBldmVyeSBkYXkiPgogICAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNhcC1sYWJlbCI+RGV0YWlsPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcC10ZXh0Ij5FdmVyeSBkYXk8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM0OiBTRU1QUkUgQ09OIFRFIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWMtNCI+CiAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1RJTEUtU0VNUFJFLUNPTi1URS1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIg4oCTIGFsd2F5cyB3aXRoIHlvdSI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5PbiB0aGUgbW92ZTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+QWx3YXlzIHdpdGggeW91PC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjNTogZGFyayBzdGF0IGNlbGwg4oCUIDEgbcKyIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLWRhcmsgZWMtNSIgc3R5bGU9ImJhY2tncm91bmQ6IHZhcigtLXRlcnJhKTsiPgogICAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyIgc3R5bGU9ImNvbG9yOiB2YXIoLS10ZXJyYS1sdCk7Ij5JbXBhY3Q8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImJpZy1udW1iZXIiIHN0eWxlPSJmb250LXNpemU6IGNsYW1wKDMycHgsMy41dncsNTJweCk7IG1hcmdpbi1ib3R0b206MTJweDsgY29sb3I6IHZhcigtLXNhYmJpYSk7Ij4xIG3Csjxicj5vZiBzY3J1YmxhbmQ8YnI+cmVnZW5lcmF0ZWQuPC9kaXY+CiAgICAgIDxwIHN0eWxlPSJjb2xvcjogcmdiYSgyMzIsMjIzLDE5MiwwLjgpOyI+Rm9yIGV2ZXJ5IGNhc2Ugc29sZC48L3A+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM2OiBUUkFESVpJT05FIEUgSU5OT1ZBWklPTkUg4oCUIHdpZGUgY2VsbCAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTYiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLVRSQURJWklPTkUtRS1JTk5PVkFaSU9ORS1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIg4oCTIHRyYWRpdGlvbiBhbmQgaW5ub3ZhdGlvbiI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5NYXRlcmlhbDwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+VHJhZGl0aW9uIGFuZCBpbm5vdmF0aW9uPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjNzogdGV4dCBjZWxsIOKAlCBjb29yZGluYXRlcyAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVkaXRvcmlhbC1jZWxsLS10ZXh0IGVjLTciPgogICAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyI+RW5ncmF2ZWQgY29vcmRpbmF0ZXM8L3NwYW4+CiAgICAgIDxoMz4zOS45NDfCsE48YnI+MTguMjcywrBFPC9oMz4KICAgICAgPHA+U3BlY2NoaWEgKExFKSDigJQgRmlyc3QgRm9yZXN0IG9mIFJlYmlydGggaW4gQXB1bGlhLiBUaGUgc2FtZSBjb29yZGluYXRlcyBlbmdyYXZlZCBvbiB5b3VyIGNhc2UuPC9wPgogICAgPC9kaXY+CgogICAgPCEtLSBjODogTEVHR0VSTyBBVVRFTlRJQ08g4oCUIHdpZGUgY2VsbCAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTgiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLUxFR0dFUk8tQVVURU5USUNPLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgbGlnaHQsIGF1dGhlbnRpYyI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5FdmVyeSBkYXk8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPkxpZ2h0LCBhdXRoZW50aWM8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM5OiBkYXJrIHN0YXQgY2VsbCDigJQgMTAwJSBJdGFsaWFuIHN1cHBseSBjaGFpbiAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVkaXRvcmlhbC1jZWxsLS1kYXJrIGVjLTkiIHN0eWxlPSJiYWNrZ3JvdW5kOiB2YXIoLS1tYXJlKTsiPgogICAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyIgc3R5bGU9ImNvbG9yOiB2YXIoLS1jcmVtYSk7Ij5NYWRlIGluIEl0YWx5PC9zcGFuPgogICAgICA8ZGl2IGNsYXNzPSJiaWctbnVtYmVyIiBzdHlsZT0iZm9udC1zaXplOiBjbGFtcCgyOHB4LDN2dyw0NHB4KTsgbWFyZ2luLWJvdHRvbToxMnB4OyBjb2xvcjogdmFyKC0tYmlhbmNvKTsiPjEwMCU8YnI+SXRhbGlhbjxicj5zdXBwbHkgY2hhaW4uPC9kaXY+CiAgICAgIDxwIHN0eWxlPSJjb2xvcjogcmdiYSgyNTAsMjUwLDI0NywwLjg1KTsiPkZyb20gQXB1bGlhbiBvbGl2ZSB3b29kIHRvIGluamVjdGlvbiBtb3VsZGluZy48L3A+CiAgICA8L2Rpdj4KCiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNy4gRU5WSVJPTk1FTlRBTCBJTVBBQ1QgKyBBUFVMSUEgU1RPUlkK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1pbXBhY3QiPgogIDxkaXYgY2xhc3M9ImltcGFjdC1pbnRybyI+CiAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiIHN0eWxlPSJjb2xvcjp2YXIoLS1vbGl2ZS1sdCk7Ij5JbXBhY3Q8L3NwYW4+CiAgICA8aDI+RXZlcnkgY2FzZTxicj5yZWdlbmVyYXRlcyAxIG3Csjxicj5vZiBNZWRpdGVycmFuZWFuIHNjcnVibGFuZC48L2gyPgogICAgPHA+VGhlIGNvbnRyaWJ1dGlvbiBpcyBub3Qgc3ltYm9saWMuIEV2ZXJ5IHB1cmNoYXNlIGRpcmVjdGx5IHN1cHBvcnRzIHRoZSBwbGFudGluZyBhbmQgcmVzdG9yYXRpb24gb2YgTWVkaXRlcnJhbmVhbiBzY3J1YmxhbmQgaW4gdGhlIGZpcnN0IEZvcmVzdCBvZiBSZWJpcnRoIGluIEFwdWxpYS4KVGhlIHNhbWUgY29vcmRpbmF0ZXMgeW91IGZpbmQgZW5ncmF2ZWQgb24geW91ciBjYXNlLjwvcD4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRzIj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkIj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX251bWJlciI+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fdW5pdCI+b2xpdmUgdHJlZXMgYWZmZWN0ZWQ8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX2Rlc2MiPlNpbmNlIHRoZSBhcnJpdmFsIG9mIFh5bGVsbGEgaW4gMjAxMywgb3ZlciAyMCBtaWxsaW9uIEFwdWxpYW4gb2xpdmUgdHJlZXMgaGF2ZSBiZWVuIGNvbXByb21pc2VkLiBPbmUgb2YgdGhlIG1vc3Qgc2V2ZXJlIGVudmlyb25tZW50YWwgZW1lcmdlbmNpZXMgaW4gRXVyb3BlLjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZCI+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19udW1iZXIiPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX3VuaXQiPnBlciBjYXNlPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5FdmVyeSBjYXNlIHNvbGQgY29udHJpYnV0ZXMgdG8gdGhlIHJlZm9yZXN0YXRpb24gb2YgMSBtwrIgb2YgTWVkaXRlcnJhbmVhbiBzY3J1YmxhbmQgaW4gU3BlY2NoaWEgKExFKSwgaW4gdGhlIGZpcnN0IEZvcmVzdCBvZiBSZWJpcnRoIGluIEFwdWxpYS48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmQiPgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fbnVtYmVyIj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX191bml0Ij5NYWRlIGluIEl0YWx5PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5EZXNpZ24gZGV2ZWxvcGVkIHdpdGggU0lEIFNjdW9sYSBJdGFsaWFuYSBEZXNpZ24gZGkgUGFkb3ZhLiBQcm9kdWN0aW9uIGVudGlyZWx5IGluIEl0YWx5LiBUaGUgbWF0ZXJpYWwgaXMgYWdyaWN1bHR1cmFsIHdhc3RlOiBmaWJyZXMgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUgZGVzdGluZWQgZm9yIGRpc3Bvc2FsLjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeSI+CiAgICA8ZGl2IGNsYXNzPSJpbXBhY3Qtc3RvcnlfX3RleHQiPgogICAgICA8aDM+V2h5IEFwdWxpYSw8YnI+d2h5IG5vdy48L2gzPgogICAgICA8cD5Gb3IgeWVhcnMgd2Ugc2VhcmNoZWQgZm9yIGEgd2F5IHRvIGJyaW5nIFZBSUEncyByZWdlbmVyYXRpdmUgbW9kZWwgdG8gQXB1bGlhLiBXZSBsaXN0ZW5lZCB0byBmYXJtZXJzLCBzY2llbnRpc3RzLCBpbnN0aXR1dGlvbnMgYW5kIG9yZGluYXJ5IHBlb3BsZSB0byB1bmRlcnN0YW5kIHRvZ2V0aGVyIGhvdyB0byByZXNwb25kLiBOb3QgdG8gcmVwbGFjZSB3aGF0IHdhcyBsb3N0LCBidXQgdG8gbGV0IHNvbWV0aGluZyBuZXcgZ3Jvdy48L3A+CiAgICAgIDxwPkl0IGlzIGZyb20gdGhpcyBsaXN0ZW5pbmcgdGhhdCBPbGl2ZSBNYXR0ZXIgd2FzIGJvcm46IGEgbWF0ZXJpYWwgdGhhdCB1bml0ZXMgd2hhdCBzZWVtZWQgbGlrZSB3YXN0ZSB3aXRoIHRoZSBtb3N0IGFkdmFuY2VkIHJlc2VhcmNoIGludG8gYmlvLWJhc2VkIHBvbHltZXJzLiBBIHVuaW9uIGJldHdlZW4gdGVycml0b3JpYWwgaWRlbnRpdHkgYW5kIHRlY2huaWNhbCBpbm5vdmF0aW9uLjwvcD4KICAgICAgPHA+T2xpdmUgd29vZCBmcm9tIHRyZWVzIHN0cnVjayBieSBYeWxlbGxhIGNhbiBiZSBtb3ZlZCBzYWZlbHksIGluIGNvbXBsaWFuY2Ugd2l0aCBFRlNBIHJlZ3VsYXRpb25zIGFuZCB0aG9zZSBvZiB0aGUgQXB1bGlhIFJlZ2lvbi4gV2UgdHJhbnNmb3JtIGl0IGluc3RlYWQgb2YgZGlzcG9zaW5nIG9mIGl0LjwvcD4KICAgICAgPGRpdiBjbGFzcz0iY29vcmRzLWJsb2NrIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLWxhYmVsIj5Gb3Jlc3Qgb2YgUmViaXJ0aCDigJQgU3BlY2NoaWEgKExFKTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLXZhbHVlIj4zOcKwNTcnTiDCtyAxOMKwMTAnRTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeV9faW1hZ2UiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS8wNDQwUTVBNTA2Mi0xLTEtc2NhbGVkLmpwZyIgYWx0PSJMYW5kc2NhcGUgd2l0aCBBcHVsaWFuIG9saXZlIHRyZWVzIOKAkyBTYWxlbnRvLCBtaXggb2YgZGVhZCB0cmVlcyBhbmQgbGl2aW5nIHZlZ2V0YXRpb24iPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgOC4gTUFQIOKAlCBGT1JFU1QgT0YgUkVCSVJUSArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLW1hcCI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1tYXBfX2hlYWRlciI+CiAgICA8ZGl2PgogICAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPkZPUkVTVCBPRiBSRUJJUlRIPC9zcGFuPgogICAgICA8aDI+VGhlIGNvb3JkaW5hdGVzIHlvdSBjYXJyeSBpbiB5b3VyIHBvY2tldC48L2gyPgogICAgPC9kaXY+CiAgICA8cD5UaGUgc2FtZSBjb29yZGluYXRlcyBlbmdyYXZlZCBvbiBldmVyeSBjYXNlLiBBIHJlYWwgcGxhY2UsIGEgbWVhc3VyYWJsZSBpbXBhY3QuPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1hcC13cmFwcGVyIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJtYXAtY29vcmRzLWJhciI+CiAgICA8c3BhbiBjbGFzcz0iY29vcmQtcGxhY2UiPkZpcnN0IEZvcmVzdCBvZiBSZWJpcnRoIGluIEFwdWxpYSDigJQgU3BlY2NoaWEgKExFKSwgSXRhbHk8L3NwYW4+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgOS4gTUFERSBJTiBJVEFMWSBTVVBQTFkgQ0hBSU4K4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1zdXBwbHkiPgogIDxkaXYgY2xhc3M9InN1cHBseS1oZWFkaW5nIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+U3VwcGx5IGNoYWluPC9zcGFuPgogICAgPGgyPkZyb20gYWdyaWN1bHR1cmFsIHdhc3RlPGJyPnRvIGEgbmV3IG1hdGVyaWFsLjwvaDI+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ic3VwcGx5LWlubmVyIj4KICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9jayI+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fbnVtIj4wMTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX3RpdGxlIj5SYXcgbWF0ZXJpYWwgZnJvbSBhZ3JpY3VsdHVyYWwgd2FzdGU8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX19kZXNjIj5Xb29kIGZpYnJlcyBmcm9tIG9saXZlIHRyZWVzIGZlbGxlZCBieSBYeWxlbGxhIGFyZSBjb2xsZWN0ZWQgZGlyZWN0bHkgZnJvbSB0aGUgYWZmZWN0ZWQgQXB1bGlhbiBmYXJtcy4gTWF0ZXJpYWwgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUgZGVzdGluZWQgZm9yIGRpc3Bvc2FsLjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2siPgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX251bSI+MDI8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX190aXRsZSI+UmVzZWFyY2ggYW5kIGRlc2lnbjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX2Rlc2MiPlRoZSBPbGl2ZSBNYXR0ZXIgYmlvY29tcG9zaXRlIHdhcyBkZXZlbG9wZWQgaW4gY29sbGFib3JhdGlvbiB3aXRoIFNJRCDigJQgU2N1b2xhIEl0YWxpYW5hIERlc2lnbiBkaSBQYWRvdmEuIEZyb20gbWF0ZXJpYWwgZm9ybXVsYXRpb24gdG8gYmFyayBzY2FubmluZzogZXZlcnl0aGluZyBpcyBib3JuIGluIEl0YWx5LjwvZGl2PgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2siPgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX251bSI+MDM8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX190aXRsZSI+SXRhbGlhbiBpbmplY3Rpb24gbW91bGRpbmcgcHJvZHVjdGlvbjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX2Rlc2MiPlRoZSBjYXNlcyBhcmUgcHJvZHVjZWQgYnkgaW5qZWN0aW9uIG1vdWxkaW5nIGluIEl0YWxpYW4gZmFjaWxpdGllcy4gRXZlcnkgdGV4dHVyZSBpcyByZXByb2R1Y2VkIHdpdGggbWlsbGltZXRyZSBwcmVjaXNpb24gZnJvbSB0aGUgb3JpZ2luYWwgYmFyayBzY2FuLjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgMTAuIFJFTEFURUQgUFJPRFVDVFMgQ0FST1VTRUwK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1jYXJvdXNlbCI+CiAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtaGVhZGVyIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+VGhlIFZBSUEgZmFtaWx5PC9zcGFuPgogICAgPGgyPkJ1eSB0aGVtIHRvZ2V0aGVyPC9oMj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC13cmFwcGVyIj4KICAgIDxidXR0b24gY2xhc3M9ImNhcm91c2VsLWJ0biBjYXJvdXNlbC1idG4tLXByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIj4KICAgICAgPHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2Utd2lkdGg9IjEuNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48cG9seWxpbmUgcG9pbnRzPSIxNSAxOCA5IDEyIDE1IDYiPjwvcG9seWxpbmU+PC9zdmc+CiAgICA8L2J1dHRvbj4KICAgIDxkaXYgY2xhc3M9ImNhcm91c2VsLXRyYWNrLW91dGVyIiBpZD0iY2Fyb3VzZWxPdXRlciI+CiAgICAgIDxkaXYgY2xhc3M9ImNhcm91c2VsLXRyYWNrIiBpZD0iY2Fyb3VzZWxUcmFjayI+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9DVUJFLmpwZyIgYWx0PSJWQUlBIEN1YmUiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19ib2R5Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fbmFtZSI+VkFJQSBDdWJlPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19kZXNjIj5OYXR1cmFsIGFjb3VzdGljIGFtcGxpZmllci4gMSBDdWJlID0gMSB0cmVlIGluIHRoZSBEb2xvbWl0ZXMuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2QtY2FyZF9fcHJpY2UiPuKCrDYyLjAwPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUvIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkRpc2NvdmVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZCI+CiAgICAgICAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIyLzA5L1VudGl0bGVkLWRlc2lnbi5qcGciIGFsdD0iVkFJQSBDdWJlIEVzc2VudGlhbCBBcmlhIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZSBFc3NlbnRpYWwgQXJpYTwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fZGVzYyI+TmF0dXJhbCBhY291c3RpYyBhbXBsaWZpZXIuIDEgQ3ViZSA9IDEgdHJlZSBpbiB0aGUgRG9sb21pdGVzLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19mb290ZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9kLWNhcmRfX3ByaWNlIj7igqw4OS4wMDwvc3Bhbj4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2VuL3Byb2R1Y3QvdmFpYS1jdWJlLWVzc2VudGlhbC1hcmlhLyIgY2xhc3M9InByb2QtY2FyZF9fYnRuIj5EaXNjb3ZlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmQiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8xMS82NjV4NzU1X0lNUEVSRkVUVE8uanBnIiBhbHQ9IlZBSUEgQ3ViZSBJbXBlcmZldHRvIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZSBJbXBlcmZldHRvPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19kZXNjIj5UaGUgaWNvbmljIEN1YmUsIG1hZGUgdW5pcXVlIGJ5IG5hdHVyYWwgc3BvdHMgYW5kIGltcGVyZmVjdGlvbnMgaW4gdGhlIHdvb2QuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2QtY2FyZF9fcHJpY2UiPuKCrDc0LjAwPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUtaW1wZXJmZXR0by8iIGNsYXNzPSJwcm9kLWNhcmRfX2J0biI+RGlzY292ZXI8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9KT1ktMi0xLmpwZyIgYWx0PSJWQUlBIEN1YmUgSk9ZIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZSBKT1k8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX2Rlc2MiPlZBSUEgd29vZCBhbXBsaWZpZXIsIGF2YWlsYWJsZSBpbiB2YXJpb3VzIHZpYnJhbnQgY29sb3Vycy48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fZm9vdGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZC1jYXJkX19wcmljZSI+4oCUPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUtam95LyIgY2xhc3M9InByb2QtY2FyZF9fYnRuIj5EaXNjb3ZlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxidXR0b24gY2xhc3M9ImNhcm91c2VsLWJ0biBjYXJvdXNlbC1idG4tLW5leHQiIGFyaWEtbGFiZWw9Ik5leHQiPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjkgMTggMTUgMTIgOSA2Ij48L3BvbHlsaW5lPjwvc3ZnPgogICAgPC9idXR0b24+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtZG90cyIgaWQ9ImNhcm91c2VsRG90cyI+PC9kaXY+Cjwvc2VjdGlvbj4KCjxzY3JpcHQ+Ci8qIOKUgOKUgCBDQVJPVVNFTCB3aXRoIHRvdWNoL2RyYWcgc3VwcG9ydCDilIDilIAgKi8KKGZ1bmN0aW9uKCkgewogIGNvbnN0IHRyYWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nhcm91c2VsVHJhY2snKTsKICBjb25zdCBvdXRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbE91dGVyJyk7CiAgY29uc3QgZG90c0NvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbERvdHMnKTsKICBjb25zdCBjYXJkcyA9IHRyYWNrLnF1ZXJ5U2VsZWN0b3JBbGwoJy5wcm9kLWNhcmQnKTsKICBjb25zdCBwcmV2QnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNhcm91c2VsLWJ0bi0tcHJldicpOwogIGNvbnN0IG5leHRCdG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtYnRuLS1uZXh0Jyk7CiAgbGV0IGN1cnJlbnQgPSAwOwoKICBmdW5jdGlvbiB2aXNpYmxlQ291bnQoKSB7CiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gNTYwID8gMSA6IHdpbmRvdy5pbm5lcldpZHRoIDw9IDkwMCA\/IDIgOiA0OwogIH0KCiAgZnVuY3Rpb24gbWF4SW5kZXgoKSB7CiAgICByZXR1cm4gTWF0aC5tYXgoMCwgY2FyZHMubGVuZ3RoIC0gdmlzaWJsZUNvdW50KCkpOwogIH0KCiAgZnVuY3Rpb24gY2FyZFdpZHRoKCkgewogICAgcmV0dXJuIGNhcmRzWzBdLm9mZnNldFdpZHRoICsgMjA7IC8vIDIwID0gZ2FwCiAgfQoKICAvLyBCdWlsZCBkb3RzCiAgY29uc3QgZG90cyA9IFtdOwogIGZvciAobGV0IGkgPSAwOyBpIDw9IG1heEluZGV4KCk7IGkrKykgewogICAgY29uc3QgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgZC5jbGFzc05hbWUgPSAnY2Fyb3VzZWwtZG90JyArIChpID09PSAwID8gJyBhY3RpdmUnIDogJycpOwogICAgZC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGdvVG8oaSkpOwogICAgZG90c0NvbnRhaW5lci5hcHBlbmRDaGlsZChkKTsKICAgIGRvdHMucHVzaChkKTsKICB9CgogIGZ1bmN0aW9uIGdvVG8oaW5kZXgpIHsKICAgIGN1cnJlbnQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbihpbmRleCwgbWF4SW5kZXgoKSkpOwogICAgdHJhY2suc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLScgKyAoY3VycmVudCAqIGNhcmRXaWR0aCgpKSArICdweCknOwogICAgZG90cy5mb3JFYWNoKChkLCBpKSA9PiBkLmNsYXNzTGlzdC50b2dnbGUoJ2FjdGl2ZScsIGkgPT09IGN1cnJlbnQpKTsKICAgIGlmIChwcmV2QnRuKSBwcmV2QnRuLmRpc2FibGVkID0gY3VycmVudCA9PT0gMDsKICAgIGlmIChuZXh0QnRuKSBuZXh0QnRuLmRpc2FibGVkID0gY3VycmVudCA+PSBtYXhJbmRleCgpOwogIH0KCiAgaWYgKHByZXZCdG4pIHByZXZCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBnb1RvKGN1cnJlbnQgLSAxKSk7CiAgaWYgKG5leHRCdG4pIG5leHRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBnb1RvKGN1cnJlbnQgKyAxKSk7CiAgaWYgKHByZXZCdG4pIHByZXZCdG4uZGlzYWJsZWQgPSB0cnVlOwoKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gZ29UbyhNYXRoLm1pbihjdXJyZW50LCBtYXhJbmRleCgpKSkpOwoKICAvKiDilIDilIAgVE9VQ0ggLyBEUkFHIOKUgOKUgCAqLwogIGxldCBkcmFnU3RhcnRYID0gMDsKICBsZXQgZHJhZ0N1cnJlbnRYID0gMDsKICBsZXQgaXNEcmFnZ2luZyA9IGZhbHNlOwogIGxldCBzdGFydE9mZnNldCA9IDA7CiAgY29uc3QgRFJBR19USFJFU0hPTEQgPSA4OwogIGNvbnN0IFNXSVBFX01JTiA9IDQwOwoKICBmdW5jdGlvbiBnZXRFdmVudFgoZSkgewogICAgcmV0dXJuIGUudG91Y2hlcyA\/IGUudG91Y2hlc1swXS5jbGllbnRYIDogZS5jbGllbnRYOwogIH0KCiAgZnVuY3Rpb24gb25EcmFnU3RhcnQoZSkgewogICAgZHJhZ1N0YXJ0WCA9IGdldEV2ZW50WChlKTsKICAgIGRyYWdDdXJyZW50WCA9IGRyYWdTdGFydFg7CiAgICBpc0RyYWdnaW5nID0gZmFsc2U7CiAgICBzdGFydE9mZnNldCA9IGN1cnJlbnQgKiBjYXJkV2lkdGgoKTsKICB9CgogIGZ1bmN0aW9uIG9uRHJhZ01vdmUoZSkgewogICAgaWYgKGUudG91Y2hlcyAmJiBNYXRoLmFicyhnZXRFdmVudFgoZSkgLSBkcmFnU3RhcnRYKSA8IERSQUdfVEhSRVNIT0xEICYmICFpc0RyYWdnaW5nKSByZXR1cm47CgogICAgY29uc3QgZGlmZiA9IGdldEV2ZW50WChlKSAtIGRyYWdTdGFydFg7CgogICAgaWYgKGUudG91Y2hlcyAmJiBNYXRoLmFicyhkaWZmKSA8IE1hdGguYWJzKGUudG91Y2hlc1swXS5jbGllbnRZIC0gKGUudG91Y2hlc1swXS5jbGllbnRZKSkpIHJldHVybjsKCiAgICBpZiAoIWlzRHJhZ2dpbmcgJiYgTWF0aC5hYnMoZGlmZikgPiBEUkFHX1RIUkVTSE9MRCkgewogICAgICBpc0RyYWdnaW5nID0gdHJ1ZTsKICAgICAgdHJhY2suY2xhc3NMaXN0LmFkZCgnaXMtZHJhZ2dpbmcnKTsKICAgIH0KCiAgICBpZiAoIWlzRHJhZ2dpbmcpIHJldHVybjsKCiAgICBpZiAoZS5jYW5jZWxhYmxlKSBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgZHJhZ0N1cnJlbnRYID0gZ2V0RXZlbnRYKGUpOwogICAgY29uc3QgbGl2ZU9mZnNldCA9IHN0YXJ0T2Zmc2V0IC0gZGlmZjsKCiAgICBjb25zdCBtaW5PZmZzZXQgPSAwOwogICAgY29uc3QgbWF4T2Zmc2V0ID0gbWF4SW5kZXgoKSAqIGNhcmRXaWR0aCgpOwogICAgbGV0IGNsYW1wZWRPZmZzZXQ7CiAgICBpZiAobGl2ZU9mZnNldCA8IG1pbk9mZnNldCkgewogICAgICBjbGFtcGVkT2Zmc2V0ID0gbWluT2Zmc2V0IC0gTWF0aC5zcXJ0KE1hdGguYWJzKGxpdmVPZmZzZXQgLSBtaW5PZmZzZXQpKSAqIDM7CiAgICB9IGVsc2UgaWYgKGxpdmVPZmZzZXQgPiBtYXhPZmZzZXQpIHsKICAgICAgY2xhbXBlZE9mZnNldCA9IG1heE9mZnNldCArIE1hdGguc3FydChNYXRoLmFicyhsaXZlT2Zmc2V0IC0gbWF4T2Zmc2V0KSkgKiAzOwogICAgfSBlbHNlIHsKICAgICAgY2xhbXBlZE9mZnNldCA9IGxpdmVPZmZzZXQ7CiAgICB9CgogICAgdHJhY2suc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLScgKyBjbGFtcGVkT2Zmc2V0ICsgJ3B4KSc7CiAgfQoKICBmdW5jdGlvbiBvbkRyYWdFbmQoZSkgewogICAgaWYgKCFpc0RyYWdnaW5nKSByZXR1cm47CgogICAgdHJhY2suY2xhc3NMaXN0LnJlbW92ZSgnaXMtZHJhZ2dpbmcnKTsKICAgIGlzRHJhZ2dpbmcgPSBmYWxzZTsKCiAgICBjb25zdCBkaWZmID0gZHJhZ0N1cnJlbnRYIC0gZHJhZ1N0YXJ0WDsKCiAgICBpZiAoTWF0aC5hYnMoZGlmZikgPj0gU1dJUEVfTUlOKSB7CiAgICAgIGlmIChkaWZmIDwgMCkgewogICAgICAgIGdvVG8oY3VycmVudCArIDEpOwogICAgICB9IGVsc2UgewogICAgICAgIGdvVG8oY3VycmVudCAtIDEpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBnb1RvKGN1cnJlbnQpOwogICAgfQogIH0KCiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIG9uRHJhZ1N0YXJ0LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgb25EcmFnTW92ZSwgeyBwYXNzaXZlOiBmYWxzZSB9KTsKICBvdXRlci5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIG9uRHJhZ0VuZCwgeyBwYXNzaXZlOiB0cnVlIH0pOwogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoY2FuY2VsJywgb25EcmFnRW5kLCB7IHBhc3NpdmU6IHRydWUgfSk7CgogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIG9uRHJhZ1N0YXJ0KTsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAoZSkgPT4geyBpZiAoZHJhZ1N0YXJ0WCkgb25EcmFnTW92ZShlKTsgfSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIChlKSA9PiB7IGlmIChkcmFnU3RhcnRYKSB7IG9uRHJhZ0VuZChlKTsgZHJhZ1N0YXJ0WCA9IDA7IH0gfSk7CgogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgIGlmIChNYXRoLmFicyhkcmFnQ3VycmVudFggLSBkcmFnU3RhcnRYKSA+IERSQUdfVEhSRVNIT0xEKSB7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0KICB9LCB0cnVlKTsKfSkoKTsKCgo8L3NjcmlwdD4KPCEtLSAvd3A6aHRtbCAtLT48L2Rpdj4Kc3RhdGV2ZXJzaW9uZG9jdW1lbnRkYXRlZG9jdW1lbnRzbHVnZG9jdW1lbnRzdGF0dXNkb2N1bWVudHRpdGxlVkFJQSBDZG9jdW1lbnRjb250ZW50ZG9jdW1lbnRleGNlcnB0PHA+dmUgY29taSBlIGUgZGllcnIuPC9wPmRvY3VtZW50ZmVhdHVyZWRfbWVkaWFkb2N1bWVudHRlbXBsYXRlZG9jdW1lbnRtZXRhX2FjZl9jaGFuZ2VkY29udGVudC10eXBlZG9jdW1lbnRwcm9kdWN0X2JyYW5kZG9jdW1lbnRwcm9kdWN0X2NhdGRvY3VtZW50cHJvZHVjdF90YWdkb2N1bWVudGJsb2Nrc2NsaWVudElkaXNWYWxpZG9yaWdpbmFsQ29udGVudG5hbWVhdHRyaWJ1dGVzbmFtZWRhdGFhbGlnbm1vZGVpbm5lckJsb2Nrc3N0YXRlc2F2ZWRBdHN0YXRlc2F2ZWRCeV9hY2ZfY29udGV4dAUHFhUZhwYFBwUHBQdGAAQGARUBB08ABwUHBQcUBQcIBwQKRwALEQgHBAoLCAcECgtEAA8FTwAHFK0CBQcFB5sBqgGmAZ8BQgABArEEWgGPBgUHBQcFBwaUAgUHBAhBAwMgFRoRCkECQwBBBARBAgQDQQBCAAFCAQEFAQNBAQgRCAcECgsIBwQKCwUHFwpBAAIEjd0CtAGEArwlrQKJEbrCAaYFjQWNH6QkrAmcCqIKvU4BIgUHCAQIBAgGCEUAAQgHCAcDAkEAAkEEQgABA0EACA5IAQRMAAgNCAsICwgGCAcPBApEAAUECwUHBQcMJwEDAAIBAgAaAQQAAAEAAAwBBQAAAQAAAAEAAAABAgABAQMACgEBABZBAABBAABBAABBAABBAABCAQEAQQAAjgJBAwRBBgkBCCtCAEEFAkEAAkEgpAFBEYYwAQ1BBAZBAZoYAQ1BAwi\/L0EADUEDtBFBBBYBEDk7ggIVDTUUAQgMAgNBA0QABQEEAQMCQQECA0IBAQNBAARBAkIAAQJBCggBCAEEAwIKAhMKAwsCDAgHBgwBDwIHCgQNAxEIQQEJAQgrQQMLD0EBCQEIK0ECCw9BBBeYASKuBJABnwGQAYwGmQGoAaQBnQGuAbsQQQQHCacFjhexIKAWjBqdC7YwmC+lBAECAwJBAAQBBEEAAwECBwhBBg0BCgENAQoBDQEKAQ0BCgEKAQoBoAYBuQYBhAgBiAZBBwpBARlBAgMBAoESkBu3EI4anwubEqEYqAQPCAB9AXfOpwM8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KPHRpdGxlPlZBSUEgQ292ZXIg4oCTIFByb2R1Y3QgUGFnZTwvdGl0bGU+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW49IiI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RE0rU2Fuczp3Z2h0QDMwMDs0MDA7NTAwJmFtcDtkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vYXBpLmZvbnRzaGFyZS5jb20vdjIvY3NzP2ZbXT1jbGFzaC1kaXNwbGF5QDQwMCw1MDAsNjAwLDcwMCZhbXA7ZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgoKPHN0eWxlPgogICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0KCiAgOnJvb3QgewogICAgLS1vbGl2ZTogICAgIzZCNkIzQTsKICAgIC0tb2xpdmUtbHQ6ICNBOEE4NkE7CiAgICAtLW9saXZlLWRrOiAjM0MzQzFFOwogICAgLS1tYXJlOiAgICAgIzVCOURBNDsKICAgIC0tbWFyZS1sdDogICM5RUNGRDQ7CiAgICAtLXRlcnJhOiAgICAjN0E1QzNBOwogICAgLS10ZXJyYS1sdDogI0MwOTg3MDsKICAgIC0tc2FiYmlhOiAgICNFOERGQzA7CiAgICAtLXNhYmJpYS1kazojQzRCODhBOwogICAgLS1jcmVtYTogICAgI0Y1RjFFODsKICAgIC0tYmlhbmNvOiAgICNGQUZBRjc7CiAgICAtLXRlc3RvOiAgICAjMUExQTE0OwogICAgLS10ZXN0by1tOiAgIzRBNEEzODsKICAgIC0tdGVzdG8tbDogICM4QThBNzI7CiAgICAtLWJvcmRvOiAgICByZ2JhKDEwNywxMDcsNTgsMC4xOCk7CiAgICAtLWJvcmRvLW06ICByZ2JhKDEwNywxMDcsNTgsMC4zNSk7CgogICAgLS1mb250LXNhbnM6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1ib2R5LCB2YXIoLS13cC1mb250LWZhbWlseSwgJ0RNIFNhbnMnLCBzYW5zLXNlcmlmKSk7CiAgICAtLWZvbnQtc2VyaWY6ICdDbGFzaERpc3BsYXktVmFyaWFibGUnLCAnQ2xhc2ggRGlzcGxheScsIHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1oZWFkaW5nLCBzYW5zLXNlcmlmKTsKICB9CgogIGJvZHkgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgfQoKICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOwogIH0KCiAgLnNlcmlmIHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOyB9CiAgLmxhYmVsLXNtYWxsIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IEhFUk8gREVTQ1JJUFRJT04g4pSA4pSAICovCiAgLnNlY3Rpb24taGVybyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dyA4MHB4OwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogNjRweDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUpOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA0dncsIDUycHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjE1OwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgcCB7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzU7CiAgICBtYXgtd2lkdGg6IDQ4Y2g7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnNlY3Rpb24taGVyb19faW1hZ2UgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGFzcGVjdC1yYXRpbzogNC81OwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICB9CiAgLnNlY3Rpb24taGVyb19faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CgogIC8qIOKUgOKUgCBTRUNUSU9OOiBPTElWRSBNQVRURVIg4pSA4pSAICovCiAgLnNlY3Rpb24tbWF0ZXJpYWwgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUtZGspOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDgwcHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgewogICAgYXNwZWN0LXJhdGlvOiAxLzE7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgb3JkZXI6IC0xOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLnNlY3Rpb24tbWF0ZXJpYWxfX3RleHQgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX190ZXh0IGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgMy41dncsIDQ0cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX190ZXh0IHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC44KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS44OwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLm1hdGVyaWFsLWhpZ2hsaWdodCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogMjRweCAwOwogICAgcGFkZGluZzogMjBweCAyNHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgxNjgsMTY4LDEwNiwwLjEyKTsKICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tb2xpdmUtbHQpOwogICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDJ2dywgMjRweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBsaW5lLWhlaWdodDogMS4zOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogIH0KCiAgLm1hdGVyaWFsLXRhZ2xpbmUgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIG1hcmdpbjogMjhweCAwIDA7CiAgfQogIC5tYXRlcmlhbC10YWdsaW5lIHNwYW4gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAydncsIDIycHgpOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwwLDAsMC4zNSk7CiAgfQoKICAubWF0ZXJpYWwtcGlsbHMgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIGdhcDogMTBweDsKICAgIG1hcmdpbi10b3A6IDMycHg7CiAgfQogIC5waWxsIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4OwogICAgcGFkZGluZzogN3B4IDE2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2OCwxNjgsMTA2LDAuMzUpOwogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucGlsbDo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogNnB4OwogICAgaGVpZ2h0OiA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmbGV4LXNocmluazogMDsKICB9CgogIC5idG4tb2xpdmUtbWF0dGVyIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgbWFyZ2luLXRvcDogMjhweDsKICAgIHBhZGRpbmc6IDEzcHggMjhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlLWx0KTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIGNvbG9yIDAuMnM7CiAgfQogIC5idG4tb2xpdmUtbWF0dGVyOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IFRFQ0hOSUNBTCBTUEVDUyDilIDilIAgKi8KICAuc2VjdGlvbi1zcGVjcyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgcGFkZGluZzogOTZweCA1dnc7CiAgfQogIC5zZWN0aW9uLXNwZWNzX19oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogNTZweDsKICB9CiAgLnNlY3Rpb24tc3BlY3NfX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICB9CiAgLnNwZWNzLXRhYmxlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3BlY3MtdGFibGUgdHIgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICB9CiAgLnNwZWNzLXRhYmxlIHRyOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgfQogIC5zcGVjcy10YWJsZSB0ZCB7CiAgICBwYWRkaW5nOiAxOHB4IDA7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9CiAgLnNwZWNzLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIHdpZHRoOiAzOCU7CiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OwogIH0KICAuc3BlY3MtdGFibGUgdGQ6bGFzdC1jaGlsZCB7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogIH0KICAuc3BlY3MtdGFibGUgdGQgc3Ryb25nIHsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IFdJUkVMRVNTIOKUgOKUgCAqLwogIC5zZWN0aW9uLXdpcmVsZXNzIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBwYWRkaW5nOiA3MnB4IDV2dzsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7CiAgICBnYXA6IDY0cHg7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAxNnB4OwogIH0KICAud2lyZWxlc3MtaWNvbiB7CiAgICB3aWR0aDogNTZweDsKICAgIGhlaWdodDogNTZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgfQogIC53aXJlbGVzcy1pY29uIHN2ZyB7IHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7IGZpbGw6IG5vbmU7IHN0cm9rZTogdmFyKC0tc2FiYmlhKTsgc3Ryb2tlLXdpZHRoOiAxLjU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIGgzIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjJweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICB9CiAgLndpcmVsZXNzLXRleHQgcCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLndpcmVsZXNzLW5vdGUgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMTJweDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjYpOwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1vbGl2ZSk7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC53aXJlbGVzcy1ub3RlIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7IH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IFRFWFRVUkUgJiBDT0xPUlMg4pSA4pSAICovCiAgLnNlY3Rpb24tZGVzaWduIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA1NnB4OwogICAgbWF4LXdpZHRoOiA2MGNoOwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgfQogIC5zZWN0aW9uLWRlc2lnbl9faGVhZGVyIHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuZGVzaWduLXRhZ2xpbmUgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgfQogIC5kZXNpZ24tdGFnbGluZSBzcGFuIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyMnB4KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMDcsMTA3LDU4LDAuMTgpOwogIH0KCiAgLmRlc2lnbi1kZXRhaWxzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDQ4cHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogICAgcGFkZGluZzogNDhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDEwcHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gLmRldGFpbC1udW0gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICB9CiAgLmRlc2lnbi1kZXRhaWwtaXRlbSBoNCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gcCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZGVzaWduLXNpZC1ub3RlIHsKICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7CiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7CiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLW9saXZlLWx0KTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTA3LDEwNyw1OCwwLjA1KTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmRlc2lnbi1zaWQtbm90ZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tb2xpdmUtZGspOyBmb250LXdlaWdodDogNTAwOyB9CgogIC50ZXh0dXJlLXJvdyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7CiAgICBnYXA6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAudGV4dHVyZS1jYXJkIHsKICAgIGFzcGVjdC1yYXRpbzogMy80OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogIH0KICAudGV4dHVyZS1jYXJkX19sYWJlbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgyNiwyNiwyMCwwLjU1KTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOwogICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgei1pbmRleDogMjsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAudGV4dHVyZS1jYXJkIC5pbWctcGxhY2Vob2xkZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogOHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC5wYWxldHRlLXRpdGxlIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tYm90dG9tOiAyOHB4OwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogIH0KICAucGFsZXR0ZS1yb3cgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5wYWxldHRlLXN3YXRjaCB7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogIH0KICAuc3dhdGNoLWNvbG9yIHsKICAgIGhlaWdodDogNzJweDsKICB9CiAgLnN3YXRjaC1pbmZvIHsKICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgfQogIC5zd2F0Y2gtbmFtZSB7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3dhdGNoLWRlc2MgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAvKiDilIDilIAgU0VDVElPTjogRURJVE9SSUFMIFBIT1RPIEdSSUQg4pSA4pSAICovCiAgLnNlY3Rpb24tZWRpdG9yaWFsIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXRlc3RvKTsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5lZGl0b3JpYWwtZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgIGdyaWQtdGVtcGxhdGUtcm93czogNDIwcHggNDIwcHggMzQwcHggNDIwcHg7CiAgICBnYXA6IDA7CiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOgogICAgICAiYzEgYzIgYzMiCiAgICAgICJjMSBjNCBjNSIKICAgICAgImM2IGM2IGM3IgogICAgICAiYzggYzggYzkiOwogIH0KICAuZWMtMSB7IGdyaWQtYXJlYTogYzE7IH0KICAuZWMtMiB7IGdyaWQtYXJlYTogYzI7IH0KICAuZWMtMyB7IGdyaWQtYXJlYTogYzM7IH0KICAuZWMtNCB7IGdyaWQtYXJlYTogYzQ7IH0KICAuZWMtNSB7IGdyaWQtYXJlYTogYzU7IH0KICAuZWMtNiB7IGdyaWQtYXJlYTogYzY7IH0KICAuZWMtNyB7IGdyaWQtYXJlYTogYzc7IH0KICAuZWMtOCB7IGdyaWQtYXJlYTogYzg7IH0KICAuZWMtOSB7IGdyaWQtYXJlYTogYzk7IH0KICAuZWRpdG9yaWFsLWNlbGwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICB9CiAgLmVkaXRvcmlhbC1jZWxsIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlOwogIH0KICAuZWRpdG9yaWFsLWNlbGw6aG92ZXIgaW1nIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgcGFkZGluZzogMjBweCAyNHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDI2LDI2LDIwLDAuNzUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiAuY2FwLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIC5jYXAtdGV4dCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDEuNXZ3LCAyMHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiA0OHB4IDQwcHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tdGV4dCAuZXllYnJvdyB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlKTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLXRleHQgaDMgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAyLjV2dywgMzJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc1OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICBwYWRkaW5nOiA0MHB4OwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLWRhcmsgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS1kYXJrIC5iaWctbnVtYmVyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoNDhweCwgNXZ3LCA3MnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayBwIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNyk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IEVOVklST05NRU5UQUwgSU1QQUNUIOKUgOKUgCAqLwogIC5zZWN0aW9uLWltcGFjdCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogIH0KICAuaW1wYWN0LWludHJvIHsKICAgIG1heC13aWR0aDogNjRjaDsKICAgIG1hcmdpbi1ib3R0b206IDY0cHg7CiAgfQogIC5pbXBhY3QtaW50cm8gaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgzMHB4LCA0dncsIDQ4cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogIH0KICAuaW1wYWN0LWludHJvIHAgewogICAgZm9udC1zaXplOiAxN3B4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC44KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS44OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5pbXBhY3QtY2FyZHMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICBnYXA6IDI0cHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAuaW1wYWN0LWNhcmQgewogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzIsMjIzLDE5MiwwLjE1KTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIHBhZGRpbmc6IDM2cHggMzJweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CiAgLmltcGFjdC1jYXJkX19udW1iZXIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiA1NnB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICB9CiAgLmltcGFjdC1jYXJkX191bml0IHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmltcGFjdC1jYXJkX19kZXNjIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNzUpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmltcGFjdC1zdG9yeSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgZ2FwOiA2NHB4OwogICAgYWxpZ24taXRlbXM6IHN0YXJ0OwogICAgcGFkZGluZy10b3A6IDU2cHg7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMzIsMjIzLDE5MiwwLjE1KTsKICB9CiAgLmltcGFjdC1zdG9yeV9fdGV4dCBoMyB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDIycHgsIDIuNXZ3LCAzMnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICBsaW5lLWhlaWdodDogMS4zOwogIH0KICAuaW1wYWN0LXN0b3J5X190ZXh0IHAgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC43NSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIG1hcmdpbi1ib3R0b206IDE0cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmNvb3Jkcy1ibG9jayB7CiAgICBtYXJnaW4tdG9wOiAzMnB4OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiA0cHg7CiAgfQogIC5jb29yZHMtbGFiZWwgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmNvb3Jkcy12YWx1ZSB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICB9CiAgLmltcGFjdC1zdG9yeV9faW1hZ2UgewogICAgYXNwZWN0LXJhdGlvOiA0LzU7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogIH0KICAuaW1wYWN0LXN0b3J5X19pbWFnZSBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KCiAgLmNvdW50dXAtbnVtYmVyIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB9CgogIC8qIOKUgOKUgCBHT09HTEUgTUFQUyDilIDilIAgKi8KICAuc2VjdGlvbi1tYXAgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmlhbmNvKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogIH0KICAuc2VjdGlvbi1tYXBfX2hlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogMzJweDsKICB9CiAgLnNlY3Rpb24tbWFwX19oZWFkZXIgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAzdncsIDM2cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tdG9wOiA4cHg7CiAgfQogIC5zZWN0aW9uLW1hcF9faGVhZGVyIHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIG1heC13aWR0aDogNDBjaDsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAubWFwLXdyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICAgIGhlaWdodDogNDgwcHg7CiAgfQogIC5tYXAtd3JhcHBlciBpZnJhbWUgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBib3JkZXI6IDA7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLm1hcC1jb29yZHMtYmFyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAzMnB4OwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIHBhZGRpbmc6IDE2cHggMjRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC1pdGVtIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAzcHg7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtbGFiZWwgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbCk7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC12YWwgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtc2VwYXJhdG9yIHsKICAgIHdpZHRoOiAxcHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ib3Jkby1tKTsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC1wbGFjZSB7CiAgICBmbGV4OiAxOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IE1BREUgSU4gSVRBTFkgLyBTVVBQTFkgQ0hBSU4g4pSA4pSAICovCiAgLnNlY3Rpb24tc3VwcGx5IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDgwcHggNXZ3OwogIH0KICAuc3VwcGx5LWhlYWRpbmcgewogICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICB9CiAgLnN1cHBseS1oZWFkaW5nIC5sYWJlbC1zbWFsbCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgfQogIC5zdXBwbHktaGVhZGluZyBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI2cHgsIDN2dywgMzZweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBtYXJnaW46IDA7CiAgfQogIC5zdXBwbHktaW5uZXIgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7CiAgICBnYXA6IDQwcHg7CiAgfQogIC5zdXBwbHktYmxvY2sgewogICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLW9saXZlLWx0KTsKICAgIHBhZGRpbmctdG9wOiAyOHB4OwogIH0KICAuc3VwcGx5LWJsb2NrX19udW0gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiA0MHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICBsaW5lLWhlaWdodDogMTsKICB9CiAgLnN1cHBseS1ibG9ja19fdGl0bGUgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0byk7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zdXBwbHktYmxvY2tfX2Rlc2MgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC8qIOKUgOKUgCBSRUxBVEVEIFBST0RVQ1RTIENBUk9VU0VMIOKUgOKUgCAqLwogIC5zZWN0aW9uLWNhcm91c2VsIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgcGFkZGluZzogODBweCA1dncgOTZweDsKICB9CiAgLmNhcm91c2VsLWhlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA0OHB4OwogIH0KICAuY2Fyb3VzZWwtaGVhZGVyIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgM3Z3LCAzOHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICB9CiAgLmNhcm91c2VsLXdyYXBwZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5jYXJvdXNlbC10cmFjay1vdXRlciB7CiAgICBmbGV4OiAxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICB9CiAgLmNhcm91c2VsLXRyYWNrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDIwcHg7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7CiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogIH0KICAuY2Fyb3VzZWwtdHJhY2suaXMtZHJhZ2dpbmcgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9CiAgLnByb2QtY2FyZCB7CiAgICBmbGV4OiAwIDAgY2FsYygyNSUgLSAxNXB4KTsKICAgIG1pbi13aWR0aDogMDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgfQogIC5wcm9kLWNhcmRfX2ltZy13cmFwIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYXNwZWN0LXJhdGlvOiAzLzQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDogdmFyKC0tY3JlbWEpOwogIH0KICAucHJvZC1jYXJkX19pbWctd3JhcCBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7CiAgfQogIC5wcm9kLWNhcmQ6aG92ZXIgLnByb2QtY2FyZF9faW1nLXdyYXAgaW1nIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQogIC5wcm9kLWNhcmRfX2JvZHkgewogICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXg6IDE7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogIH0KICAucHJvZC1jYXJkX19uYW1lIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19kZXNjIHsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZmxleDogMTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAucHJvZC1jYXJkX19mb290ZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47CiAgICBnYXA6IDhweDsKICAgIG1hcmdpbi10b3A6IGF1dG87CiAgICBmbGV4LXdyYXA6IHdyYXA7CiAgfQogIC5wcm9kLWNhcmRfX3ByaWNlIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIH0KICAucHJvZC1jYXJkX19idG4gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcGFkZGluZzogOHB4IDE4cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1vbGl2ZSk7CiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUpOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCBjb2xvciAwLjJzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19idG46aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUpOwogICAgY29sb3I6IHZhcigtLWJpYW5jbyk7CiAgfQogIC5jYXJvdXNlbC1idG4gewogICAgZmxleC1zaHJpbms6IDA7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvLW0pOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmlhbmNvKTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycywgYmFja2dyb3VuZCAwLjJzOwogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcm91c2VsLWJ0biBzdmcgewogICAgd2lkdGg6IDE4cHg7CiAgICBoZWlnaHQ6IDE4cHg7CiAgICBzdHJva2U6IHZhcigtLW9saXZlLWRrKTsKICB9CiAgLmNhcm91c2VsLWJ0bjpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLW9saXZlKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICB9CiAgLmNhcm91c2VsLWJ0bjpkaXNhYmxlZCB7CiAgICBvcGFjaXR5OiAwLjM7CiAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgfQogIC5jYXJvdXNlbC1kb3RzIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgbWFyZ2luLXRvcDogMzJweDsKICB9CiAgLmNhcm91c2VsLWRvdCB7CiAgICB3aWR0aDogNnB4OwogICAgaGVpZ2h0OiA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEtZGspOwogICAgYm9yZGVyOiBub25lOwogICAgcGFkZGluZzogMDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgdHJhbnNmb3JtIDAuMnM7CiAgfQogIC5jYXJvdXNlbC1kb3QuYWN0aXZlIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTsKICB9CgogIC8qIOKUgOKUgCBSRVNQT05TSVZFIOKUgOKUgCAqLwogIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogICAgLnNlY3Rpb24taGVybywKICAgIC5zZWN0aW9uLW1hdGVyaWFsLAogICAgLnNlY3Rpb24taW1wYWN0IC5pbXBhY3Qtc3RvcnksCiAgICAuc2VjdGlvbi13aXJlbGVzcyB7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICBnYXA6IDQwcHg7CiAgICB9CiAgICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgeyBvcmRlcjogMDsgfQogICAgLmltcGFjdC1jYXJkcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgICAuc3VwcGx5LWlubmVyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMzJweDsgfQogICAgLnBhbGV0dGUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogICAgLnRleHR1cmUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfQogICAgLnNlY3Rpb24td2lyZWxlc3MgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQogICAgLmVkaXRvcmlhbC1ncmlkIHsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87CiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6CiAgICAgICAgImMxIGMyIgogICAgICAgICJjMyBjNCIKICAgICAgICAiYzUgYzUiCiAgICAgICAgImM2IGM3IgogICAgICAgICJjOCBjOCIKICAgICAgICAiYzkgYzkiOwogICAgfQogICAgLmRlc2lnbi1kZXRhaWxzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMzJweDsgcGFkZGluZzogMzJweCAyNHB4OyB9CiAgICAuc2VjdGlvbi1tYXBfX2hlYWRlciB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9CiAgICAuc2VjdGlvbi1tYXBfX2hlYWRlciBwIHsgdGV4dC1hbGlnbjogbGVmdDsgfQogICAgICAuY2Fyb3VzZWwtYnRuIHsgZGlzcGxheTogbm9uZTsgfQogICAgLyogTW9iaWxlOiBrZWluIEthcnVzc2VsbCwgUmFzdGVyIG1pdCAyIFNwYWx0ZW4gw5cgMiBSZWloZW4gKi8KICAgIC5jYXJvdXNlbC10cmFjay1vdXRlciB7IG92ZXJmbG93OiB2aXNpYmxlOyB9CiAgICAuY2Fyb3VzZWwtdHJhY2sgewogICAgICBkaXNwbGF5OiBncmlkOwogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICAgIGdhcDogMTZweDsKICAgICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7CiAgICB9CiAgICAucHJvZC1jYXJkIHsgZmxleDogbm9uZTsgd2lkdGg6IGF1dG87IG1pbi13aWR0aDogMDsgfQogICAgLmNhcm91c2VsLWRvdHMgeyBkaXNwbGF5OiBub25lOyB9ICB9CiAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7CiAgICAuZWRpdG9yaWFsLWdyaWQgewogICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsKICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczoKICAgICAgICAiYzEiICJjMiIgImMzIiAiYzQiICJjNSIgImM2IiAiYzciICJjOCIgImM5IjsKICAgIH0KICAgIC5wYWxldHRlLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0KICB9Cjwvc3R5bGU+CgoKCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgMS4gSEVSTyBERVNDUklQVElPTgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWhlcm8iPgogIDxkaXYgY2xhc3M9InNlY3Rpb24taGVyb19fdGV4dCI+CiAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyI+VkFJQSBDb3ZlciDigJQgV2hlcmUgaXQgY29tZXMgZnJvbTwvc3Bhbj4KICAgIDxoMj5UaGUgYmFyayBvZiBhbiBvbGl2ZSB0cmVlPGJyPnRoYXQgbm8gbG9uZ2VyIGV4aXN0cyw8YnI+YXJvdW5kIHlvdXIgcGhvbmUuPC9oMj4KICAgIDxwPlZBSUEgQ292ZXIgaXMgbWFkZSBmcm9tIGluamVjdGlvbi1tb3VsZGVkIE9saXZlIE1hdHRlciBiaW9jb21wb3NpdGU6IGJpby1iYXNlZCBUUFUgd2l0aCB3b29kIGZpYnJlcyBmcm9tIG9saXZlIHRyZWVzIGZlbGxlZCBieSB0aGUgWHlsZWxsYSBkaXNlYXNlLgo8YnI+PGJyPgpFdmVyeSBjYXNlIGlzIGJvcm4gZnJvbSB0aGUgc2NhbiBvZiBhIHJlYWwgQXB1bGlhbiBvbGl2ZSB0cmVlIGJhcmsuCgpJdCBpcyB0aGUgYWN0dWFsIHBhdHRlcm4gb2YgdHJlZXMgdGhhdCBsaXZlZCB0aHJvdWdoIG9uZSBvZiB0aGUgZ3JlYXRlc3QgZW52aXJvbm1lbnRhbCBlbWVyZ2VuY2llcyBpbiB0aGUgTWVkaXRlcnJhbmVhbi4KPGJyPjxicj4KVGhlIG5hdHVyYWwgZmlicmVzIGVtZXJnZSBmcm9tIHRoZSBtYXRlcmlhbCwgdGhlIGdyYWluIHJlbWFpbnMgdmlzaWJsZSwgdGhlIGZlZWwgc3RheXMgd2FybSBhbmQgdGFjdGlsZS4KCkV2ZXJ5IGNvdmVyIG1vZGVsIGRpZmZlcnMgZnJvbSB0aGUgb3RoZXJzIGJlY2F1c2UgdGhlIGJhcmsgaXQgY29tZXMgZnJvbSB3YXMgZGlmZmVyZW50IHRvby48L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZXJvX19pbWFnZSIgc3R5bGU9ImFzcGVjdC1yYXRpbzogMTYvOTsgb3ZlcmZsb3c6IGhpZGRlbjsgZm9udC1zaXplOiAwOyBsaW5lLWhlaWdodDogMDsiPgogICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2xfZkYwRzY3RWt3IiB0aXRsZT0iVkFJQSBDb3ZlciDigJMgd2hlcmUgaXQgY29tZXMgZnJvbSIgYWxsb3dmdWxsc2NyZWVuPSIiIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBzdHlsZT0id2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGJvcmRlcjowOyBkaXNwbGF5OmJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7Ij48L2lmcmFtZT4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAyLiBPTElWRSBNQVRURVIg4oCUIFRIRSBNQVRFUklBTArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLW1hdGVyaWFsIj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW1hdGVyaWFsX19pbWFnZSI+CiAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS8xNDU3MFE1QTc1Mjgtc2NhbGVkLmpwZyIgYWx0PSJPbGl2ZSBNYXR0ZXIgbWF0ZXJpYWwgZGV0YWlsIOKAkyB0ZXh0dXJlIGFuZCBncmFpbiBvZiBvbGl2ZSB3b29kIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW1hdGVyaWFsX190ZXh0Ij4KICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5PTElWRSBNQVRURVLihKI8L3NwYW4+CiAgICA8aDI+VGhlIG1hdGVyaWFsIHRoYXQgZGlkbid0IGV4aXN0LjwvaDI+CiAgICA8cD5Gb3IgeWVhcnMgd2UgYXNrZWQgb3Vyc2VsdmVzIG9uZSBxdWVzdGlvbjogd2hhdCBjYW4gdGhlIHdvb2Qgb2Ygb2xpdmUgdHJlZXMgc3RydWNrIGJ5IFh5bGVsbGEgYmVjb21lPzwvcD4KCiAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtaGlnaGxpZ2h0Ij5UaGUgYW5zd2VyIGlzIE9saXZlIE1hdHRlcuKEoi48L3NwYW4+CgogICAgPHA+QSBuZXcgYmlvY29tcG9zaXRlIGRldmVsb3BlZCBieSBWQUlBIHRoYXQgY29tYmluZXMgb2xpdmUgd29vZCBmaWJyZXMgYW5kIGJpby1iYXNlZCBUUFUgdG8gY3JlYXRlIGEgdGVjaG5pY2FsLCBkdXJhYmxlIG1hdGVyaWFsIHN1aXRlZCBmb3IgZXZlcnlkYXkgdXNlLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJtYXRlcmlhbC10YWdsaW5lIj4KICAgICAgPHNwYW4+SXQncyBub3QganVzdCB3b29kPC9zcGFuPgogICAgICA8c3Bhbj5JdCdzIG5vdCBqdXN0IHBvbHltZXI8L3NwYW4+CiAgICAgIDxzcGFuPkl0J3Mgc29tZXRoaW5nIG5ldzwvc3Bhbj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1hdGVyaWFsLXBpbGxzIj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPkJpby1iYXNlZCBUUFU8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj5PbGl2ZSBmaWJyZXMgKFh5bGVsbGEpPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+QW50aWJhY3RlcmlhbCBwcm9wZXJ0aWVzPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+SW5qZWN0aW9uIG1vdWxkaW5nPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+VXAgdG8gNTQlIHJlbmV3YWJsZTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPjEwMCUgSXRhbGlhbiBzdXBwbHkgY2hhaW48L3NwYW4+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAzLiBURUNITklDQUwgU1BFQ0lGSUNBVElPTlMK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1zcGVjcyI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1zcGVjc19faGVhZGVyIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+VGVjaG5pY2FsIGRldGFpbDwvc3Bhbj4KICAgIDxoMj5TcGVjaWZpY2F0aW9uczwvaDI+CiAgPC9kaXY+CiAgPHRhYmxlIGNsYXNzPSJzcGVjcy10YWJsZSI+CiAgICA8dGJvZHk+CiAgICA8dHI+PHRkPk1hdGVyaWFsPC90ZD48dGQ+PHN0cm9uZz4mbmJzcDtPbGl2ZSBNYXR0ZXI8L3N0cm9uZz4g4oCUIEJpby1iYXNlZCBUUFUgYW5kIG9saXZlIGZpYnJlczwvdGQ+PC90cj4KICAgIDx0cj48dGQ+VGhpY2tuZXNzPC90ZD48dGQ+PHN0cm9uZz4mbmJzcDsxLjggbW08L3N0cm9uZz4gYmFjayDigJQgPHN0cm9uZz4yIG1tPC9zdHJvbmc+IHNpZGVzPC90ZD48L3RyPgogICAgPHRyPjx0ZD5TY3JlZW4gcHJvdGVjdGlvbjwvdGQ+PHRkPiZuYnNwO1JhaXNlZCBlZGdlcyBvbiBzY3JlZW4gYW5kIGNhbWVyYTwvdGQ+PC90cj4KICAgIDx0cj48dGQ+UHJvcGVydGllczwvdGQ+PHRkPjxzdHJvbmc+Jm5ic3A7V2l0aCBhbnRpYmFjdGVyaWFsIHByb3BlcnRpZXM8L3N0cm9uZz48L3RkPjwvdHI+CiAgICA8dHI+PHRkPk1hZ25ldGljIGFjY2Vzc29yaWVzPC90ZD48dGQ+Jm5ic3A7Tm90IGNvbXBhdGlibGUgd2l0aCBtYWduZXRpYyBhdHRhY2htZW50IOKAlCB3aXJlbGVzcyBjaGFyZ2luZyBpcyBub3QgYWZmZWN0ZWQ8L3RkPjwvdHI+CiAgICA8dHI+PHRkPlByb2R1Y3Rpb248L3RkPjx0ZD4mbmJzcDtJbmplY3Rpb24gbW91bGRpbmcg4oCUIDxzdHJvbmc+MTAwJSBJdGFsaWFuIHN1cHBseSBjaGFpbjwvc3Ryb25nPjwvdGQ+PC90cj4KICAgIDx0cj48dGQ+UmVjeWNsYWJpbGl0eTwvdGQ+PHRkPiZuYnNwOzEwMCUgcmVjeWNsYWJsZTwvdGQ+PC90cj4KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICA0LiBXSVJFTEVTUyBDSEFSR0lORwrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXdpcmVsZXNzIj4KICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy1pY29uLWJsb2NrIj4KICAgIDxkaXYgY2xhc3M9IndpcmVsZXNzLWljb24iPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDIwaC4wMU01LjYgMTAuNkE4IDggMCAwIDEgMTguNCAxMC42Ij48L3BhdGg+PHBhdGggZD0iTTIgN2ExMiAxMiAwIDAgMSAyMCAwIj48L3BhdGg+PHBhdGggZD0iTTguOSAxNC4xQTQgNCAwIDAgMSAxNSAxNC4xIj48L3BhdGg+PC9zdmc+CiAgICA8L2Rpdj4KICAgIDxoMz5XaXJlbGVzczxicj5jaGFyZ2luZzwvaDM+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0id2lyZWxlc3MtdGV4dCI+CiAgICA8cD5XaXJlbGVzcyBjaGFyZ2luZyB3b3JrcyBub3JtYWxseSB3aXRoIGFsbCBzdGFuZGFyZHMuIFRoZXJlIGlzIG5vIG5lZWQgdG8gcmVtb3ZlIHRoZSBjYXNlLjwvcD4KICAgIDxwPlRoZSBvbGl2ZSB3b29kIGZpYnJlcyBpbiB0aGUgT2xpdmUgTWF0dGVyIG1hdGVyaWFsIHNsaWdodGx5IHJlZHVjZSB0aGUgbWFnbmV0aWMgYXR0cmFjdGlvbiBmb3JjZTogZW5lcmd5IHRyYW5zbWlzc2lvbiBpcyBub3QgY29tcHJvbWlzZWQsIGJ1dCBhY2Nlc3NvcmllcyB0aGF0IGF0dGFjaCB2aWEgbWFnbmV0aWMgcHVsbCDigJQgc3VjaCBhcyB3YWxsZXRzIGFuZCBNYWdTYWZlIG1vdW50cyDigJQgYXJlIG5vdCBjb21wYXRpYmxlLjwvcD4KICAgIDxkaXYgY2xhc3M9IndpcmVsZXNzLW5vdGUiPgogICAgICA8c3ZnIHN0eWxlPSJ3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXRvcDoycHg7c3Ryb2tlOnZhcigtLW9saXZlKTtmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjEuNTtzdHJva2UtbGluZWNhcDpyb3VuZCIgdmlld0JveD0iMCAwIDI0IDI0Ij48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PGxpbmUgeDE9IjEyIiB5MT0iOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT48bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyLjAxIiB5Mj0iMTYiPjwvbGluZT48L3N2Zz4KICAgICAgPHNwYW4+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgdmVyeSBuYXR1cmUgb2YgdGhlIG1hdGVyaWFsIOKAlCBtYWRlIGZyb20gcmVhbCBvbGl2ZSB3b29kIGZpYnJlcyDigJQgaXMgdGhlIHJlYXNvbiBmb3IgdGhpcyBjaGFyYWN0ZXJpc3RpYy4gSXQgaXMgbm90IGEgZGVzaWduIGZsYXc7IGl0IGlzIHRoZSBjb25zZXF1ZW5jZSBvZiBjaG9vc2luZyBhbiBhdXRoZW50aWMgbWF0ZXJpYWwuPC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNS4gREVTSUdOIOKAlCBURVhUVVJFICYgUEFMRVRURQrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWRlc2lnbiI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNpZ25fX2hlYWRlciI+CiAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPkRlc2lnbjwvc3Bhbj4KICAgIDxoMj5TZXZlbiBvbGl2ZSB0cmVlcywgc2V2ZW4gdGV4dHVyZXMuPGJyPkZvdXIgY29sb3VycyBvZiB0aGUgU2FsZW50by48L2gyPgogICAgPHA+RXZlcnkgcGhvbmUgbW9kZWwgY2FycmllcyBhIGRpZmZlcmVudCBiYXJrLiBTZXZlbiBtb2RlbHMsIHNldmVuIHRyZWVzLCBzZXZlbiB1bmlxdWUgdGV4dHVyZXMuCkF0IHRoZSBjZW50cmUgb2YgZWFjaCBjYXNlLCB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGZpcnN0IEZvcmVzdCBvZiBSZWJpcnRoIGluIEFwdWxpYSBhcmUgZW1ib3NzZWQgaW4gcmVsaWVmLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tdGFnbGluZSI+CiAgICAgIDxzcGFuPkEgcmVhbCBwbGFjZTwvc3Bhbj4KICAgICAgPHNwYW4+QSByZWFsIHN0b3J5PC9zcGFuPgogICAgICA8c3Bhbj5BIHJlYWwgaW1wYWN0PC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDwhLS0gU0lEIG5vdGUgLS0+CiAgPGRpdiBjbGFzcz0iZGVzaWduLXNpZC1ub3RlIj4KICAgIDxzdHJvbmc+RGVzaWduIGRldmVsb3BlZCB3aXRoIFNJRCDigJQgU2N1b2xhIEl0YWxpYW5hIERlc2lnbiBkaSBQYWRvdmE8L3N0cm9uZz4sIGFuIGFjYWRlbWljIGluc3RpdHV0ZSByZWNvZ25pc2VkIGJ5IHRoZSBJdGFsaWFuIE1pbmlzdHJ5IG9mIFVuaXZlcnNpdHkgYW5kIFJlc2VhcmNoLCBwYXJ0IG9mIHRoZSBHYWxpbGVvIFZpc2lvbmFyeSBEaXN0cmljdCwgYSByZXNlYXJjaCBhbmQgaW5ub3ZhdGlvbiBodWIgZm91bmRlZCBpbiAxOTkxIGFzIHRoZSBmaXJzdCBpbnN0aXR1dGlvbiBpbiBub3J0aC1lYXN0ZXJuIEl0YWx5IHNwZWNpYWxpc2VkIGluIGluZHVzdHJpYWwgZGVzaWduLgogIDwvZGl2PgoKICA8IS0tIEZvdXIgaWRlbnRpdHkgZWxlbWVudHMgLS0+CiAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbHMiPgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjAxIOKAlCBUZXh0dXJlPC9zcGFuPgogICAgICA8aDQ+VGhlIGJhcmsgYXMgc3VyZmFjZTwvaDQ+CiAgICAgIDxwPlRoZSBzdXJmYWNlIG9mIGV2ZXJ5IGNhc2UgcmVwcm9kdWNlcyB0aGUgc2NhbiBvZiBhIHJlYWwgQXB1bGlhbiBvbGl2ZSB0cmVlIGJhcmsuIEVhY2ggbW9kZWwgY2FycmllcyBhIGRpZmZlcmVudCB0ZXh0dXJlOiBzZXZlbiBtb2RlbHMsIHNldmVuIGJhcmtzLCBzZXZlbiB1bmlxdWUgc3VyZmFjZXMuIFRoaXMgaXMgbm90IGEgZ2VuZXJpYyB3b29kIGluc3BpcmF0aW9uOiBpdCBpcyB0aGUgYWN0dWFsIGJhcmsgb2YgdGhvc2UgdHJlZXMuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlsLWl0ZW0iPgogICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLW51bSI+MDIg4oCUIEZlZWw8L3NwYW4+CiAgICAgIDxoND5UaGUgdG91Y2ggb2YgdGhlIG1hdGVyaWFsPC9oND4KICAgICAgPHA+VGhlIG9saXZlIHdvb2QgZmlicmVzIGFyZSB2aXNpYmxlIGFuZCB0YW5naWJsZS4gVGhlIGV5ZSBzZWVzIHRoZSBuYXR1cmFsIGdyYWluIG9mIHRoZSB3b29kLCB0aGUgaGFuZCBmZWVscyBhIHdhcm0sIG1hdHRlIGNvbnNpc3RlbmN5IOKAlCBmYXIgZnJvbSB0aGUgY29sZG5lc3Mgb2YgY29udmVudGlvbmFsIHBsYXN0aWNzLiBJdCBpcyB0aGUgcGh5c2ljYWwgcHJlc2VuY2Ugb2YgdGhlIG1hdGVyaWFsIHRoYXQgdGVsbHMgdGhlIHN0b3J5IG9mIGl0cyBvcmlnaW4uPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlsLWl0ZW0iPgogICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLW51bSI+MDMg4oCUIENvb3JkaW5hdGVzPC9zcGFuPgogICAgICA8aDQ+QSBwcmVjaXNlIHBsYWNlIGVtYm9zc2VkIGluIHJlbGllZjwvaDQ+CiAgICAgIDxwPkF0IHRoZSBjZW50cmUgb2YgZXZlcnkgY2FzZSwgdGhlIGdlb2dyYXBoaWMgY29vcmRpbmF0ZXMgb2YgdGhlIGZpcnN0IEZvcmVzdCBvZiBSZWJpcnRoIGluIEFwdWxpYSwgaW4gU3BlY2NoaWEgKExFKSDigJQgMzkuOTQ3MDDCsCBOIC8gMTguMjcyOTLCsCBFIOKAlCBhcmUgZW5ncmF2ZWQsIGFjY29tcGFuaWVkIGJ5IHRoZSBlbWJvc3NlZCBwcm9maWxlIG9mIHRoZSB0ZXJyaXRvcnkgc2VlbiBmcm9tIGFib3ZlLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjA0IOKAlCBQYWxldHRlPC9zcGFuPgogICAgICA8aDQ+Rm91ciBjb2xvdXJzIG9mIHRoZSBTYWxlbnRvPC9oND4KICAgICAgPHA+T2xpdmUgR3JlZW4sIFBhc3RlbCBUdXJxdW9pc2UsIFRlcnJhIEJyb3duLCBMaWdodCBJdm9yeTogZm91ciBjb2xvdXJzIGJvcm4gZnJvbSBvYnNlcnZpbmcgdGhlIEFwdWxpYW4gbGFuZHNjYXBlLCBmcm9tIHRoZSByZWQgZWFydGggdG8gdGhlIHJha2luZyBsaWdodCBvbiB0aGUgQWRyaWF0aWMgU2VhLjwvcD4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8IS0tIENvbG91ciBwYWxldHRlIC0tPgogIDxwIGNsYXNzPSJwYWxldHRlLXRpdGxlIj5UaGUgcGFsZXR0ZTwvcD4KICA8ZGl2IGNsYXNzPSJwYWxldHRlLXJvdyI+CiAgICA8ZGl2IGNsYXNzPSJwYWxldHRlLXN3YXRjaCI+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1jb2xvciIgc3R5bGU9ImJhY2tncm91bmQ6ICM2QjZCM0E7Ij48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWluZm8iPgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1uYW1lIj5PbGl2ZSBHcmVlbjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5UaGUgY29sb3VyIG9mIG9saXZlIGxlYXZlcyBpbiB0aGUgU2FsZW50bzwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFsZXR0ZS1zd2F0Y2giPgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtY29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjODlDNEM4OyI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtbmFtZSI+UGFzdGVsIFR1cnF1b2lzZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5UaGUgY29sb3VyIG9mIHRoZSBBZHJpYXRpYyBTZWE8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhbGV0dGUtc3dhdGNoIj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWNvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDogIzZGNEUzNzsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtaW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLW5hbWUiPlRlcnJhIEJyb3duPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWRlc2MiPlRoZSBjb2xvdXIgb2YgdGhlIEFwdWxpYW4gZWFydGg8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhbGV0dGUtc3dhdGNoIj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWNvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDogI0U4RDhCMDsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtaW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLW5hbWUiPkxpZ2h0IEl2b3J5PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWRlc2MiPlRoZSBjb2xvdXIgb2YgdGhlIGdvbGRlbiBleHBhbnNlcyBvZiB0aGUgU2FsZW50bzwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDYuIEVESVRPUklBTCBQSE9UTyBHUklECuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tZWRpdG9yaWFsIj4KICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtZ3JpZCI+CgogICAgPCEtLSBjMTogTElGRVNUWUxFIE9MSVZFIE1BVFRFUiDigJQgdGFsbCBsZWZ0IGNlbGwsIHNwYW5zIDIgcm93cyAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTEiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLUxJRkVTVFlMRS1PTElWRS1NQVRURVItc2NhbGVkLmpwZyIgYWx0PSJWQUlBIENvdmVyIOKAkyBsaWZlc3R5bGUgT2xpdmUgTWF0dGVyIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPkxpZmVzdHlsZTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+T2xpdmUgTWF0dGVyPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjMjogdGV4dCBjZWxsIOKAlCBWQUlBIHBoaWxvc29waHkgLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlZGl0b3JpYWwtY2VsbC0tdGV4dCBlYy0yIj4KICAgICAgPHNwYW4gY2xhc3M9ImV5ZWJyb3ciPlZBSUEgUGhpbG9zb3BoeTwvc3Bhbj4KICAgICAgPGgzPiJXZSByZWdlbmVyYXRlPGJyPnRoZSBNZWRpdGVycmFuZWFuPGJyPnNjcnVibGFuZC4iPC9oMz4KICAgICAgPHA+VkFJQSBDb3ZlciBpcyB0aGUgZmlyc3QgcHJvZHVjdCBvZiB0aGUgUHVnbGlhIFByb2plY3QuIEEgcHJvamVjdCBib3JuIHRvIHRyYW5zZm9ybSBhIGNvbGxlY3RpdmUgbG9zcyBpbnRvIGEgbmV3IHBvc3NpYmlsaXR5LiBFdmVyeSBjYXNlIGRpcmVjdGx5IGNvbnRyaWJ1dGVzIHRvIHRoZSByZWdlbmVyYXRpb24gb2YgTWVkaXRlcnJhbmVhbiBzY3J1YmxhbmQgaW4gU3BlY2NoaWEgKExFKS4gT25lIHNxdWFyZSBtZXRyZSBhdCBhIHRpbWUuPC9wPgogICAgPC9kaXY+CgogICAgPCEtLSBjMzogT0dOSSBHSU9STk8gLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlYy0zIj4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVElMRS1PR05JLUdJT1JOTy1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIg4oCTIGV2ZXJ5IGRheSI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5EZXRhaWw8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPkV2ZXJ5IGRheTwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzQ6IFNFTVBSRSBDT04gVEUgLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlYy00Ij4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVElMRS1TRU1QUkUtQ09OLVRFLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgYWx3YXlzIHdpdGggeW91Ij4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPk9uIHRoZSBtb3ZlPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcC10ZXh0Ij5BbHdheXMgd2l0aCB5b3U8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM1OiBkYXJrIHN0YXQgY2VsbCDigJQgMSBtwrIgLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlZGl0b3JpYWwtY2VsbC0tZGFyayBlYy01IiBzdHlsZT0iYmFja2dyb3VuZDogdmFyKC0tdGVycmEpOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93IiBzdHlsZT0iY29sb3I6IHZhcigtLXRlcnJhLWx0KTsiPkltcGFjdDwvc3Bhbj4KICAgICAgPGRpdiBjbGFzcz0iYmlnLW51bWJlciIgc3R5bGU9ImZvbnQtc2l6ZTogY2xhbXAoMzJweCwzLjV2dyw1MnB4KTsgbWFyZ2luLWJvdHRvbToxMnB4OyBjb2xvcjogdmFyKC0tc2FiYmlhKTsiPjEgbcKyPGJyPm9mIHNjcnVibGFuZDxicj5yZWdlbmVyYXRlZC48L2Rpdj4KICAgICAgPHAgc3R5bGU9ImNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuOCk7Ij5Gb3IgZXZlcnkgY2FzZSBzb2xkLjwvcD4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzY6IFRSQURJWklPTkUgRSBJTk5PVkFaSU9ORSDigJQgd2lkZSBjZWxsIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWMtNiI+CiAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1RJTEUtVFJBRElaSU9ORS1FLUlOTk9WQVpJT05FLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgdHJhZGl0aW9uIGFuZCBpbm5vdmF0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPk1hdGVyaWFsPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcC10ZXh0Ij5UcmFkaXRpb24gYW5kIGlubm92YXRpb248L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM3OiB0ZXh0IGNlbGwg4oCUIGNvb3JkaW5hdGVzIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLXRleHQgZWMtNyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5FbmdyYXZlZCBjb29yZGluYXRlczwvc3Bhbj4KICAgICAgPGgzPjM5Ljk0N8KwTjxicj4xOC4yNzLCsEU8L2gzPgogICAgICA8cD5TcGVjY2hpYSAoTEUpIOKAlCBGaXJzdCBGb3Jlc3Qgb2YgUmViaXJ0aCBpbiBBcHVsaWEuIFRoZSBzYW1lIGNvb3JkaW5hdGVzIGVuZ3JhdmVkIG9uIHlvdXIgY2FzZS48L3A+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM4OiBMRUdHRVJPIEFVVEVOVElDTyDigJQgd2lkZSBjZWxsIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWMtOCI+CiAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1RJTEUtTEVHR0VSTy1BVVRFTlRJQ08tc2NhbGVkLmpwZyIgYWx0PSJWQUlBIENvdmVyIOKAkyBsaWdodCwgYXV0aGVudGljIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPkV2ZXJ5IGRheTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+TGlnaHQsIGF1dGhlbnRpYzwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzk6IGRhcmsgc3RhdCBjZWxsIOKAlCAxMDAlIEl0YWxpYW4gc3VwcGx5IGNoYWluIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLWRhcmsgZWMtOSIgc3R5bGU9ImJhY2tncm91bmQ6IHZhcigtLW1hcmUpOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93IiBzdHlsZT0iY29sb3I6IHZhcigtLWNyZW1hKTsiPk1hZGUgaW4gSXRhbHk8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImJpZy1udW1iZXIiIHN0eWxlPSJmb250LXNpemU6IGNsYW1wKDI4cHgsM3Z3LDQ0cHgpOyBtYXJnaW4tYm90dG9tOjEycHg7IGNvbG9yOiB2YXIoLS1iaWFuY28pOyI+MTAwJTxicj5JdGFsaWFuPGJyPnN1cHBseSBjaGFpbi48L2Rpdj4KICAgICAgPHAgc3R5bGU9ImNvbG9yOiByZ2JhKDI1MCwyNTAsMjQ3LDAuODUpOyI+RnJvbSBBcHVsaWFuIG9saXZlIHdvb2QgdG8gaW5qZWN0aW9uIG1vdWxkaW5nLjwvcD4KICAgIDwvZGl2PgoKICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICA3LiBFTlZJUk9OTUVOVEFMIElNUEFDVCArIEFQVUxJQSBTVE9SWQrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWltcGFjdCI+CiAgPGRpdiBjbGFzcz0iaW1wYWN0LWludHJvIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCIgc3R5bGU9ImNvbG9yOnZhcigtLW9saXZlLWx0KTsiPkltcGFjdDwvc3Bhbj4KICAgIDxoMj5FdmVyeSBjYXNlPGJyPnJlZ2VuZXJhdGVzIDEgbcKyPGJyPm9mIE1lZGl0ZXJyYW5lYW4gc2NydWJsYW5kLjwvaDI+CiAgICA8cD5UaGUgY29udHJpYnV0aW9uIGlzIG5vdCBzeW1ib2xpYy4gRXZlcnkgcHVyY2hhc2UgZGlyZWN0bHkgc3VwcG9ydHMgdGhlIHBsYW50aW5nIGFuZCByZXN0b3JhdGlvbiBvZiBNZWRpdGVycmFuZWFuIHNjcnVibGFuZCBpbiB0aGUgZmlyc3QgRm9yZXN0IG9mIFJlYmlydGggaW4gQXB1bGlhLgpUaGUgc2FtZSBjb29yZGluYXRlcyB5b3UgZmluZCBlbmdyYXZlZCBvbiB5b3VyIGNhc2UuPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZHMiPgogICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmQiPgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fbnVtYmVyIj4KICAgICAgICA8c3Bhbj4yME0rPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX3VuaXQiPm9saXZlIHRyZWVzIGFmZmVjdGVkPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5TaW5jZSB0aGUgYXJyaXZhbCBvZiBYeWxlbGxhIGluIDIwMTMsIG92ZXIgMjAgbWlsbGlvbiBBcHVsaWFuIG9saXZlIHRyZWVzIGhhdmUgYmVlbiBjb21wcm9taXNlZC4gT25lIG9mIHRoZSBtb3N0IHNldmVyZSBlbnZpcm9ubWVudGFsIGVtZXJnZW5jaWVzIGluIEV1cm9wZS48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmQiPgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fbnVtYmVyIj4KICAgICAgICA8c3Bhbj4xIG3Csjwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX191bml0Ij5wZXIgY2FzZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fZGVzYyI+RXZlcnkgY2FzZSBzb2xkIGNvbnRyaWJ1dGVzIHRvIHRoZSByZWZvcmVzdGF0aW9uIG9mIDEgbcKyIG9mIE1lZGl0ZXJyYW5lYW4gc2NydWJsYW5kIGluIFNwZWNjaGlhIChMRSksIGluIHRoZSBmaXJzdCBGb3Jlc3Qgb2YgUmViaXJ0aCBpbiBBcHVsaWEuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkIj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX251bWJlciI+CiAgICAgICAgPHNwYW4+MTAwJTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX191bml0Ij5NYWRlIGluIEl0YWx5PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5EZXNpZ24gZGV2ZWxvcGVkIHdpdGggU0lEIFNjdW9sYSBJdGFsaWFuYSBEZXNpZ24gZGkgUGFkb3ZhLiBQcm9kdWN0aW9uIGVudGlyZWx5IGluIEl0YWx5LiBUaGUgbWF0ZXJpYWwgaXMgYWdyaWN1bHR1cmFsIHdhc3RlOiBmaWJyZXMgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUgZGVzdGluZWQgZm9yIGRpc3Bvc2FsLjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeSI+CiAgICA8ZGl2IGNsYXNzPSJpbXBhY3Qtc3RvcnlfX3RleHQiPgogICAgICA8aDM+V2h5IEFwdWxpYSw8YnI+d2h5IG5vdy48L2gzPgogICAgICA8cD5Gb3IgeWVhcnMgd2Ugc2VhcmNoZWQgZm9yIGEgd2F5IHRvIGJyaW5nIFZBSUEncyByZWdlbmVyYXRpdmUgbW9kZWwgdG8gQXB1bGlhLiBXZSBsaXN0ZW5lZCB0byBmYXJtZXJzLCBzY2llbnRpc3RzLCBpbnN0aXR1dGlvbnMgYW5kIG9yZGluYXJ5IHBlb3BsZSB0byB1bmRlcnN0YW5kIHRvZ2V0aGVyIGhvdyB0byByZXNwb25kLiBOb3QgdG8gcmVwbGFjZSB3aGF0IHdhcyBsb3N0LCBidXQgdG8gbGV0IHNvbWV0aGluZyBuZXcgZ3Jvdy48L3A+CiAgICAgIDxwPkl0IGlzIGZyb20gdGhpcyBsaXN0ZW5pbmcgdGhhdCBPbGl2ZSBNYXR0ZXIgd2FzIGJvcm46IGEgbWF0ZXJpYWwgdGhhdCB1bml0ZXMgd2hhdCBzZWVtZWQgbGlrZSB3YXN0ZSB3aXRoIHRoZSBtb3N0IGFkdmFuY2VkIHJlc2VhcmNoIGludG8gYmlvLWJhc2VkIHBvbHltZXJzLiBBIHVuaW9uIGJldHdlZW4gdGVycml0b3JpYWwgaWRlbnRpdHkgYW5kIHRlY2huaWNhbCBpbm5vdmF0aW9uLjwvcD4KICAgICAgPHA+T2xpdmUgd29vZCBmcm9tIHRyZWVzIHN0cnVjayBieSBYeWxlbGxhIGNhbiBiZSBtb3ZlZCBzYWZlbHksIGluIGNvbXBsaWFuY2Ugd2l0aCBFRlNBIHJlZ3VsYXRpb25zIGFuZCB0aG9zZSBvZiB0aGUgQXB1bGlhIFJlZ2lvbi4gV2UgdHJhbnNmb3JtIGl0IGluc3RlYWQgb2YgZGlzcG9zaW5nIG9mIGl0LjwvcD4KICAgICAgPGRpdiBjbGFzcz0iY29vcmRzLWJsb2NrIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLWxhYmVsIj5Gb3Jlc3Qgb2YgUmViaXJ0aCDigJQgU3BlY2NoaWEgKExFKTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLXZhbHVlIj4zOcKwNTcnTiDCtyAxOMKwMTAnRTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeV9faW1hZ2UiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS8wNDQwUTVBNTA2Mi0xLTEtc2NhbGVkLmpwZyIgYWx0PSJMYW5kc2NhcGUgd2l0aCBBcHVsaWFuIG9saXZlIHRyZWVzIOKAkyBTYWxlbnRvLCBtaXggb2YgZGVhZCB0cmVlcyBhbmQgbGl2aW5nIHZlZ2V0YXRpb24iPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgOC4gTUFQIOKAlCBGT1JFU1QgT0YgUkVCSVJUSArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLW1hcCI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1tYXBfX2hlYWRlciI+CiAgICA8ZGl2PgogICAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPkZPUkVTVCBPRiBSRUJJUlRIPC9zcGFuPgogICAgICA8aDI+VGhlIGNvb3JkaW5hdGVzIHlvdSBjYXJyeSBpbiB5b3VyIHBvY2tldC48L2gyPgogICAgPC9kaXY+CiAgICA8cD5UaGUgc2FtZSBjb29yZGluYXRlcyBlbmdyYXZlZCBvbiBldmVyeSBjYXNlLiBBIHJlYWwgcGxhY2UsIGEgbWVhc3VyYWJsZSBpbXBhY3QuPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1hcC13cmFwcGVyIj4KICAgIDxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWQ\/cGI9ITFtMTghMW0xMiExbTMhMWQxMjE2OC41ITJkMTguMjg0NSEzZDM5Ljk0NzIhMm0zITFmMCEyZjAhM2YwITNtMiExaTEwMjQhMmk3NjghNGYxMy4xITNtMyExbTIhMXMweDEzNDUzYTdiOGE2YTIzZjElM0EweDNlM2MzZTNjM2UzYzNlM2MhMnNTcGVjY2hpYSUyQyUyMExFJTJDJTIwSXRhbGlhITVlMCEzbTIhMXNpdCEyc2l0ITR2MTcxNzE1NjgwMDAwMCE1bTIhMXNpdCEyc2l0IiBhbGxvd2Z1bGxzY3JlZW49IiIgbG9hZGluZz0ibGF6eSIgcmVmZXJyZXJwb2xpY3k9Im5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIiB0aXRsZT0iU3BlY2NoaWEgKExFKSDigJMgRm9yZXN0IG9mIFJlYmlydGgiPjwvaWZyYW1lPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1hcC1jb29yZHMtYmFyIj4KICAgIDxzcGFuIGNsYXNzPSJjb29yZC1wbGFjZSI+Rmlyc3QgRm9yZXN0IG9mIFJlYmlydGggaW4gQXB1bGlhIOKAlCBTcGVjY2hpYSAoTEUpLCBJdGFseTwvc3Bhbj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICA5LiBNQURFIElOIElUQUxZIFNVUFBMWSBDSEFJTgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXN1cHBseSI+CiAgPGRpdiBjbGFzcz0ic3VwcGx5LWhlYWRpbmciPgogICAgPHNwYW4gY2xhc3M9ImxhYmVsLXNtYWxsIj5TdXBwbHkgY2hhaW48L3NwYW4+CiAgICA8aDI+RnJvbSBhZ3JpY3VsdHVyYWwgd2FzdGU8YnI+dG8gYSBuZXcgbWF0ZXJpYWwuPC9oMj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJzdXBwbHktaW5uZXIiPgogICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrIj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX19udW0iPjAxPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fdGl0bGUiPlJhdyBtYXRlcmlhbCBmcm9tIGFncmljdWx0dXJhbCB3YXN0ZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX2Rlc2MiPldvb2QgZmlicmVzIGZyb20gb2xpdmUgdHJlZXMgZmVsbGVkIGJ5IFh5bGVsbGEgYXJlIGNvbGxlY3RlZCBkaXJlY3RseSBmcm9tIHRoZSBhZmZlY3RlZCBBcHVsaWFuIGZhcm1zLiBNYXRlcmlhbCB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBkZXN0aW5lZCBmb3IgZGlzcG9zYWwuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9jayI+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fbnVtIj4wMjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX3RpdGxlIj5SZXNlYXJjaCBhbmQgZGVzaWduPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fZGVzYyI+VGhlIE9saXZlIE1hdHRlciBiaW9jb21wb3NpdGUgd2FzIGRldmVsb3BlZCBpbiBjb2xsYWJvcmF0aW9uIHdpdGggU0lEIOKAlCBTY3VvbGEgSXRhbGlhbmEgRGVzaWduIGRpIFBhZG92YS4gRnJvbSBtYXRlcmlhbCBmb3JtdWxhdGlvbiB0byBiYXJrIHNjYW5uaW5nOiBldmVyeXRoaW5nIGlzIGJvcm4gaW4gSXRhbHkuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9jayI+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fbnVtIj4wMzwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX3RpdGxlIj5JdGFsaWFuIGluamVjdGlvbiBtb3VsZGluZyBwcm9kdWN0aW9uPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fZGVzYyI+VGhlIGNhc2VzIGFyZSBwcm9kdWNlZCBieSBpbmplY3Rpb24gbW91bGRpbmcgaW4gSXRhbGlhbiBmYWNpbGl0aWVzLiBFdmVyeSB0ZXh0dXJlIGlzIHJlcHJvZHVjZWQgd2l0aCBtaWxsaW1ldHJlIHByZWNpc2lvbiBmcm9tIHRoZSBvcmlnaW5hbCBiYXJrIHNjYW4uPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAxMC4gUkVMQVRFRCBQUk9EVUNUUyBDQVJPVVNFTArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWNhcm91c2VsIj4KICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC1oZWFkZXIiPgogICAgPHNwYW4gY2xhc3M9ImxhYmVsLXNtYWxsIj5UaGUgVkFJQSBmYW1pbHk8L3NwYW4+CiAgICA8aDI+QnV5IHRoZW0gdG9nZXRoZXI8L2gyPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNhcm91c2VsLXdyYXBwZXIiPgogICAgPGJ1dHRvbiBjbGFzcz0iY2Fyb3VzZWwtYnRuIGNhcm91c2VsLWJ0bi0tcHJldiIgYXJpYS1sYWJlbD0iUHJldmlvdXMiPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiI+PC9wb2x5bGluZT48L3N2Zz4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtdHJhY2stb3V0ZXIiIGlkPSJjYXJvdXNlbE91dGVyIj4KICAgICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtdHJhY2siIGlkPSJjYXJvdXNlbFRyYWNrIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmQiPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9lbi9wcm9kdWN0L3ZhaWEtY3ViZS8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9DVUJFLmpwZyIgYWx0PSJWQUlBIEN1YmUiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19ib2R5Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fbmFtZSI+VkFJQSBDdWJlPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19kZXNjIj5OYXR1cmFsIGFjb3VzdGljIGFtcGxpZmllci4gMSBDdWJlID0gMSB0cmVlIGluIHRoZSBEb2xvbWl0ZXMuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2QtY2FyZF9fcHJpY2UiPuKCrDYyLjAwPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUvIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkRpc2NvdmVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZCI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2VuL3Byb2R1Y3QvdmFpYS1jdWJlLWVzc2VudGlhbC1hcmlhLyIgY2xhc3M9InByb2QtY2FyZF9faW1nLXdyYXAiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8wOS9VbnRpdGxlZC1kZXNpZ24uanBnIiBhbHQ9IlZBSUEgQ3ViZSBFc3NlbnRpYWwgQXJpYSIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2JvZHkiPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19uYW1lIj5WQUlBIEN1YmUgRXNzZW50aWFsIEFyaWE8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX2Rlc2MiPk5hdHVyYWwgYWNvdXN0aWMgYW1wbGlmaWVyLiAxIEN1YmUgPSAxIHRyZWUgaW4gdGhlIERvbG9taXRlcy48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fZm9vdGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZC1jYXJkX19wcmljZSI+4oKsODkuMDA8L3NwYW4+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9lbi9wcm9kdWN0L3ZhaWEtY3ViZS1lc3NlbnRpYWwtYXJpYS8iIGNsYXNzPSJwcm9kLWNhcmRfX2J0biI+RGlzY292ZXI8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkIj4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUtaW1wZXJmZXR0by8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9JTVBFUkZFVFRPLmpwZyIgYWx0PSJWQUlBIEN1YmUgSW1wZXJmZXR0byIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2JvZHkiPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19uYW1lIj5WQUlBIEN1YmUgSW1wZXJmZXR0bzwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fZGVzYyI+VGhlIGljb25pYyBDdWJlLCBtYWRlIHVuaXF1ZSBieSBuYXR1cmFsIHNwb3RzIGFuZCBpbXBlcmZlY3Rpb25zIGluIHRoZSB3b29kLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19mb290ZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9kLWNhcmRfX3ByaWNlIj7igqw3NC4wMDwvc3Bhbj4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2VuL3Byb2R1Y3QvdmFpYS1jdWJlLWltcGVyZmV0dG8vIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkRpc2NvdmVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZCI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2VuL3Byb2R1Y3QvdmFpYS1jdWJlLWpveS8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9KT1ktMi0xLmpwZyIgYWx0PSJWQUlBIEN1YmUgSk9ZIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZSBKT1k8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX2Rlc2MiPlZBSUEgd29vZCBhbXBsaWZpZXIsIGF2YWlsYWJsZSBpbiB2YXJpb3VzIHZpYnJhbnQgY29sb3Vycy48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fZm9vdGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZC1jYXJkX19wcmljZSI+4oCUPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUtam95LyIgY2xhc3M9InByb2QtY2FyZF9fYnRuIj5EaXNjb3ZlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxidXR0b24gY2xhc3M9ImNhcm91c2VsLWJ0biBjYXJvdXNlbC1idG4tLW5leHQiIGFyaWEtbGFiZWw9Ik5leHQiPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjkgMTggMTUgMTIgOSA2Ij48L3BvbHlsaW5lPjwvc3ZnPgogICAgPC9idXR0b24+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtZG90cyIgaWQ9ImNhcm91c2VsRG90cyI+PC9kaXY+Cjwvc2VjdGlvbj4KCjxzY3JpcHQ+Ci8qIOKUgOKUgCBDQVJPVVNFTCB3aXRoIHRvdWNoL2RyYWcgc3VwcG9ydCDilIDilIAgKi8KKGZ1bmN0aW9uKCkgewogIGNvbnN0IHRyYWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nhcm91c2VsVHJhY2snKTsKICBjb25zdCBvdXRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbE91dGVyJyk7CiAgY29uc3QgZG90c0NvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbERvdHMnKTsKICBjb25zdCBjYXJkcyA9IHRyYWNrLnF1ZXJ5U2VsZWN0b3JBbGwoJy5wcm9kLWNhcmQnKTsKICBjb25zdCBwcmV2QnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNhcm91c2VsLWJ0bi0tcHJldicpOwogIGNvbnN0IG5leHRCdG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtYnRuLS1uZXh0Jyk7CiAgbGV0IGN1cnJlbnQgPSAwOwoKICBmdW5jdGlvbiB2aXNpYmxlQ291bnQoKSB7CiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gNTYwID8gMSA6IHdpbmRvdy5pbm5lcldpZHRoIDw9IDkwMCA\/IDIgOiA0OwogIH0KCiAgZnVuY3Rpb24gbWF4SW5kZXgoKSB7CiAgICByZXR1cm4gTWF0aC5tYXgoMCwgY2FyZHMubGVuZ3RoIC0gdmlzaWJsZUNvdW50KCkpOwogIH0KCiAgZnVuY3Rpb24gY2FyZFdpZHRoKCkgewogICAgcmV0dXJuIGNhcmRzWzBdLm9mZnNldFdpZHRoICsgMjA7IC8vIDIwID0gZ2FwCiAgfQoKICAvLyBCdWlsZCBkb3RzCiAgY29uc3QgZG90cyA9IFtdOwogIGZvciAobGV0IGkgPSAwOyBpIDw9IG1heEluZGV4KCk7IGkrKykgewogICAgY29uc3QgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgZC5jbGFzc05hbWUgPSAnY2Fyb3VzZWwtZG90JyArIChpID09PSAwID8gJyBhY3RpdmUnIDogJycpOwogICAgZC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGdvVG8oaSkpOwogICAgZG90c0NvbnRhaW5lci5hcHBlbmRDaGlsZChkKTsKICAgIGRvdHMucHVzaChkKTsKICB9CgogIGZ1bmN0aW9uIGdvVG8oaW5kZXgpIHsKICAgIGN1cnJlbnQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbihpbmRleCwgbWF4SW5kZXgoKSkpOwogICAgdHJhY2suc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLScgKyAoY3VycmVudCAqIGNhcmRXaWR0aCgpKSArICdweCknOwogICAgZG90cy5mb3JFYWNoKChkLCBpKSA9PiBkLmNsYXNzTGlzdC50b2dnbGUoJ2FjdGl2ZScsIGkgPT09IGN1cnJlbnQpKTsKICAgIGlmIChwcmV2QnRuKSBwcmV2QnRuLmRpc2FibGVkID0gY3VycmVudCA9PT0gMDsKICAgIGlmIChuZXh0QnRuKSBuZXh0QnRuLmRpc2FibGVkID0gY3VycmVudCA+PSBtYXhJbmRleCgpOwogIH0KCiAgaWYgKHByZXZCdG4pIHByZXZCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBnb1RvKGN1cnJlbnQgLSAxKSk7CiAgaWYgKG5leHRCdG4pIG5leHRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBnb1RvKGN1cnJlbnQgKyAxKSk7CiAgaWYgKHByZXZCdG4pIHByZXZCdG4uZGlzYWJsZWQgPSB0cnVlOwoKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gZ29UbyhNYXRoLm1pbihjdXJyZW50LCBtYXhJbmRleCgpKSkpOwoKICAvKiDilIDilIAgVE9VQ0ggLyBEUkFHIOKUgOKUgCAqLwogIGxldCBkcmFnU3RhcnRYID0gMDsKICBsZXQgZHJhZ0N1cnJlbnRYID0gMDsKICBsZXQgaXNEcmFnZ2luZyA9IGZhbHNlOwogIGxldCBzdGFydE9mZnNldCA9IDA7CiAgY29uc3QgRFJBR19USFJFU0hPTEQgPSA4OwogIGNvbnN0IFNXSVBFX01JTiA9IDQwOwoKICBmdW5jdGlvbiBnZXRFdmVudFgoZSkgewogICAgcmV0dXJuIGUudG91Y2hlcyA\/IGUudG91Y2hlc1swXS5jbGllbnRYIDogZS5jbGllbnRYOwogIH0KCiAgZnVuY3Rpb24gb25EcmFnU3RhcnQoZSkgewogICAgZHJhZ1N0YXJ0WCA9IGdldEV2ZW50WChlKTsKICAgIGRyYWdDdXJyZW50WCA9IGRyYWdTdGFydFg7CiAgICBpc0RyYWdnaW5nID0gZmFsc2U7CiAgICBzdGFydE9mZnNldCA9IGN1cnJlbnQgKiBjYXJkV2lkdGgoKTsKICB9CgogIGZ1bmN0aW9uIG9uRHJhZ01vdmUoZSkgewogICAgaWYgKGUudG91Y2hlcyAmJiBNYXRoLmFicyhnZXRFdmVudFgoZSkgLSBkcmFnU3RhcnRYKSA8IERSQUdfVEhSRVNIT0xEICYmICFpc0RyYWdnaW5nKSByZXR1cm47CgogICAgY29uc3QgZGlmZiA9IGdldEV2ZW50WChlKSAtIGRyYWdTdGFydFg7CgogICAgaWYgKGUudG91Y2hlcyAmJiBNYXRoLmFicyhkaWZmKSA8IE1hdGguYWJzKGUudG91Y2hlc1swXS5jbGllbnRZIC0gKGUudG91Y2hlc1swXS5jbGllbnRZKSkpIHJldHVybjsKCiAgICBpZiAoIWlzRHJhZ2dpbmcgJiYgTWF0aC5hYnMoZGlmZikgPiBEUkFHX1RIUkVTSE9MRCkgewogICAgICBpc0RyYWdnaW5nID0gdHJ1ZTsKICAgICAgdHJhY2suY2xhc3NMaXN0LmFkZCgnaXMtZHJhZ2dpbmcnKTsKICAgIH0KCiAgICBpZiAoIWlzRHJhZ2dpbmcpIHJldHVybjsKCiAgICBpZiAoZS5jYW5jZWxhYmxlKSBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgZHJhZ0N1cnJlbnRYID0gZ2V0RXZlbnRYKGUpOwogICAgY29uc3QgbGl2ZU9mZnNldCA9IHN0YXJ0T2Zmc2V0IC0gZGlmZjsKCiAgICBjb25zdCBtaW5PZmZzZXQgPSAwOwogICAgY29uc3QgbWF4T2Zmc2V0ID0gbWF4SW5kZXgoKSAqIGNhcmRXaWR0aCgpOwogICAgbGV0IGNsYW1wZWRPZmZzZXQ7CiAgICBpZiAobGl2ZU9mZnNldCA8IG1pbk9mZnNldCkgewogICAgICBjbGFtcGVkT2Zmc2V0ID0gbWluT2Zmc2V0IC0gTWF0aC5zcXJ0KE1hdGguYWJzKGxpdmVPZmZzZXQgLSBtaW5PZmZzZXQpKSAqIDM7CiAgICB9IGVsc2UgaWYgKGxpdmVPZmZzZXQgPiBtYXhPZmZzZXQpIHsKICAgICAgY2xhbXBlZE9mZnNldCA9IG1heE9mZnNldCArIE1hdGguc3FydChNYXRoLmFicyhsaXZlT2Zmc2V0IC0gbWF4T2Zmc2V0KSkgKiAzOwogICAgfSBlbHNlIHsKICAgICAgY2xhbXBlZE9mZnNldCA9IGxpdmVPZmZzZXQ7CiAgICB9CgogICAgdHJhY2suc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLScgKyBjbGFtcGVkT2Zmc2V0ICsgJ3B4KSc7CiAgfQoKICBmdW5jdGlvbiBvbkRyYWdFbmQoZSkgewogICAgaWYgKCFpc0RyYWdnaW5nKSByZXR1cm47CgogICAgdHJhY2suY2xhc3NMaXN0LnJlbW92ZSgnaXMtZHJhZ2dpbmcnKTsKICAgIGlzRHJhZ2dpbmcgPSBmYWxzZTsKCiAgICBjb25zdCBkaWZmID0gZHJhZ0N1cnJlbnRYIC0gZHJhZ1N0YXJ0WDsKCiAgICBpZiAoTWF0aC5hYnMoZGlmZikgPj0gU1dJUEVfTUlOKSB7CiAgICAgIGlmIChkaWZmIDwgMCkgewogICAgICAgIGdvVG8oY3VycmVudCArIDEpOwogICAgICB9IGVsc2UgewogICAgICAgIGdvVG8oY3VycmVudCAtIDEpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBnb1RvKGN1cnJlbnQpOwogICAgfQogIH0KCiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIG9uRHJhZ1N0YXJ0LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgb25EcmFnTW92ZSwgeyBwYXNzaXZlOiBmYWxzZSB9KTsKICBvdXRlci5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIG9uRHJhZ0VuZCwgeyBwYXNzaXZlOiB0cnVlIH0pOwogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoY2FuY2VsJywgb25EcmFnRW5kLCB7IHBhc3NpdmU6IHRydWUgfSk7CgogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIG9uRHJhZ1N0YXJ0KTsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAoZSkgPT4geyBpZiAoZHJhZ1N0YXJ0WCkgb25EcmFnTW92ZShlKTsgfSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIChlKSA9PiB7IGlmIChkcmFnU3RhcnRYKSB7IG9uRHJhZ0VuZChlKTsgZHJhZ1N0YXJ0WCA9IDA7IH0gfSk7CgogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgIGlmIChNYXRoLmFicyhkcmFnQ3VycmVudFggLSBkcmFnU3RhcnRYKSA+IERSQUdfVEhSRVNIT0xEKSB7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0KICB9LCB0cnVlKTsKfSkoKTsKCgo8L3NjcmlwdD57Qnnv3uFBYAB7QevLxIDAAAADAHcKdmFpYS1jb3ZlcgQAfa6JBx4AAQACACoAeHcMY29yZS9jb2x1bW5zeHh3C2NvcmUvY29sdW1ueHckYTk3MDljOTktNDdhNC00ZDdjLThmZTAtNTRkZDNiMzA2NTIwdyRmNTViYzM5OC1kYjdiLTRiOGEtOTgyYS1lYmU4NzA4NTZkNzl3JDgwYjJmYjdlLTM1ZTUtNDA3NS04NzBmLWIwZTUwMjdlM2Q3NHcOY29yZS9zaG9ydGNvZGV3X1todWJzcG90IHR5cGU9ImZvcm0iIHBvcnRhbD0iMTQzNDE2NjE1IiBpZD0iYjE1ZDk5N2ItMTA0Mi00NjkzLWFlYTItYzVkZjFmNDMwZmRjIiB2ZXJzaW9uPSJ2NCJddyRmYTkzYTFiMC03M2UwLTRhNTYtOTkyMy00OGQyZDAxMzgzNzZ3LjxkaXYgY2xhc3M9IndwLWJsb2NrLWNvbHVtbnMgYWxpZ25mdWxsIj48L2Rpdj53BGZ1bGx3JDI0ZThhMmQ5LWEwMGItNGQ4Ny1hOWViLWY0OWZiZjA0NGFmNHcjPGRpdiBjbGFzcz0id3AtYmxvY2stY29sdW1uIj48L2Rpdj53JDE5ZjNhMGRlLWQ5ZTAtNDEyMS1iMTRlLWE4ODAzMmRiMWQxY3fvrwM8bWV0YSBjaGFyc2V0PSJVVEYtOCI+CjxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MS4wIj4KPHRpdGxlPlZBSUEgQ292ZXIg4oCTIFByb2R1Y3QgUGFnZTwvdGl0bGU+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbSI+CjxsaW5rIHJlbD0icHJlY29ubmVjdCIgaHJlZj0iaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbSIgY3Jvc3NvcmlnaW49IiI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9RE0rU2Fuczp3Z2h0QDMwMDs0MDA7NTAwJmFtcDtkaXNwbGF5PXN3YXAiIHJlbD0ic3R5bGVzaGVldCI+CjxsaW5rIGhyZWY9Imh0dHBzOi8vYXBpLmZvbnRzaGFyZS5jb20vdjIvY3NzP2ZbXT1jbGFzaC1kaXNwbGF5QDQwMCw1MDAsNjAwLDcwMCZhbXA7ZGlzcGxheT1zd2FwIiByZWw9InN0eWxlc2hlZXQiPgoKPHN0eWxlPgogICosICo6OmJlZm9yZSwgKjo6YWZ0ZXIgeyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBtYXJnaW46IDA7IHBhZGRpbmc6IDA7IH0KCiAgOnJvb3QgewogICAgLS1vbGl2ZTogICAgIzZCNkIzQTsKICAgIC0tb2xpdmUtbHQ6ICNBOEE4NkE7CiAgICAtLW9saXZlLWRrOiAjM0MzQzFFOwogICAgLS1tYXJlOiAgICAgIzVCOURBNDsKICAgIC0tbWFyZS1sdDogICM5RUNGRDQ7CiAgICAtLXRlcnJhOiAgICAjN0E1QzNBOwogICAgLS10ZXJyYS1sdDogI0MwOTg3MDsKICAgIC0tc2FiYmlhOiAgICNFOERGQzA7CiAgICAtLXNhYmJpYS1kazojQzRCODhBOwogICAgLS1jcmVtYTogICAgI0Y1RjFFODsKICAgIC0tYmlhbmNvOiAgICNGQUZBRjc7CiAgICAtLXRlc3RvOiAgICAjMUExQTE0OwogICAgLS10ZXN0by1tOiAgIzRBNEEzODsKICAgIC0tdGVzdG8tbDogICM4QThBNzI7CiAgICAtLWJvcmRvOiAgICByZ2JhKDEwNywxMDcsNTgsMC4xOCk7CiAgICAtLWJvcmRvLW06ICByZ2JhKDEwNywxMDcsNTgsMC4zNSk7CgogICAgLS1mb250LXNhbnM6IHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1ib2R5LCB2YXIoLS13cC1mb250LWZhbWlseSwgJ0RNIFNhbnMnLCBzYW5zLXNlcmlmKSk7CiAgICAtLWZvbnQtc2VyaWY6ICdDbGFzaERpc3BsYXktVmFyaWFibGUnLCAnQ2xhc2ggRGlzcGxheScsIHZhcigtLXdwLS1wcmVzZXQtLWZvbnQtZmFtaWx5LS1oZWFkaW5nLCBzYW5zLXNlcmlmKTsKICB9CgogIGJvZHkgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgfQoKICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtOwogIH0KCiAgLnNlcmlmIHsgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOyB9CiAgLmxhYmVsLXNtYWxsIHsKICAgIGZvbnQtc2l6ZTogMTFweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjE1ZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IEhFUk8gREVTQ1JJUFRJT04g4pSA4pSAICovCiAgLnNlY3Rpb24taGVybyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jcmVtYSk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dyA4MHB4OwogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjsKICAgIGdhcDogNjRweDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUpOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgzMnB4LCA0dncsIDUycHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjE1OwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgfQogIC5zZWN0aW9uLWhlcm9fX3RleHQgcCB7CiAgICBmb250LXNpemU6IDE3cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzU7CiAgICBtYXgtd2lkdGg6IDQ4Y2g7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnNlY3Rpb24taGVyb19faW1hZ2UgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGFzcGVjdC1yYXRpbzogNC81OwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICB9CiAgLnNlY3Rpb24taGVyb19faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CgogIC8qIOKUgOKUgCBTRUNUSU9OOiBPTElWRSBNQVRURVIg4pSA4pSAICovCiAgLnNlY3Rpb24tbWF0ZXJpYWwgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUtZGspOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDgwcHg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgewogICAgYXNwZWN0LXJhdGlvOiAxLzE7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgb3JkZXI6IC0xOwogIH0KICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgaW1nIHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAgb2JqZWN0LWZpdDogY292ZXI7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLnNlY3Rpb24tbWF0ZXJpYWxfX3RleHQgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogMjBweDsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX190ZXh0IGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgMy41dncsIDQ0cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi1ib3R0b206IDI4cHg7CiAgfQogIC5zZWN0aW9uLW1hdGVyaWFsX190ZXh0IHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC44KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS44OwogICAgbWFyZ2luLWJvdHRvbTogMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLm1hdGVyaWFsLWhpZ2hsaWdodCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbjogMjRweCAwOwogICAgcGFkZGluZzogMjBweCAyNHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgxNjgsMTY4LDEwNiwwLjEyKTsKICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tb2xpdmUtbHQpOwogICAgYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDJ2dywgMjRweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLXNhYmJpYSk7CiAgICBsaW5lLWhlaWdodDogMS4zOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogIH0KCiAgLm1hdGVyaWFsLXRhZ2xpbmUgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIG1hcmdpbjogMjhweCAwIDA7CiAgfQogIC5tYXRlcmlhbC10YWdsaW5lIHNwYW4gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAydncsIDIycHgpOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwwLDAsMC4zNSk7CiAgfQoKICAubWF0ZXJpYWwtcGlsbHMgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtd3JhcDogd3JhcDsKICAgIGdhcDogMTBweDsKICAgIG1hcmdpbi10b3A6IDMycHg7CiAgfQogIC5waWxsIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogNnB4OwogICAgcGFkZGluZzogN3B4IDE2cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE2OCwxNjgsMTA2LDAuMzUpOwogICAgYm9yZGVyLXJhZGl1czogMTAwcHg7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucGlsbDo6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICcnOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB3aWR0aDogNnB4OwogICAgaGVpZ2h0OiA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmbGV4LXNocmluazogMDsKICB9CgogIC5idG4tb2xpdmUtbWF0dGVyIHsKICAgIGRpc3BsYXk6IGlubGluZS1mbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgbWFyZ2luLXRvcDogMjhweDsKICAgIHBhZGRpbmc6IDEzcHggMjhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlLWx0KTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMsIGNvbG9yIDAuMnM7CiAgfQogIC5idG4tb2xpdmUtbWF0dGVyOmhvdmVyIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IFRFQ0hOSUNBTCBTUEVDUyDilIDilIAgKi8KICAuc2VjdGlvbi1zcGVjcyB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1iaWFuY28pOwogICAgcGFkZGluZzogOTZweCA1dnc7CiAgfQogIC5zZWN0aW9uLXNwZWNzX19oZWFkZXIgewogICAgbWFyZ2luLWJvdHRvbTogNTZweDsKICB9CiAgLnNlY3Rpb24tc3BlY3NfX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICB9CiAgLnNwZWNzLXRhYmxlIHsKICAgIHdpZHRoOiAxMDAlOwogICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3BlY3MtdGFibGUgdHIgewogICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICB9CiAgLnNwZWNzLXRhYmxlIHRyOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgfQogIC5zcGVjcy10YWJsZSB0ZCB7CiAgICBwYWRkaW5nOiAxOHB4IDA7CiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICB9CiAgLnNwZWNzLXRhYmxlIHRkOmZpcnN0LWNoaWxkIHsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIHdpZHRoOiAzOCU7CiAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4OwogIH0KICAuc3BlY3MtdGFibGUgdGQ6bGFzdC1jaGlsZCB7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogIH0KICAuc3BlY3MtdGFibGUgdGQgc3Ryb25nIHsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNTAwOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IFdJUkVMRVNTIOKUgOKUgCAqLwogIC5zZWN0aW9uLXdpcmVsZXNzIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXNhYmJpYSk7CiAgICBwYWRkaW5nOiA3MnB4IDV2dzsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAyZnI7CiAgICBnYXA6IDY0cHg7CiAgICBhbGlnbi1pdGVtczogc3RhcnQ7CiAgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAxNnB4OwogIH0KICAud2lyZWxlc3MtaWNvbiB7CiAgICB3aWR0aDogNTZweDsKICAgIGhlaWdodDogNTZweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgfQogIC53aXJlbGVzcy1pY29uIHN2ZyB7IHdpZHRoOiAyNHB4OyBoZWlnaHQ6IDI0cHg7IGZpbGw6IG5vbmU7IHN0cm9rZTogdmFyKC0tc2FiYmlhKTsgc3Ryb2tlLXdpZHRoOiAxLjU7IHN0cm9rZS1saW5lY2FwOiByb3VuZDsgfQogIC53aXJlbGVzcy1pY29uLWJsb2NrIGgzIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjJweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICB9CiAgLndpcmVsZXNzLXRleHQgcCB7CiAgICBmb250LXNpemU6IDE2cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIG1hcmdpbi1ib3R0b206IDEycHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLndpcmVsZXNzLW5vdGUgewogICAgZGlzcGxheTogZmxleDsKICAgIGdhcDogMTJweDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OwogICAgcGFkZGluZzogMTZweCAyMHB4OwogICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjYpOwogICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCB2YXIoLS1vbGl2ZSk7CiAgICBib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC53aXJlbGVzcy1ub3RlIHN0cm9uZyB7IGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7IH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IFRFWFRVUkUgJiBDT0xPUlMg4pSA4pSAICovCiAgLnNlY3Rpb24tZGVzaWduIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA1NnB4OwogICAgbWF4LXdpZHRoOiA2MGNoOwogIH0KICAuc2VjdGlvbi1kZXNpZ25fX2hlYWRlciBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI4cHgsIDMuNXZ3LCA0MHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgfQogIC5zZWN0aW9uLWRlc2lnbl9faGVhZGVyIHAgewogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIG1hcmdpbi1ib3R0b206IDA7CiAgfQoKICAuZGVzaWduLXRhZ2xpbmUgewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDJweDsKICAgIG1hcmdpbi10b3A6IDIwcHg7CiAgfQogIC5kZXNpZ24tdGFnbGluZSBzcGFuIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMnZ3LCAyMnB4KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGluZS1oZWlnaHQ6IDEuNTsKICAgIHRleHQtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxMDcsMTA3LDU4LDAuMTgpOwogIH0KCiAgLmRlc2lnbi1kZXRhaWxzIHsKICAgIGRpc3BsYXk6IGdyaWQ7CiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7CiAgICBnYXA6IDQ4cHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogICAgcGFkZGluZzogNDhweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1ib3Jkbyk7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gewogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgICBnYXA6IDEwcHg7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gLmRldGFpbC1udW0gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiAxNnB4OwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICB9CiAgLmRlc2lnbi1kZXRhaWwtaXRlbSBoNCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IDE1cHg7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjM7CiAgfQogIC5kZXNpZ24tZGV0YWlsLWl0ZW0gcCB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZGVzaWduLXNpZC1ub3RlIHsKICAgIG1hcmdpbi1ib3R0b206IDQ4cHg7CiAgICBwYWRkaW5nOiAyMHB4IDI0cHg7CiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLW9saXZlLWx0KTsKICAgIGJhY2tncm91bmQ6IHJnYmEoMTA3LDEwNyw1OCwwLjA1KTsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1tKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmRlc2lnbi1zaWQtbm90ZSBzdHJvbmcgeyBjb2xvcjogdmFyKC0tb2xpdmUtZGspOyBmb250LXdlaWdodDogNTAwOyB9CgogIC50ZXh0dXJlLXJvdyB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgxNDBweCwgMWZyKSk7CiAgICBnYXA6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAudGV4dHVyZS1jYXJkIHsKICAgIGFzcGVjdC1yYXRpbzogMy80OwogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgYmFja2dyb3VuZDogdmFyKC0tc2FiYmlhKTsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOwogIH0KICAudGV4dHVyZS1jYXJkX19sYWJlbCB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgYmFja2dyb3VuZDogcmdiYSgyNiwyNiwyMCwwLjU1KTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgICBmb250LXNpemU6IDExcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOwogICAgcGFkZGluZzogMTBweCAxMnB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgei1pbmRleDogMjsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAudGV4dHVyZS1jYXJkIC5pbWctcGxhY2Vob2xkZXIgewogICAgcG9zaXRpb246IGFic29sdXRlOwogICAgaW5zZXQ6IDA7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGdhcDogOHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zaXplOiAxMXB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogICAgcGFkZGluZzogMTZweDsKICAgIGxpbmUtaGVpZ2h0OiAxLjU7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC5wYWxldHRlLXRpdGxlIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogMjBweDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tYm90dG9tOiAyOHB4OwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogIH0KICAucGFsZXR0ZS1yb3cgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5wYWxldHRlLXN3YXRjaCB7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYm9yZG8pOwogIH0KICAuc3dhdGNoLWNvbG9yIHsKICAgIGhlaWdodDogNzJweDsKICB9CiAgLnN3YXRjaC1pbmZvIHsKICAgIHBhZGRpbmc6IDEycHggMTRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWJpYW5jbyk7CiAgfQogIC5zd2F0Y2gtbmFtZSB7CiAgICBmb250LXNpemU6IDEzcHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6IHZhcigtLXRlc3RvKTsKICAgIG1hcmdpbi1ib3R0b206IDRweDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuc3dhdGNoLWRlc2MgewogICAgZm9udC1zaXplOiAxMXB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC1zdHlsZTogbm9ybWFsOwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQoKICAvKiDilIDilIAgU0VDVElPTjogRURJVE9SSUFMIFBIT1RPIEdSSUQg4pSA4pSAICovCiAgLnNlY3Rpb24tZWRpdG9yaWFsIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLXRlc3RvKTsKICAgIHBhZGRpbmc6IDA7CiAgfQogIC5lZGl0b3JpYWwtZ3JpZCB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjsKICAgIGdyaWQtdGVtcGxhdGUtcm93czogNDIwcHggNDIwcHggMzQwcHggNDIwcHg7CiAgICBnYXA6IDA7CiAgICBncmlkLXRlbXBsYXRlLWFyZWFzOgogICAgICAiYzEgYzIgYzMiCiAgICAgICJjMSBjNCBjNSIKICAgICAgImM2IGM2IGM3IgogICAgICAiYzggYzggYzkiOwogIH0KICAuZWMtMSB7IGdyaWQtYXJlYTogYzE7IH0KICAuZWMtMiB7IGdyaWQtYXJlYTogYzI7IH0KICAuZWMtMyB7IGdyaWQtYXJlYTogYzM7IH0KICAuZWMtNCB7IGdyaWQtYXJlYTogYzQ7IH0KICAuZWMtNSB7IGdyaWQtYXJlYTogYzU7IH0KICAuZWMtNiB7IGdyaWQtYXJlYTogYzY7IH0KICAuZWMtNyB7IGdyaWQtYXJlYTogYzc7IH0KICAuZWMtOCB7IGdyaWQtYXJlYTogYzg7IH0KICAuZWMtOSB7IGdyaWQtYXJlYTogYzk7IH0KICAuZWRpdG9yaWFsLWNlbGwgewogICAgcG9zaXRpb246IHJlbGF0aXZlOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICB9CiAgLmVkaXRvcmlhbC1jZWxsIGltZyB7CiAgICB3aWR0aDogMTAwJTsKICAgIGhlaWdodDogMTAwJTsKICAgIG9iamVjdC1maXQ6IGNvdmVyOwogICAgZGlzcGxheTogYmxvY2s7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlOwogIH0KICAuZWRpdG9yaWFsLWNlbGw6aG92ZXIgaW1nIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiB7CiAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICBib3R0b206IDA7IGxlZnQ6IDA7IHJpZ2h0OiAwOwogICAgcGFkZGluZzogMjBweCAyNHB4IDIwcHg7CiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDI2LDI2LDIwLDAuNzUpIDAlLCB0cmFuc3BhcmVudCAxMDAlKTsKICAgIGNvbG9yOiByZ2JhKDI0NSwyNDEsMjMyLDAuOSk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbF9fY2FwdGlvbiAuY2FwLWxhYmVsIHsKICAgIGZvbnQtc2l6ZTogMTBweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbWFyZ2luLWJvdHRvbTogNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIC5jYXAtdGV4dCB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDE1cHgsIDEuNXZ3LCAyMHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBsaW5lLWhlaWdodDogMS4yNTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICBwYWRkaW5nOiA0OHB4IDQwcHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tdGV4dCAuZXllYnJvdyB7CiAgICBmb250LXNpemU6IDEwcHg7CiAgICBsZXR0ZXItc3BhY2luZzogMC4yZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlKTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLXRleHQgaDMgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyMnB4LCAyLjV2dywgMzJweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI1OwogICAgbWFyZ2luLWJvdHRvbTogMTZweDsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS10ZXh0IHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc1OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7CiAgICBwYWRkaW5nOiA0MHB4OwogIH0KICAuZWRpdG9yaWFsLWNlbGwtLWRhcmsgLmV5ZWJyb3cgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBtYXJnaW4tYm90dG9tOiAxNnB4OwogICAgZGlzcGxheTogYmxvY2s7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmVkaXRvcmlhbC1jZWxsLS1kYXJrIC5iaWctbnVtYmVyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoNDhweCwgNXZ3LCA3MnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtbHQpOwogICAgbGluZS1oZWlnaHQ6IDE7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgfQogIC5lZGl0b3JpYWwtY2VsbC0tZGFyayBwIHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNyk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuNzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IEVOVklST05NRU5UQUwgSU1QQUNUIOKUgOKUgCAqLwogIC5zZWN0aW9uLWltcGFjdCB7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBwYWRkaW5nOiA5NnB4IDV2dzsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogIH0KICAuaW1wYWN0LWludHJvIHsKICAgIG1heC13aWR0aDogNjRjaDsKICAgIG1hcmdpbi1ib3R0b206IDY0cHg7CiAgfQogIC5pbXBhY3QtaW50cm8gaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgzMHB4LCA0dncsIDQ4cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi10b3A6IDEycHg7CiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OwogIH0KICAuaW1wYWN0LWludHJvIHAgewogICAgZm9udC1zaXplOiAxN3B4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC44KTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS44OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5pbXBhY3QtY2FyZHMgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7CiAgICBnYXA6IDI0cHg7CiAgICBtYXJnaW4tYm90dG9tOiA2NHB4OwogIH0KICAuaW1wYWN0LWNhcmQgewogICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMzIsMjIzLDE5MiwwLjE1KTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIHBhZGRpbmc6IDM2cHggMzJweDsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CiAgLmltcGFjdC1jYXJkX19udW1iZXIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiA1NnB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBsaW5lLWhlaWdodDogMTsKICAgIG1hcmdpbi1ib3R0b206IDhweDsKICB9CiAgLmltcGFjdC1jYXJkX191bml0IHsKICAgIGZvbnQtc2l6ZTogMTRweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjEyZW07CiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogICAgY29sb3I6IHZhcigtLW9saXZlLWx0KTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmltcGFjdC1jYXJkX19kZXNjIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuNzUpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmltcGFjdC1zdG9yeSB7CiAgICBkaXNwbGF5OiBncmlkOwogICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgZ2FwOiA2NHB4OwogICAgYWxpZ24taXRlbXM6IHN0YXJ0OwogICAgcGFkZGluZy10b3A6IDU2cHg7CiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMzIsMjIzLDE5MiwwLjE1KTsKICB9CiAgLmltcGFjdC1zdG9yeV9fdGV4dCBoMyB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDIycHgsIDIuNXZ3LCAzMnB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tc2FiYmlhKTsKICAgIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgICBsaW5lLWhlaWdodDogMS4zOwogIH0KICAuaW1wYWN0LXN0b3J5X190ZXh0IHAgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgY29sb3I6IHJnYmEoMjMyLDIyMywxOTIsMC43NSk7CiAgICBmb250LXdlaWdodDogMzAwOwogICAgbGluZS1oZWlnaHQ6IDEuODsKICAgIG1hcmdpbi1ib3R0b206IDE0cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmNvb3Jkcy1ibG9jayB7CiAgICBtYXJnaW4tdG9wOiAzMnB4OwogICAgZGlzcGxheTogaW5saW5lLWZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiA0cHg7CiAgfQogIC5jb29yZHMtbGFiZWwgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMmVtOwogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1sdCk7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLmNvb3Jkcy12YWx1ZSB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGNvbG9yOiB2YXIoLS1zYWJiaWEpOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTsKICB9CiAgLmltcGFjdC1zdG9yeV9faW1hZ2UgewogICAgYXNwZWN0LXJhdGlvOiA0LzU7CiAgICBib3JkZXItcmFkaXVzOiA0cHg7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogIH0KICAuaW1wYWN0LXN0b3J5X19pbWFnZSBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KCiAgLmNvdW50dXAtbnVtYmVyIHsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB9CgogIC8qIOKUgOKUgCBHT09HTEUgTUFQUyDilIDilIAgKi8KICAuc2VjdGlvbi1tYXAgewogICAgYmFja2dyb3VuZDogdmFyKC0tYmlhbmNvKTsKICAgIHBhZGRpbmc6IDk2cHggNXZ3OwogIH0KICAuc2VjdGlvbi1tYXBfX2hlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA0MHB4OwogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsKICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsKICAgIGdhcDogMzJweDsKICB9CiAgLnNlY3Rpb24tbWFwX19oZWFkZXIgaDIgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiBjbGFtcCgyNnB4LCAzdncsIDM2cHgpOwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tdG9wOiA4cHg7CiAgfQogIC5zZWN0aW9uLW1hcF9faGVhZGVyIHAgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLWwpOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIG1heC13aWR0aDogNDBjaDsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogICAgbGluZS1oZWlnaHQ6IDEuNjsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAubWFwLXdyYXBwZXIgewogICAgYm9yZGVyLXJhZGl1czogNHB4OwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICAgIGhlaWdodDogNDgwcHg7CiAgfQogIC5tYXAtd3JhcHBlciBpZnJhbWUgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBib3JkZXI6IDA7CiAgICBkaXNwbGF5OiBibG9jazsKICB9CiAgLm1hcC1jb29yZHMtYmFyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAgZ2FwOiAzMnB4OwogICAgbWFyZ2luLXRvcDogMjBweDsKICAgIHBhZGRpbmc6IDE2cHggMjRweDsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC1pdGVtIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOwogICAgZ2FwOiAzcHg7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtbGFiZWwgewogICAgZm9udC1zaXplOiAxMHB4OwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMThlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8tbCk7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC12YWwgewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbGV0dGVyLXNwYWNpbmc6IDAuMDZlbTsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgfQogIC5tYXAtY29vcmRzLWJhciAuY29vcmQtc2VwYXJhdG9yIHsKICAgIHdpZHRoOiAxcHg7CiAgICBoZWlnaHQ6IDMycHg7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1ib3Jkby1tKTsKICB9CiAgLm1hcC1jb29yZHMtYmFyIC5jb29yZC1wbGFjZSB7CiAgICBmbGV4OiAxOwogICAgZm9udC1zaXplOiAxM3B4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KCiAgLyog4pSA4pSAIFNFQ1RJT046IE1BREUgSU4gSVRBTFkgLyBTVVBQTFkgQ0hBSU4g4pSA4pSAICovCiAgLnNlY3Rpb24tc3VwcGx5IHsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICAgIHBhZGRpbmc6IDgwcHggNXZ3OwogIH0KICAuc3VwcGx5LWhlYWRpbmcgewogICAgbWFyZ2luLWJvdHRvbTogNDBweDsKICB9CiAgLnN1cHBseS1oZWFkaW5nIC5sYWJlbC1zbWFsbCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgfQogIC5zdXBwbHktaGVhZGluZyBoMiB7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7CiAgICBmb250LXNpemU6IGNsYW1wKDI2cHgsIDN2dywgMzZweCk7CiAgICBmb250LXdlaWdodDogNzAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGxpbmUtaGVpZ2h0OiAxLjI7CiAgICBtYXJnaW46IDA7CiAgfQogIC5zdXBwbHktaW5uZXIgewogICAgZGlzcGxheTogZ3JpZDsKICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmciAxZnI7CiAgICBnYXA6IDQwcHg7CiAgfQogIC5zdXBwbHktYmxvY2sgewogICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHZhcigtLW9saXZlLWx0KTsKICAgIHBhZGRpbmctdG9wOiAyOHB4OwogIH0KICAuc3VwcGx5LWJsb2NrX19udW0gewogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpOwogICAgZm9udC1zaXplOiA0MHB4OwogICAgZm9udC13ZWlnaHQ6IDcwMDsKICAgIGNvbG9yOiB2YXIoLS1vbGl2ZS1kayk7CiAgICBtYXJnaW4tYm90dG9tOiA4cHg7CiAgICBsaW5lLWhlaWdodDogMTsKICB9CiAgLnN1cHBseS1ibG9ja19fdGl0bGUgewogICAgZm9udC1zaXplOiAxNXB4OwogICAgZm9udC13ZWlnaHQ6IDUwMDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0byk7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2Fucyk7CiAgfQogIC5zdXBwbHktYmxvY2tfX2Rlc2MgewogICAgZm9udC1zaXplOiAxNHB4OwogICAgY29sb3I6IHZhcigtLXRlc3RvLW0pOwogICAgZm9udC13ZWlnaHQ6IDMwMDsKICAgIGxpbmUtaGVpZ2h0OiAxLjc7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CgogIC8qIOKUgOKUgCBSRUxBVEVEIFBST0RVQ1RTIENBUk9VU0VMIOKUgOKUgCAqLwogIC5zZWN0aW9uLWNhcm91c2VsIHsKICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogICAgcGFkZGluZzogODBweCA1dncgOTZweDsKICB9CiAgLmNhcm91c2VsLWhlYWRlciB7CiAgICBtYXJnaW4tYm90dG9tOiA0OHB4OwogIH0KICAuY2Fyb3VzZWwtaGVhZGVyIGgyIHsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTsKICAgIGZvbnQtc2l6ZTogY2xhbXAoMjZweCwgM3Z3LCAzOHB4KTsKICAgIGZvbnQtd2VpZ2h0OiA3MDA7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUtZGspOwogICAgbWFyZ2luLXRvcDogMTJweDsKICB9CiAgLmNhcm91c2VsLXdyYXBwZXIgewogICAgZGlzcGxheTogZmxleDsKICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7CiAgICBnYXA6IDE2cHg7CiAgfQogIC5jYXJvdXNlbC10cmFjay1vdXRlciB7CiAgICBmbGV4OiAxOwogICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgIHVzZXItc2VsZWN0OiBub25lOwogICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsKICB9CiAgLmNhcm91c2VsLXRyYWNrIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBnYXA6IDIwcHg7CiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC40cyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7CiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtOwogIH0KICAuY2Fyb3VzZWwtdHJhY2suaXMtZHJhZ2dpbmcgewogICAgdHJhbnNpdGlvbjogbm9uZTsKICB9CiAgLnByb2QtY2FyZCB7CiAgICBmbGV4OiAwIDAgY2FsYygyNSUgLSAxNXB4KTsKICAgIG1pbi13aWR0aDogMDsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvKTsKICAgIGJvcmRlci1yYWRpdXM6IDRweDsKICAgIG92ZXJmbG93OiBoaWRkZW47CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogICAgZGlzcGxheTogZmxleDsKICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47CiAgfQogIC5wcm9kLWNhcmRfX2ltZy13cmFwIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgYXNwZWN0LXJhdGlvOiAzLzQ7CiAgICBvdmVyZmxvdzogaGlkZGVuOwogICAgYmFja2dyb3VuZDogdmFyKC0tY3JlbWEpOwogIH0KICAucHJvZC1jYXJkX19pbWctd3JhcCBpbWcgewogICAgd2lkdGg6IDEwMCU7CiAgICBoZWlnaHQ6IDEwMCU7CiAgICBvYmplY3QtZml0OiBjb3ZlcjsKICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2U7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBvaW50ZXItZXZlbnRzOiBub25lOwogICAgLXdlYmtpdC11c2VyLWRyYWc6IG5vbmU7CiAgfQogIC5wcm9kLWNhcmQ6aG92ZXIgLnByb2QtY2FyZF9faW1nLXdyYXAgaW1nIHsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7CiAgfQogIC5wcm9kLWNhcmRfX2JvZHkgewogICAgcGFkZGluZzogMjBweCAyMHB4IDIwcHg7CiAgICBkaXNwbGF5OiBmbGV4OwogICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsKICAgIGZsZXg6IDE7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEpOwogIH0KICAucHJvZC1jYXJkX19uYW1lIHsKICAgIGZvbnQtc2l6ZTogMTVweDsKICAgIGZvbnQtd2VpZ2h0OiA1MDA7CiAgICBjb2xvcjogdmFyKC0tdGVzdG8pOwogICAgbWFyZ2luLWJvdHRvbTogOHB4OwogICAgbGluZS1oZWlnaHQ6IDEuMzsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19kZXNjIHsKICAgIGZvbnQtc2l6ZTogMTNweDsKICAgIGNvbG9yOiB2YXIoLS10ZXN0by1sKTsKICAgIGZvbnQtd2VpZ2h0OiAzMDA7CiAgICBsaW5lLWhlaWdodDogMS42OwogICAgZmxleDogMTsKICAgIG1hcmdpbi1ib3R0b206IDE2cHg7CiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zYW5zKTsKICB9CiAgLnByb2QtY2FyZF9fZm9vdGVyIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOwogICAgZ2FwOiA4cHg7CiAgICBtYXJnaW4tdG9wOiBhdXRvOwogIH0KICAucHJvZC1jYXJkX19wcmljZSB7CiAgICBmb250LXNpemU6IDE0cHg7CiAgICBmb250LXdlaWdodDogNTAwOwogICAgY29sb3I6IHZhcigtLW9saXZlLWRrKTsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19idG4gewogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgcGFkZGluZzogOHB4IDE4cHg7CiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1vbGl2ZSk7CiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsKICAgIGZvbnQtc2l6ZTogMTJweDsKICAgIGxldHRlci1zcGFjaW5nOiAwLjFlbTsKICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgICBjb2xvcjogdmFyKC0tb2xpdmUpOwogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzLCBjb2xvciAwLjJzOwogICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsKICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNhbnMpOwogIH0KICAucHJvZC1jYXJkX19idG46aG92ZXIgewogICAgYmFja2dyb3VuZDogdmFyKC0tb2xpdmUpOwogICAgY29sb3I6IHZhcigtLWJpYW5jbyk7CiAgfQogIC5jYXJvdXNlbC1idG4gewogICAgZmxleC1zaHJpbms6IDA7CiAgICB3aWR0aDogNDBweDsKICAgIGhlaWdodDogNDBweDsKICAgIGJvcmRlci1yYWRpdXM6IDUwJTsKICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWJvcmRvLW0pOwogICAgYmFja2dyb3VuZDogdmFyKC0tYmlhbmNvKTsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBhbGlnbi1pdGVtczogY2VudGVyOwogICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7CiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycywgYmFja2dyb3VuZCAwLjJzOwogICAgcGFkZGluZzogMDsKICB9CiAgLmNhcm91c2VsLWJ0biBzdmcgewogICAgd2lkdGg6IDE4cHg7CiAgICBoZWlnaHQ6IDE4cHg7CiAgICBzdHJva2U6IHZhcigtLW9saXZlLWRrKTsKICB9CiAgLmNhcm91c2VsLWJ0bjpob3ZlciB7CiAgICBib3JkZXItY29sb3I6IHZhcigtLW9saXZlKTsKICAgIGJhY2tncm91bmQ6IHZhcigtLWNyZW1hKTsKICB9CiAgLmNhcm91c2VsLWJ0bjpkaXNhYmxlZCB7CiAgICBvcGFjaXR5OiAwLjM7CiAgICBjdXJzb3I6IGRlZmF1bHQ7CiAgfQogIC5jYXJvdXNlbC1kb3RzIHsKICAgIGRpc3BsYXk6IGZsZXg7CiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKICAgIGdhcDogOHB4OwogICAgbWFyZ2luLXRvcDogMzJweDsKICB9CiAgLmNhcm91c2VsLWRvdCB7CiAgICB3aWR0aDogNnB4OwogICAgaGVpZ2h0OiA2cHg7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7CiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zYWJiaWEtZGspOwogICAgYm9yZGVyOiBub25lOwogICAgcGFkZGluZzogMDsKICAgIGN1cnNvcjogcG9pbnRlcjsKICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycywgdHJhbnNmb3JtIDAuMnM7CiAgfQogIC5jYXJvdXNlbC1kb3QuYWN0aXZlIHsKICAgIGJhY2tncm91bmQ6IHZhcigtLW9saXZlKTsKICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTsKICB9CgogIC8qIOKUgOKUgCBSRVNQT05TSVZFIOKUgOKUgCAqLwogIEBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkgewogICAgLnNlY3Rpb24taGVybywKICAgIC5zZWN0aW9uLW1hdGVyaWFsLAogICAgLnNlY3Rpb24taW1wYWN0IC5pbXBhY3Qtc3RvcnksCiAgICAuc2VjdGlvbi13aXJlbGVzcyB7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICBnYXA6IDQwcHg7CiAgICB9CiAgICAuc2VjdGlvbi1tYXRlcmlhbF9faW1hZ2UgeyBvcmRlcjogMDsgfQogICAgLmltcGFjdC1jYXJkcyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOyB9CiAgICAuc3VwcGx5LWlubmVyIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMzJweDsgfQogICAgLnBhbGV0dGUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTsgfQogICAgLnRleHR1cmUtcm93IHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTsgfQogICAgLnNlY3Rpb24td2lyZWxlc3MgeyBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjsgfQogICAgLmVkaXRvcmlhbC1ncmlkIHsKICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOwogICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG87CiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6CiAgICAgICAgImMxIGMyIgogICAgICAgICJjMyBjNCIKICAgICAgICAiYzUgYzUiCiAgICAgICAgImM2IGM3IgogICAgICAgICJjOCBjOCIKICAgICAgICAiYzkgYzkiOwogICAgfQogICAgLmRlc2lnbi1kZXRhaWxzIHsgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7IGdhcDogMzJweDsgcGFkZGluZzogMzJweCAyNHB4OyB9CiAgICAuc2VjdGlvbi1tYXBfX2hlYWRlciB7IGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9CiAgICAuc2VjdGlvbi1tYXBfX2hlYWRlciBwIHsgdGV4dC1hbGlnbjogbGVmdDsgfQogICAgLnByb2QtY2FyZCB7IGZsZXg6IDAgMCBjYWxjKDUwJSAtIDEwcHgpOyB9CiAgICAuY2Fyb3VzZWwtYnRuIHsgZGlzcGxheTogbm9uZTsgfQogIH0KICBAbWVkaWEgKG1heC13aWR0aDogNTYwcHgpIHsKICAgIC5lZGl0b3JpYWwtZ3JpZCB7CiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyOwogICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOgogICAgICAgICJjMSIgImMyIiAiYzMiICJjNCIgImM1IiAiYzYiICJjNyIgImM4IiAiYzkiOwogICAgfQogICAgLnByb2QtY2FyZCB7IGZsZXg6IDAgMCA4MCU7IH0KICAgIC5wYWxldHRlLXJvdyB7IGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7IH0KICB9Cjwvc3R5bGU+CgoKCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgMS4gSEVSTyBERVNDUklQVElPTgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWhlcm8iPgogIDxkaXYgY2xhc3M9InNlY3Rpb24taGVyb19fdGV4dCI+CiAgICA8c3BhbiBjbGFzcz0iZXllYnJvdyI+VkFJQSBDb3ZlciDigJQgV2hlcmUgaXQgY29tZXMgZnJvbTwvc3Bhbj4KICAgIDxoMj5UaGUgYmFyayBvZiBhbiBvbGl2ZSB0cmVlPGJyPnRoYXQgbm8gbG9uZ2VyIGV4aXN0cyw8YnI+YXJvdW5kIHlvdXIgcGhvbmUuPC9oMj4KICAgIDxwPlZBSUEgQ292ZXIgaXMgbWFkZSBmcm9tIGluamVjdGlvbi1tb3VsZGVkIE9saXZlIE1hdHRlciBiaW9jb21wb3NpdGU6IGJpby1iYXNlZCBUUFUgd2l0aCB3b29kIGZpYnJlcyBmcm9tIG9saXZlIHRyZWVzIGZlbGxlZCBieSB0aGUgWHlsZWxsYSBkaXNlYXNlLgo8YnI+PGJyPgpFdmVyeSBjYXNlIGlzIGJvcm4gZnJvbSB0aGUgc2NhbiBvZiBhIHJlYWwgQXB1bGlhbiBvbGl2ZSB0cmVlIGJhcmsuCgpJdCBpcyB0aGUgYWN0dWFsIHBhdHRlcm4gb2YgdHJlZXMgdGhhdCBsaXZlZCB0aHJvdWdoIG9uZSBvZiB0aGUgZ3JlYXRlc3QgZW52aXJvbm1lbnRhbCBlbWVyZ2VuY2llcyBpbiB0aGUgTWVkaXRlcnJhbmVhbi4KPGJyPjxicj4KVGhlIG5hdHVyYWwgZmlicmVzIGVtZXJnZSBmcm9tIHRoZSBtYXRlcmlhbCwgdGhlIGdyYWluIHJlbWFpbnMgdmlzaWJsZSwgdGhlIGZlZWwgc3RheXMgd2FybSBhbmQgdGFjdGlsZS4KCkV2ZXJ5IGNvdmVyIG1vZGVsIGRpZmZlcnMgZnJvbSB0aGUgb3RoZXJzIGJlY2F1c2UgdGhlIGJhcmsgaXQgY29tZXMgZnJvbSB3YXMgZGlmZmVyZW50IHRvby48L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1oZXJvX19pbWFnZSIgc3R5bGU9ImFzcGVjdC1yYXRpbzogMTYvOTsgb3ZlcmZsb3c6IGhpZGRlbjsgZm9udC1zaXplOiAwOyBsaW5lLWhlaWdodDogMDsiPgogICAgPGlmcmFtZSBzcmM9Imh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkL2xfZkYwRzY3RWt3IiB0aXRsZT0iVkFJQSBDb3ZlciDigJMgd2hlcmUgaXQgY29tZXMgZnJvbSIgYWxsb3dmdWxsc2NyZWVuIGFsbG93PSJhY2NlbGVyb21ldGVyOyBhdXRvcGxheTsgY2xpcGJvYXJkLXdyaXRlOyBlbmNyeXB0ZWQtbWVkaWE7IGd5cm9zY29wZTsgcGljdHVyZS1pbi1waWN0dXJlIiBzdHlsZT0id2lkdGg6MTAwJTsgaGVpZ2h0OjEwMCU7IGJvcmRlcjowOyBkaXNwbGF5OmJsb2NrOyB2ZXJ0aWNhbC1hbGlnbjp0b3A7Ij48L2lmcmFtZT4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAyLiBPTElWRSBNQVRURVIg4oCUIFRIRSBNQVRFUklBTArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLW1hdGVyaWFsIj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW1hdGVyaWFsX19pbWFnZSI+CiAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS8xNDU3MFE1QTc1Mjgtc2NhbGVkLmpwZyIgYWx0PSJPbGl2ZSBNYXR0ZXIgbWF0ZXJpYWwgZGV0YWlsIOKAkyB0ZXh0dXJlIGFuZCBncmFpbiBvZiBvbGl2ZSB3b29kIj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJzZWN0aW9uLW1hdGVyaWFsX190ZXh0Ij4KICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5PTElWRSBNQVRURVLihKI8L3NwYW4+CiAgICA8aDI+VGhlIG1hdGVyaWFsIHRoYXQgZGlkbid0IGV4aXN0LjwvaDI+CiAgICA8cD5Gb3IgeWVhcnMgd2UgYXNrZWQgb3Vyc2VsdmVzIG9uZSBxdWVzdGlvbjogd2hhdCBjYW4gdGhlIHdvb2Qgb2Ygb2xpdmUgdHJlZXMgc3RydWNrIGJ5IFh5bGVsbGEgYmVjb21lPzwvcD4KCiAgICA8c3BhbiBjbGFzcz0ibWF0ZXJpYWwtaGlnaGxpZ2h0Ij5UaGUgYW5zd2VyIGlzIE9saXZlIE1hdHRlcuKEoi48L3NwYW4+CgogICAgPHA+QSBuZXcgYmlvY29tcG9zaXRlIGRldmVsb3BlZCBieSBWQUlBIHRoYXQgY29tYmluZXMgb2xpdmUgd29vZCBmaWJyZXMgYW5kIGJpby1iYXNlZCBUUFUgdG8gY3JlYXRlIGEgdGVjaG5pY2FsLCBkdXJhYmxlIG1hdGVyaWFsIHN1aXRlZCBmb3IgZXZlcnlkYXkgdXNlLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJtYXRlcmlhbC10YWdsaW5lIj4KICAgICAgPHNwYW4+SXQncyBub3QganVzdCB3b29kPC9zcGFuPgogICAgICA8c3Bhbj5JdCdzIG5vdCBqdXN0IHBvbHltZXI8L3NwYW4+CiAgICAgIDxzcGFuPkl0J3Mgc29tZXRoaW5nIG5ldzwvc3Bhbj4KICAgIDwvZGl2PgoKICAgIDxkaXYgY2xhc3M9Im1hdGVyaWFsLXBpbGxzIj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPkJpby1iYXNlZCBUUFU8L3NwYW4+CiAgICAgIDxzcGFuIGNsYXNzPSJwaWxsIj5PbGl2ZSBmaWJyZXMgKFh5bGVsbGEpPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+QW50aWJhY3RlcmlhbCBwcm9wZXJ0aWVzPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+SW5qZWN0aW9uIG1vdWxkaW5nPC9zcGFuPgogICAgICA8c3BhbiBjbGFzcz0icGlsbCI+VXAgdG8gNTQlIHJlbmV3YWJsZTwvc3Bhbj4KICAgICAgPHNwYW4gY2xhc3M9InBpbGwiPjEwMCUgSXRhbGlhbiBzdXBwbHkgY2hhaW48L3NwYW4+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAzLiBURUNITklDQUwgU1BFQ0lGSUNBVElPTlMK4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQIC0tPgo8c2VjdGlvbiBjbGFzcz0ic2VjdGlvbi1zcGVjcyI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1zcGVjc19faGVhZGVyIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCI+VGVjaG5pY2FsIGRldGFpbDwvc3Bhbj4KICAgIDxoMj5TcGVjaWZpY2F0aW9uczwvaDI+CiAgPC9kaXY+CiAgPHRhYmxlIGNsYXNzPSJzcGVjcy10YWJsZSI+CiAgICA8dGJvZHk+CiAgICA8dHI+PHRkPk1hdGVyaWFsPC90ZD48dGQ+PHN0cm9uZz4mbmJzcDtPbGl2ZSBNYXR0ZXI8L3N0cm9uZz4g4oCUIEJpby1iYXNlZCBUUFUgYW5kIG9saXZlIGZpYnJlczwvdGQ+PC90cj4KICAgIDx0cj48dGQ+VGhpY2tuZXNzPC90ZD48dGQ+PHN0cm9uZz4mbmJzcDsxLjggbW08L3N0cm9uZz4gYmFjayDigJQgPHN0cm9uZz4yIG1tPC9zdHJvbmc+IHNpZGVzPC90ZD48L3RyPgogICAgPHRyPjx0ZD5TY3JlZW4gcHJvdGVjdGlvbjwvdGQ+PHRkPiZuYnNwO1JhaXNlZCBlZGdlcyBvbiBzY3JlZW4gYW5kIGNhbWVyYTwvdGQ+PC90cj4KICAgIDx0cj48dGQ+UHJvcGVydGllczwvdGQ+PHRkPjxzdHJvbmc+Jm5ic3A7V2l0aCBhbnRpYmFjdGVyaWFsIHByb3BlcnRpZXM8L3N0cm9uZz48L3RkPjwvdHI+CiAgICA8dHI+PHRkPk1hZ25ldGljIGFjY2Vzc29yaWVzPC90ZD48dGQ+Jm5ic3A7Tm90IGNvbXBhdGlibGUgd2l0aCBtYWduZXRpYyBhdHRhY2htZW50IOKAlCB3aXJlbGVzcyBjaGFyZ2luZyBpcyBub3QgYWZmZWN0ZWQ8L3RkPjwvdHI+CiAgICA8dHI+PHRkPlByb2R1Y3Rpb248L3RkPjx0ZD4mbmJzcDtJbmplY3Rpb24gbW91bGRpbmcg4oCUIDxzdHJvbmc+MTAwJSBJdGFsaWFuIHN1cHBseSBjaGFpbjwvc3Ryb25nPjwvdGQ+PC90cj4KICAgIDx0cj48dGQ+UmVjeWNsYWJpbGl0eTwvdGQ+PHRkPiZuYnNwOzEwMCUgcmVjeWNsYWJsZTwvdGQ+PC90cj4KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICA0LiBXSVJFTEVTUyBDSEFSR0lORwrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXdpcmVsZXNzIj4KICA8ZGl2IGNsYXNzPSJ3aXJlbGVzcy1pY29uLWJsb2NrIj4KICAgIDxkaXYgY2xhc3M9IndpcmVsZXNzLWljb24iPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyIDIwaC4wMU01LjYgMTAuNkE4IDggMCAwIDEgMTguNCAxMC42Ij48L3BhdGg+PHBhdGggZD0iTTIgN2ExMiAxMiAwIDAgMSAyMCAwIj48L3BhdGg+PHBhdGggZD0iTTguOSAxNC4xQTQgNCAwIDAgMSAxNSAxNC4xIj48L3BhdGg+PC9zdmc+CiAgICA8L2Rpdj4KICAgIDxoMz5XaXJlbGVzczxicj5jaGFyZ2luZzwvaDM+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0id2lyZWxlc3MtdGV4dCI+CiAgICA8cD5XaXJlbGVzcyBjaGFyZ2luZyB3b3JrcyBub3JtYWxseSB3aXRoIGFsbCBzdGFuZGFyZHMuIFRoZXJlIGlzIG5vIG5lZWQgdG8gcmVtb3ZlIHRoZSBjYXNlLjwvcD4KICAgIDxwPlRoZSBvbGl2ZSB3b29kIGZpYnJlcyBpbiB0aGUgT2xpdmUgTWF0dGVyIG1hdGVyaWFsIHNsaWdodGx5IHJlZHVjZSB0aGUgbWFnbmV0aWMgYXR0cmFjdGlvbiBmb3JjZTogZW5lcmd5IHRyYW5zbWlzc2lvbiBpcyBub3QgY29tcHJvbWlzZWQsIGJ1dCBhY2Nlc3NvcmllcyB0aGF0IGF0dGFjaCB2aWEgbWFnbmV0aWMgcHVsbCDigJQgc3VjaCBhcyB3YWxsZXRzIGFuZCBNYWdTYWZlIG1vdW50cyDigJQgYXJlIG5vdCBjb21wYXRpYmxlLjwvcD4KICAgIDxkaXYgY2xhc3M9IndpcmVsZXNzLW5vdGUiPgogICAgICA8c3ZnIHN0eWxlPSJ3aWR0aDoxOHB4O2hlaWdodDoxOHB4O2ZsZXgtc2hyaW5rOjA7bWFyZ2luLXRvcDoycHg7c3Ryb2tlOnZhcigtLW9saXZlKTtmaWxsOm5vbmU7c3Ryb2tlLXdpZHRoOjEuNTtzdHJva2UtbGluZWNhcDpyb3VuZCIgdmlld0JveD0iMCAwIDI0IDI0Ij48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCI+PC9jaXJjbGU+PGxpbmUgeDE9IjEyIiB5MT0iOCIgeDI9IjEyIiB5Mj0iMTIiPjwvbGluZT48bGluZSB4MT0iMTIiIHkxPSIxNiIgeDI9IjEyLjAxIiB5Mj0iMTYiPjwvbGluZT48L3N2Zz4KICAgICAgPHNwYW4+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgdmVyeSBuYXR1cmUgb2YgdGhlIG1hdGVyaWFsIOKAlCBtYWRlIGZyb20gcmVhbCBvbGl2ZSB3b29kIGZpYnJlcyDigJQgaXMgdGhlIHJlYXNvbiBmb3IgdGhpcyBjaGFyYWN0ZXJpc3RpYy4gSXQgaXMgbm90IGEgZGVzaWduIGZsYXc7IGl0IGlzIHRoZSBjb25zZXF1ZW5jZSBvZiBjaG9vc2luZyBhbiBhdXRoZW50aWMgbWF0ZXJpYWwuPC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgNS4gREVTSUdOIOKAlCBURVhUVVJFICYgUEFMRVRURQrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWRlc2lnbiI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1kZXNpZ25fX2hlYWRlciI+CiAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPkRlc2lnbjwvc3Bhbj4KICAgIDxoMj5TZXZlbiBvbGl2ZSB0cmVlcywgc2V2ZW4gdGV4dHVyZXMuPGJyPkZvdXIgY29sb3VycyBvZiB0aGUgU2FsZW50by48L2gyPgogICAgPHA+RXZlcnkgcGhvbmUgbW9kZWwgY2FycmllcyBhIGRpZmZlcmVudCBiYXJrLiBTZXZlbiBtb2RlbHMsIHNldmVuIHRyZWVzLCBzZXZlbiB1bmlxdWUgdGV4dHVyZXMuCkF0IHRoZSBjZW50cmUgb2YgZWFjaCBjYXNlLCB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIGZpcnN0IEZvcmVzdCBvZiBSZWJpcnRoIGluIEFwdWxpYSBhcmUgZW1ib3NzZWQgaW4gcmVsaWVmLjwvcD4KCiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tdGFnbGluZSI+CiAgICAgIDxzcGFuPkEgcmVhbCBwbGFjZTwvc3Bhbj4KICAgICAgPHNwYW4+QSByZWFsIHN0b3J5PC9zcGFuPgogICAgICA8c3Bhbj5BIHJlYWwgaW1wYWN0PC9zcGFuPgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDwhLS0gU0lEIG5vdGUgLS0+CiAgPGRpdiBjbGFzcz0iZGVzaWduLXNpZC1ub3RlIj4KICAgIDxzdHJvbmc+RGVzaWduIGRldmVsb3BlZCB3aXRoIFNJRCDigJQgU2N1b2xhIEl0YWxpYW5hIERlc2lnbiBkaSBQYWRvdmE8L3N0cm9uZz4sIGFuIGFjYWRlbWljIGluc3RpdHV0ZSByZWNvZ25pc2VkIGJ5IHRoZSBJdGFsaWFuIE1pbmlzdHJ5IG9mIFVuaXZlcnNpdHkgYW5kIFJlc2VhcmNoLCBwYXJ0IG9mIHRoZSBHYWxpbGVvIFZpc2lvbmFyeSBEaXN0cmljdCwgYSByZXNlYXJjaCBhbmQgaW5ub3ZhdGlvbiBodWIgZm91bmRlZCBpbiAxOTkxIGFzIHRoZSBmaXJzdCBpbnN0aXR1dGlvbiBpbiBub3J0aC1lYXN0ZXJuIEl0YWx5IHNwZWNpYWxpc2VkIGluIGluZHVzdHJpYWwgZGVzaWduLgogIDwvZGl2PgoKICA8IS0tIEZvdXIgaWRlbnRpdHkgZWxlbWVudHMgLS0+CiAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbHMiPgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjAxIOKAlCBUZXh0dXJlPC9zcGFuPgogICAgICA8aDQ+VGhlIGJhcmsgYXMgc3VyZmFjZTwvaDQ+CiAgICAgIDxwPlRoZSBzdXJmYWNlIG9mIGV2ZXJ5IGNhc2UgcmVwcm9kdWNlcyB0aGUgc2NhbiBvZiBhIHJlYWwgQXB1bGlhbiBvbGl2ZSB0cmVlIGJhcmsuIEVhY2ggbW9kZWwgY2FycmllcyBhIGRpZmZlcmVudCB0ZXh0dXJlOiBzZXZlbiBtb2RlbHMsIHNldmVuIGJhcmtzLCBzZXZlbiB1bmlxdWUgc3VyZmFjZXMuIFRoaXMgaXMgbm90IGEgZ2VuZXJpYyB3b29kIGluc3BpcmF0aW9uOiBpdCBpcyB0aGUgYWN0dWFsIGJhcmsgb2YgdGhvc2UgdHJlZXMuPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlsLWl0ZW0iPgogICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLW51bSI+MDIg4oCUIEZlZWw8L3NwYW4+CiAgICAgIDxoND5UaGUgdG91Y2ggb2YgdGhlIG1hdGVyaWFsPC9oND4KICAgICAgPHA+VGhlIG9saXZlIHdvb2QgZmlicmVzIGFyZSB2aXNpYmxlIGFuZCB0YW5naWJsZS4gVGhlIGV5ZSBzZWVzIHRoZSBuYXR1cmFsIGdyYWluIG9mIHRoZSB3b29kLCB0aGUgaGFuZCBmZWVscyBhIHdhcm0sIG1hdHRlIGNvbnNpc3RlbmN5IOKAlCBmYXIgZnJvbSB0aGUgY29sZG5lc3Mgb2YgY29udmVudGlvbmFsIHBsYXN0aWNzLiBJdCBpcyB0aGUgcGh5c2ljYWwgcHJlc2VuY2Ugb2YgdGhlIG1hdGVyaWFsIHRoYXQgdGVsbHMgdGhlIHN0b3J5IG9mIGl0cyBvcmlnaW4uPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJkZXNpZ24tZGV0YWlsLWl0ZW0iPgogICAgICA8c3BhbiBjbGFzcz0iZGV0YWlsLW51bSI+MDMg4oCUIENvb3JkaW5hdGVzPC9zcGFuPgogICAgICA8aDQ+QSBwcmVjaXNlIHBsYWNlIGVtYm9zc2VkIGluIHJlbGllZjwvaDQ+CiAgICAgIDxwPkF0IHRoZSBjZW50cmUgb2YgZXZlcnkgY2FzZSwgdGhlIGdlb2dyYXBoaWMgY29vcmRpbmF0ZXMgb2YgdGhlIGZpcnN0IEZvcmVzdCBvZiBSZWJpcnRoIGluIEFwdWxpYSwgaW4gU3BlY2NoaWEgKExFKSDigJQgMzkuOTQ3MDDCsCBOIC8gMTguMjcyOTLCsCBFIOKAlCBhcmUgZW5ncmF2ZWQsIGFjY29tcGFuaWVkIGJ5IHRoZSBlbWJvc3NlZCBwcm9maWxlIG9mIHRoZSB0ZXJyaXRvcnkgc2VlbiBmcm9tIGFib3ZlLjwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iZGVzaWduLWRldGFpbC1pdGVtIj4KICAgICAgPHNwYW4gY2xhc3M9ImRldGFpbC1udW0iPjA0IOKAlCBQYWxldHRlPC9zcGFuPgogICAgICA8aDQ+Rm91ciBjb2xvdXJzIG9mIHRoZSBTYWxlbnRvPC9oND4KICAgICAgPHA+T2xpdmUgR3JlZW4sIFBhc3RlbCBUdXJxdW9pc2UsIFRlcnJhIEJyb3duLCBMaWdodCBJdm9yeTogZm91ciBjb2xvdXJzIGJvcm4gZnJvbSBvYnNlcnZpbmcgdGhlIEFwdWxpYW4gbGFuZHNjYXBlLCBmcm9tIHRoZSByZWQgZWFydGggdG8gdGhlIHJha2luZyBsaWdodCBvbiB0aGUgQWRyaWF0aWMgU2VhLjwvcD4KICAgIDwvZGl2PgogIDwvZGl2PgoKICA8IS0tIENvbG91ciBwYWxldHRlIC0tPgogIDxwIGNsYXNzPSJwYWxldHRlLXRpdGxlIj5UaGUgcGFsZXR0ZTwvcD4KICA8ZGl2IGNsYXNzPSJwYWxldHRlLXJvdyI+CiAgICA8ZGl2IGNsYXNzPSJwYWxldHRlLXN3YXRjaCI+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1jb2xvciIgc3R5bGU9ImJhY2tncm91bmQ6ICM2QjZCM0E7Ij48L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWluZm8iPgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1uYW1lIj5PbGl2ZSBHcmVlbjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5UaGUgY29sb3VyIG9mIG9saXZlIGxlYXZlcyBpbiB0aGUgU2FsZW50bzwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFsZXR0ZS1zd2F0Y2giPgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtY29sb3IiIHN0eWxlPSJiYWNrZ3JvdW5kOiAjODlDNEM4OyI+PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1pbmZvIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtbmFtZSI+UGFzdGVsIFR1cnF1b2lzZTwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN3YXRjaC1kZXNjIj5UaGUgY29sb3VyIG9mIHRoZSBBZHJpYXRpYyBTZWE8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhbGV0dGUtc3dhdGNoIj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWNvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDogIzZGNEUzNzsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtaW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLW5hbWUiPlRlcnJhIEJyb3duPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWRlc2MiPlRoZSBjb2xvdXIgb2YgdGhlIEFwdWxpYW4gZWFydGg8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhbGV0dGUtc3dhdGNoIj4KICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWNvbG9yIiBzdHlsZT0iYmFja2dyb3VuZDogI0U4RDhCMDsiPjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzd2F0Y2gtaW5mbyI+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLW5hbWUiPkxpZ2h0IEl2b3J5PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0ic3dhdGNoLWRlc2MiPlRoZSBjb2xvdXIgb2YgdGhlIGdvbGRlbiBleHBhbnNlcyBvZiB0aGUgU2FsZW50bzwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgogIDwvZGl2Pgo8L3NlY3Rpb24+Cgo8IS0tIOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkAogICAgIDYuIEVESVRPUklBTCBQSE9UTyBHUklECuKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkCAtLT4KPHNlY3Rpb24gY2xhc3M9InNlY3Rpb24tZWRpdG9yaWFsIj4KICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtZ3JpZCI+CgogICAgPCEtLSBjMTogTElGRVNUWUxFIE9MSVZFIE1BVFRFUiDigJQgdGFsbCBsZWZ0IGNlbGwsIHNwYW5zIDIgcm93cyAtLT4KICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsIGVjLTEiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNi9USUxFLUxJRkVTVFlMRS1PTElWRS1NQVRURVItc2NhbGVkLmpwZyIgYWx0PSJWQUlBIENvdmVyIOKAkyBsaWZlc3R5bGUgT2xpdmUgTWF0dGVyIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPkxpZmVzdHlsZTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+T2xpdmUgTWF0dGVyPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CgogICAgPCEtLSBjMjogdGV4dCBjZWxsIOKAlCBWQUlBIHBoaWxvc29waHkgLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlZGl0b3JpYWwtY2VsbC0tdGV4dCBlYy0yIj4KICAgICAgPHNwYW4gY2xhc3M9ImV5ZWJyb3ciPlZBSUEgUGhpbG9zb3BoeTwvc3Bhbj4KICAgICAgPGgzPiJXZSByZWdlbmVyYXRlPGJyPnRoZSBNZWRpdGVycmFuZWFuPGJyPnNjcnVibGFuZC4iPC9oMz4KICAgICAgPHA+VkFJQSBDb3ZlciBpcyB0aGUgZmlyc3QgcHJvZHVjdCBvZiB0aGUgUHVnbGlhIFByb2plY3QuIEEgcHJvamVjdCBib3JuIHRvIHRyYW5zZm9ybSBhIGNvbGxlY3RpdmUgbG9zcyBpbnRvIGEgbmV3IHBvc3NpYmlsaXR5LiBFdmVyeSBjYXNlIGRpcmVjdGx5IGNvbnRyaWJ1dGVzIHRvIHRoZSByZWdlbmVyYXRpb24gb2YgTWVkaXRlcnJhbmVhbiBzY3J1YmxhbmQgaW4gU3BlY2NoaWEgKExFKS4gT25lIHNxdWFyZSBtZXRyZSBhdCBhIHRpbWUuPC9wPgogICAgPC9kaXY+CgogICAgPCEtLSBjMzogT0dOSSBHSU9STk8gLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlYy0zIj4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVElMRS1PR05JLUdJT1JOTy1zY2FsZWQuanBnIiBhbHQ9IlZBSUEgQ292ZXIg4oCTIGV2ZXJ5IGRheSI+CiAgICAgIDxkaXYgY2xhc3M9ImVkaXRvcmlhbC1jZWxsX19jYXB0aW9uIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY2FwLWxhYmVsIj5EZXRhaWw8L3NwYW4+CiAgICAgICAgPGRpdiBjbGFzcz0iY2FwLXRleHQiPkV2ZXJ5IGRheTwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzQ6IFNFTVBSRSBDT04gVEUgLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlYy00Ij4KICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjYvMDYvVElMRS1TRU1QUkUtQ09OLVRFLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgYWx3YXlzIHdpdGggeW91Ij4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPk9uIHRoZSBtb3ZlPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcC10ZXh0Ij5BbHdheXMgd2l0aCB5b3U8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM1OiBkYXJrIHN0YXQgY2VsbCDigJQgMSBtwrIgLS0+CiAgICA8ZGl2IGNsYXNzPSJlZGl0b3JpYWwtY2VsbCBlZGl0b3JpYWwtY2VsbC0tZGFyayBlYy01IiBzdHlsZT0iYmFja2dyb3VuZDogdmFyKC0tdGVycmEpOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93IiBzdHlsZT0iY29sb3I6IHZhcigtLXRlcnJhLWx0KTsiPkltcGFjdDwvc3Bhbj4KICAgICAgPGRpdiBjbGFzcz0iYmlnLW51bWJlciIgc3R5bGU9ImZvbnQtc2l6ZTogY2xhbXAoMzJweCwzLjV2dyw1MnB4KTsgbWFyZ2luLWJvdHRvbToxMnB4OyBjb2xvcjogdmFyKC0tc2FiYmlhKTsiPjEgbcKyPGJyPm9mIHNjcnVibGFuZDxicj5yZWdlbmVyYXRlZC48L2Rpdj4KICAgICAgPHAgc3R5bGU9ImNvbG9yOiByZ2JhKDIzMiwyMjMsMTkyLDAuOCk7Ij5Gb3IgZXZlcnkgY2FzZSBzb2xkLjwvcD4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzY6IFRSQURJWklPTkUgRSBJTk5PVkFaSU9ORSDigJQgd2lkZSBjZWxsIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWMtNiI+CiAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1RJTEUtVFJBRElaSU9ORS1FLUlOTk9WQVpJT05FLXNjYWxlZC5qcGciIGFsdD0iVkFJQSBDb3ZlciDigJMgdHJhZGl0aW9uIGFuZCBpbm5vdmF0aW9uIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPk1hdGVyaWFsPC9zcGFuPgogICAgICAgIDxkaXYgY2xhc3M9ImNhcC10ZXh0Ij5UcmFkaXRpb24gYW5kIGlubm92YXRpb248L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM3OiB0ZXh0IGNlbGwg4oCUIGNvb3JkaW5hdGVzIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLXRleHQgZWMtNyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93Ij5FbmdyYXZlZCBjb29yZGluYXRlczwvc3Bhbj4KICAgICAgPGgzPjM5Ljk0N8KwTjxicj4xOC4yNzLCsEU8L2gzPgogICAgICA8cD5TcGVjY2hpYSAoTEUpIOKAlCBGaXJzdCBGb3Jlc3Qgb2YgUmViaXJ0aCBpbiBBcHVsaWEuIFRoZSBzYW1lIGNvb3JkaW5hdGVzIGVuZ3JhdmVkIG9uIHlvdXIgY2FzZS48L3A+CiAgICA8L2Rpdj4KCiAgICA8IS0tIGM4OiBMRUdHRVJPIEFVVEVOVElDTyDigJQgd2lkZSBjZWxsIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWMtOCI+CiAgICAgIDxpbWcgc3JjPSJodHRwczovL3d3dy52YWlhLmV1L3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDI2LzA2L1RJTEUtTEVHR0VSTy1BVVRFTlRJQ08tc2NhbGVkLmpwZyIgYWx0PSJWQUlBIENvdmVyIOKAkyBsaWdodCwgYXV0aGVudGljIj4KICAgICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGxfX2NhcHRpb24iPgogICAgICAgIDxzcGFuIGNsYXNzPSJjYXAtbGFiZWwiPkV2ZXJ5IGRheTwvc3Bhbj4KICAgICAgICA8ZGl2IGNsYXNzPSJjYXAtdGV4dCI+TGlnaHQsIGF1dGhlbnRpYzwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgIDwhLS0gYzk6IGRhcmsgc3RhdCBjZWxsIOKAlCAxMDAlIEl0YWxpYW4gc3VwcGx5IGNoYWluIC0tPgogICAgPGRpdiBjbGFzcz0iZWRpdG9yaWFsLWNlbGwgZWRpdG9yaWFsLWNlbGwtLWRhcmsgZWMtOSIgc3R5bGU9ImJhY2tncm91bmQ6IHZhcigtLW1hcmUpOyI+CiAgICAgIDxzcGFuIGNsYXNzPSJleWVicm93IiBzdHlsZT0iY29sb3I6IHZhcigtLWNyZW1hKTsiPk1hZGUgaW4gSXRhbHk8L3NwYW4+CiAgICAgIDxkaXYgY2xhc3M9ImJpZy1udW1iZXIiIHN0eWxlPSJmb250LXNpemU6IGNsYW1wKDI4cHgsM3Z3LDQ0cHgpOyBtYXJnaW4tYm90dG9tOjEycHg7IGNvbG9yOiB2YXIoLS1iaWFuY28pOyI+MTAwJTxicj5JdGFsaWFuPGJyPnN1cHBseSBjaGFpbi48L2Rpdj4KICAgICAgPHAgc3R5bGU9ImNvbG9yOiByZ2JhKDI1MCwyNTAsMjQ3LDAuODUpOyI+RnJvbSBBcHVsaWFuIG9saXZlIHdvb2QgdG8gaW5qZWN0aW9uIG1vdWxkaW5nLjwvcD4KICAgIDwvZGl2PgoKICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICA3LiBFTlZJUk9OTUVOVEFMIElNUEFDVCArIEFQVUxJQSBTVE9SWQrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWltcGFjdCI+CiAgPGRpdiBjbGFzcz0iaW1wYWN0LWludHJvIj4KICAgIDxzcGFuIGNsYXNzPSJsYWJlbC1zbWFsbCIgc3R5bGU9ImNvbG9yOnZhcigtLW9saXZlLWx0KTsiPkltcGFjdDwvc3Bhbj4KICAgIDxoMj5FdmVyeSBjYXNlPGJyPnJlZ2VuZXJhdGVzIDEgbcKyPGJyPm9mIE1lZGl0ZXJyYW5lYW4gc2NydWJsYW5kLjwvaDI+CiAgICA8cD5UaGUgY29udHJpYnV0aW9uIGlzIG5vdCBzeW1ib2xpYy4gRXZlcnkgcHVyY2hhc2UgZGlyZWN0bHkgc3VwcG9ydHMgdGhlIHBsYW50aW5nIGFuZCByZXN0b3JhdGlvbiBvZiBNZWRpdGVycmFuZWFuIHNjcnVibGFuZCBpbiB0aGUgZmlyc3QgRm9yZXN0IG9mIFJlYmlydGggaW4gQXB1bGlhLgpUaGUgc2FtZSBjb29yZGluYXRlcyB5b3UgZmluZCBlbmdyYXZlZCBvbiB5b3VyIGNhc2UuPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZHMiPgogICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmQiPgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fbnVtYmVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY291bnR1cC1udW1iZXIiIGRhdGEtdGFyZ2V0PSIyMCIgZGF0YS1zdWZmaXg9Ik0rIj4wPC9zcGFuPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX3VuaXQiPm9saXZlIHRyZWVzIGFmZmVjdGVkPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5TaW5jZSB0aGUgYXJyaXZhbCBvZiBYeWxlbGxhIGluIDIwMTMsIG92ZXIgMjAgbWlsbGlvbiBBcHVsaWFuIG9saXZlIHRyZWVzIGhhdmUgYmVlbiBjb21wcm9taXNlZC4gT25lIG9mIHRoZSBtb3N0IHNldmVyZSBlbnZpcm9ubWVudGFsIGVtZXJnZW5jaWVzIGluIEV1cm9wZS48L2Rpdj4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmQiPgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fbnVtYmVyIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY291bnR1cC1udW1iZXIiIGRhdGEtdGFyZ2V0PSIxIiBkYXRhLXN1ZmZpeD0iIG3CsiIgZGF0YS1wcmVmaXg9IiI+MDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX191bml0Ij5wZXIgY2FzZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJpbXBhY3QtY2FyZF9fZGVzYyI+RXZlcnkgY2FzZSBzb2xkIGNvbnRyaWJ1dGVzIHRvIHRoZSByZWZvcmVzdGF0aW9uIG9mIDEgbcKyIG9mIE1lZGl0ZXJyYW5lYW4gc2NydWJsYW5kIGluIFNwZWNjaGlhIChMRSksIGluIHRoZSBmaXJzdCBGb3Jlc3Qgb2YgUmViaXJ0aCBpbiBBcHVsaWEuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkIj4KICAgICAgPGRpdiBjbGFzcz0iaW1wYWN0LWNhcmRfX251bWJlciI+CiAgICAgICAgPHNwYW4gY2xhc3M9ImNvdW50dXAtbnVtYmVyIiBkYXRhLXRhcmdldD0iMTAwIiBkYXRhLXN1ZmZpeD0iJSI+MDwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX191bml0Ij5NYWRlIGluIEl0YWx5PC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9ImltcGFjdC1jYXJkX19kZXNjIj5EZXNpZ24gZGV2ZWxvcGVkIHdpdGggU0lEIFNjdW9sYSBJdGFsaWFuYSBEZXNpZ24gZGkgUGFkb3ZhLiBQcm9kdWN0aW9uIGVudGlyZWx5IGluIEl0YWx5LiBUaGUgbWF0ZXJpYWwgaXMgYWdyaWN1bHR1cmFsIHdhc3RlOiBmaWJyZXMgdGhhdCB3b3VsZCBvdGhlcndpc2UgYmUgZGVzdGluZWQgZm9yIGRpc3Bvc2FsLjwvZGl2PgogICAgPC9kaXY+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeSI+CiAgICA8ZGl2IGNsYXNzPSJpbXBhY3Qtc3RvcnlfX3RleHQiPgogICAgICA8aDM+V2h5IEFwdWxpYSw8YnI+d2h5IG5vdy48L2gzPgogICAgICA8cD5Gb3IgeWVhcnMgd2Ugc2VhcmNoZWQgZm9yIGEgd2F5IHRvIGJyaW5nIFZBSUEncyByZWdlbmVyYXRpdmUgbW9kZWwgdG8gQXB1bGlhLiBXZSBsaXN0ZW5lZCB0byBmYXJtZXJzLCBzY2llbnRpc3RzLCBpbnN0aXR1dGlvbnMgYW5kIG9yZGluYXJ5IHBlb3BsZSB0byB1bmRlcnN0YW5kIHRvZ2V0aGVyIGhvdyB0byByZXNwb25kLiBOb3QgdG8gcmVwbGFjZSB3aGF0IHdhcyBsb3N0LCBidXQgdG8gbGV0IHNvbWV0aGluZyBuZXcgZ3Jvdy48L3A+CiAgICAgIDxwPkl0IGlzIGZyb20gdGhpcyBsaXN0ZW5pbmcgdGhhdCBPbGl2ZSBNYXR0ZXIgd2FzIGJvcm46IGEgbWF0ZXJpYWwgdGhhdCB1bml0ZXMgd2hhdCBzZWVtZWQgbGlrZSB3YXN0ZSB3aXRoIHRoZSBtb3N0IGFkdmFuY2VkIHJlc2VhcmNoIGludG8gYmlvLWJhc2VkIHBvbHltZXJzLiBBIHVuaW9uIGJldHdlZW4gdGVycml0b3JpYWwgaWRlbnRpdHkgYW5kIHRlY2huaWNhbCBpbm5vdmF0aW9uLjwvcD4KICAgICAgPHA+T2xpdmUgd29vZCBmcm9tIHRyZWVzIHN0cnVjayBieSBYeWxlbGxhIGNhbiBiZSBtb3ZlZCBzYWZlbHksIGluIGNvbXBsaWFuY2Ugd2l0aCBFRlNBIHJlZ3VsYXRpb25zIGFuZCB0aG9zZSBvZiB0aGUgQXB1bGlhIFJlZ2lvbi4gV2UgdHJhbnNmb3JtIGl0IGluc3RlYWQgb2YgZGlzcG9zaW5nIG9mIGl0LjwvcD4KICAgICAgPGRpdiBjbGFzcz0iY29vcmRzLWJsb2NrIj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLWxhYmVsIj5Gb3Jlc3Qgb2YgUmViaXJ0aCDigJQgU3BlY2NoaWEgKExFKTwvc3Bhbj4KICAgICAgICA8c3BhbiBjbGFzcz0iY29vcmRzLXZhbHVlIj4zOcKwNTcnTiDCtyAxOMKwMTAnRTwvc3Bhbj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImltcGFjdC1zdG9yeV9faW1hZ2UiPgogICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wNS8wNDQwUTVBNTA2Mi0xLTEtc2NhbGVkLmpwZyIgYWx0PSJMYW5kc2NhcGUgd2l0aCBBcHVsaWFuIG9saXZlIHRyZWVzIOKAkyBTYWxlbnRvLCBtaXggb2YgZGVhZCB0cmVlcyBhbmQgbGl2aW5nIHZlZ2V0YXRpb24iPgogICAgPC9kaXY+CiAgPC9kaXY+Cjwvc2VjdGlvbj4KCjwhLS0g4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWQCiAgICAgOC4gTUFQIOKAlCBGT1JFU1QgT0YgUkVCSVJUSArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLW1hcCI+CiAgPGRpdiBjbGFzcz0ic2VjdGlvbi1tYXBfX2hlYWRlciI+CiAgICA8ZGl2PgogICAgICA8c3BhbiBjbGFzcz0ibGFiZWwtc21hbGwiPkZPUkVTVCBPRiBSRUJJUlRIPC9zcGFuPgogICAgICA8aDI+VGhlIGNvb3JkaW5hdGVzIHlvdSBjYXJyeSBpbiB5b3VyIHBvY2tldC48L2gyPgogICAgPC9kaXY+CiAgICA8cD5UaGUgc2FtZSBjb29yZGluYXRlcyBlbmdyYXZlZCBvbiBldmVyeSBjYXNlLiBBIHJlYWwgcGxhY2UsIGEgbWVhc3VyYWJsZSBpbXBhY3QuPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1hcC13cmFwcGVyIj4KICAgIDxpZnJhbWUgc3JjPSJodHRwczovL3d3dy5nb29nbGUuY29tL21hcHMvZW1iZWQ\/cGI9ITFtMTghMW0xMiExbTMhMWQxMjE2OC41ITJkMTguMjg0NSEzZDM5Ljk0NzIhMm0zITFmMCEyZjAhM2YwITNtMiExaTEwMjQhMmk3NjghNGYxMy4xITNtMyExbTIhMXMweDEzNDUzYTdiOGE2YTIzZjElM0EweDNlM2MzZTNjM2UzYzNlM2MhMnNTcGVjY2hpYSUyQyUyMExFJTJDJTIwSXRhbGlhITVlMCEzbTIhMXNpdCEyc2l0ITR2MTcxNzE1NjgwMDAwMCE1bTIhMXNpdCEyc2l0IiBhbGxvd2Z1bGxzY3JlZW4gbG9hZGluZz0ibGF6eSIgcmVmZXJyZXJwb2xpY3k9Im5vLXJlZmVycmVyLXdoZW4tZG93bmdyYWRlIiB0aXRsZT0iU3BlY2NoaWEgKExFKSDigJMgRm9yZXN0IG9mIFJlYmlydGgiPjwvaWZyYW1lPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9Im1hcC1jb29yZHMtYmFyIj4KICAgIDxzcGFuIGNsYXNzPSJjb29yZC1wbGFjZSI+Rmlyc3QgRm9yZXN0IG9mIFJlYmlydGggaW4gQXB1bGlhIOKAlCBTcGVjY2hpYSAoTEUpLCBJdGFseTwvc3Bhbj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICA5LiBNQURFIElOIElUQUxZIFNVUFBMWSBDSEFJTgrilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLXN1cHBseSI+CiAgPGRpdiBjbGFzcz0ic3VwcGx5LWhlYWRpbmciPgogICAgPHNwYW4gY2xhc3M9ImxhYmVsLXNtYWxsIj5TdXBwbHkgY2hhaW48L3NwYW4+CiAgICA8aDI+RnJvbSBhZ3JpY3VsdHVyYWwgd2FzdGU8YnI+dG8gYSBuZXcgbWF0ZXJpYWwuPC9oMj4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJzdXBwbHktaW5uZXIiPgogICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrIj4KICAgICAgPGRpdiBjbGFzcz0ic3VwcGx5LWJsb2NrX19udW0iPjAxPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fdGl0bGUiPlJhdyBtYXRlcmlhbCBmcm9tIGFncmljdWx0dXJhbCB3YXN0ZTwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX2Rlc2MiPldvb2QgZmlicmVzIGZyb20gb2xpdmUgdHJlZXMgZmVsbGVkIGJ5IFh5bGVsbGEgYXJlIGNvbGxlY3RlZCBkaXJlY3RseSBmcm9tIHRoZSBhZmZlY3RlZCBBcHVsaWFuIGZhcm1zLiBNYXRlcmlhbCB0aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBkZXN0aW5lZCBmb3IgZGlzcG9zYWwuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9jayI+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fbnVtIj4wMjwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX3RpdGxlIj5SZXNlYXJjaCBhbmQgZGVzaWduPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fZGVzYyI+VGhlIE9saXZlIE1hdHRlciBiaW9jb21wb3NpdGUgd2FzIGRldmVsb3BlZCBpbiBjb2xsYWJvcmF0aW9uIHdpdGggU0lEIOKAlCBTY3VvbGEgSXRhbGlhbmEgRGVzaWduIGRpIFBhZG92YS4gRnJvbSBtYXRlcmlhbCBmb3JtdWxhdGlvbiB0byBiYXJrIHNjYW5uaW5nOiBldmVyeXRoaW5nIGlzIGJvcm4gaW4gSXRhbHkuPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9jayI+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fbnVtIj4wMzwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJzdXBwbHktYmxvY2tfX3RpdGxlIj5JdGFsaWFuIGluamVjdGlvbiBtb3VsZGluZyBwcm9kdWN0aW9uPC9kaXY+CiAgICAgIDxkaXYgY2xhc3M9InN1cHBseS1ibG9ja19fZGVzYyI+VGhlIGNhc2VzIGFyZSBwcm9kdWNlZCBieSBpbmplY3Rpb24gbW91bGRpbmcgaW4gSXRhbGlhbiBmYWNpbGl0aWVzLiBFdmVyeSB0ZXh0dXJlIGlzIHJlcHJvZHVjZWQgd2l0aCBtaWxsaW1ldHJlIHByZWNpc2lvbiBmcm9tIHRoZSBvcmlnaW5hbCBiYXJrIHNjYW4uPC9kaXY+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9zZWN0aW9uPgoKPCEtLSDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAKICAgICAxMC4gUkVMQVRFRCBQUk9EVUNUUyBDQVJPVVNFTArilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZAgLS0+CjxzZWN0aW9uIGNsYXNzPSJzZWN0aW9uLWNhcm91c2VsIj4KICA8ZGl2IGNsYXNzPSJjYXJvdXNlbC1oZWFkZXIiPgogICAgPHNwYW4gY2xhc3M9ImxhYmVsLXNtYWxsIj5UaGUgVkFJQSBmYW1pbHk8L3NwYW4+CiAgICA8aDI+QnV5IHRoZW0gdG9nZXRoZXI8L2gyPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImNhcm91c2VsLXdyYXBwZXIiPgogICAgPGJ1dHRvbiBjbGFzcz0iY2Fyb3VzZWwtYnRuIGNhcm91c2VsLWJ0bi0tcHJldiIgYXJpYS1sYWJlbD0iUHJldmlvdXMiPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjE1IDE4IDkgMTIgMTUgNiI+PC9wb2x5bGluZT48L3N2Zz4KICAgIDwvYnV0dG9uPgogICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtdHJhY2stb3V0ZXIiIGlkPSJjYXJvdXNlbE91dGVyIj4KICAgICAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtdHJhY2siIGlkPSJjYXJvdXNlbFRyYWNrIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmQiPgogICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9lbi9wcm9kdWN0L3ZhaWEtY3ViZS8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9DVUJFLmpwZyIgYWx0PSJWQUlBIEN1YmUiIGxvYWRpbmc9ImxhenkiPgogICAgICAgICAgPC9hPgogICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19ib2R5Ij4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fbmFtZSI+VkFJQSBDdWJlPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19kZXNjIj5OYXR1cmFsIGFjb3VzdGljIGFtcGxpZmllci4gMSBDdWJlID0gMSB0cmVlIGluIHRoZSBEb2xvbWl0ZXMuPC9wPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2Zvb3RlciI+CiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9InByb2QtY2FyZF9fcHJpY2UiPuKCrDYyLjAwPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUvIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkRpc2NvdmVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZCI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2VuL3Byb2R1Y3QvdmFpYS1jdWJlLWVzc2VudGlhbC1hcmlhLyIgY2xhc3M9InByb2QtY2FyZF9faW1nLXdyYXAiPgogICAgICAgICAgICA8aW1nIHNyYz0iaHR0cHM6Ly93d3cudmFpYS5ldS93cC1jb250ZW50L3VwbG9hZHMvMjAyMi8wOS9VbnRpdGxlZC1kZXNpZ24uanBnIiBhbHQ9IlZBSUEgQ3ViZSBFc3NlbnRpYWwgQXJpYSIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2JvZHkiPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19uYW1lIj5WQUlBIEN1YmUgRXNzZW50aWFsIEFyaWE8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX2Rlc2MiPk5hdHVyYWwgYWNvdXN0aWMgYW1wbGlmaWVyLiAxIEN1YmUgPSAxIHRyZWUgaW4gdGhlIERvbG9taXRlcy48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fZm9vdGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZC1jYXJkX19wcmljZSI+4oKsODkuMDA8L3NwYW4+CiAgICAgICAgICAgICAgPGEgaHJlZj0iaHR0cHM6Ly93d3cudmFpYS5ldS9lbi9wcm9kdWN0L3ZhaWEtY3ViZS1lc3NlbnRpYWwtYXJpYS8iIGNsYXNzPSJwcm9kLWNhcmRfX2J0biI+RGlzY292ZXI8L2E+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkIj4KICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUtaW1wZXJmZXR0by8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9JTVBFUkZFVFRPLmpwZyIgYWx0PSJWQUlBIEN1YmUgSW1wZXJmZXR0byIgbG9hZGluZz0ibGF6eSI+CiAgICAgICAgICA8L2E+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kLWNhcmRfX2JvZHkiPgogICAgICAgICAgICA8cCBjbGFzcz0icHJvZC1jYXJkX19uYW1lIj5WQUlBIEN1YmUgSW1wZXJmZXR0bzwvcD4KICAgICAgICAgICAgPHAgY2xhc3M9InByb2QtY2FyZF9fZGVzYyI+VGhlIGljb25pYyBDdWJlLCBtYWRlIHVuaXF1ZSBieSBuYXR1cmFsIHNwb3RzIGFuZCBpbXBlcmZlY3Rpb25zIGluIHRoZSB3b29kLjwvcD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJvZC1jYXJkX19mb290ZXIiPgogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJwcm9kLWNhcmRfX3ByaWNlIj7igqw3NC4wMDwvc3Bhbj4KICAgICAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2VuL3Byb2R1Y3QvdmFpYS1jdWJlLWltcGVyZmV0dG8vIiBjbGFzcz0icHJvZC1jYXJkX19idG4iPkRpc2NvdmVyPC9hPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZCI+CiAgICAgICAgICA8YSBocmVmPSJodHRwczovL3d3dy52YWlhLmV1L2VuL3Byb2R1Y3QvdmFpYS1jdWJlLWpveS8iIGNsYXNzPSJwcm9kLWNhcmRfX2ltZy13cmFwIj4KICAgICAgICAgICAgPGltZyBzcmM9Imh0dHBzOi8vd3d3LnZhaWEuZXUvd3AtY29udGVudC91cGxvYWRzLzIwMjIvMTEvNjY1eDc1NV9KT1ktMi0xLmpwZyIgYWx0PSJWQUlBIEN1YmUgSk9ZIiBsb2FkaW5nPSJsYXp5Ij4KICAgICAgICAgIDwvYT4KICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fYm9keSI+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX25hbWUiPlZBSUEgQ3ViZSBKT1k8L3A+CiAgICAgICAgICAgIDxwIGNsYXNzPSJwcm9kLWNhcmRfX2Rlc2MiPlZBSUEgd29vZCBhbXBsaWZpZXIsIGF2YWlsYWJsZSBpbiB2YXJpb3VzIHZpYnJhbnQgY29sb3Vycy48L3A+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9InByb2QtY2FyZF9fZm9vdGVyIj4KICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0icHJvZC1jYXJkX19wcmljZSI+4oCUPC9zcGFuPgogICAgICAgICAgICAgIDxhIGhyZWY9Imh0dHBzOi8vd3d3LnZhaWEuZXUvZW4vcHJvZHVjdC92YWlhLWN1YmUtam95LyIgY2xhc3M9InByb2QtY2FyZF9fYnRuIj5EaXNjb3ZlcjwvYT4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICA8L2Rpdj4KICAgIDxidXR0b24gY2xhc3M9ImNhcm91c2VsLWJ0biBjYXJvdXNlbC1idG4tLW5leHQiIGFyaWEtbGFiZWw9Ik5leHQiPgogICAgICA8c3ZnIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJjdXJyZW50Q29sb3IiIHN0cm9rZS13aWR0aD0iMS41IiBzdHJva2UtbGluZWNhcD0icm91bmQiPjxwb2x5bGluZSBwb2ludHM9IjkgMTggMTUgMTIgOSA2Ij48L3BvbHlsaW5lPjwvc3ZnPgogICAgPC9idXR0b24+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iY2Fyb3VzZWwtZG90cyIgaWQ9ImNhcm91c2VsRG90cyI+PC9kaXY+Cjwvc2VjdGlvbj4KCjxzY3JpcHQ+Ci8qIOKUgOKUgCBDQVJPVVNFTCB3aXRoIHRvdWNoL2RyYWcgc3VwcG9ydCDilIDilIAgKi8KKGZ1bmN0aW9uKCkgewogIGNvbnN0IHRyYWNrID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Nhcm91c2VsVHJhY2snKTsKICBjb25zdCBvdXRlciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbE91dGVyJyk7CiAgY29uc3QgZG90c0NvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjYXJvdXNlbERvdHMnKTsKICBjb25zdCBjYXJkcyA9IHRyYWNrLnF1ZXJ5U2VsZWN0b3JBbGwoJy5wcm9kLWNhcmQnKTsKICBjb25zdCBwcmV2QnRuID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNhcm91c2VsLWJ0bi0tcHJldicpOwogIGNvbnN0IG5leHRCdG4gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY2Fyb3VzZWwtYnRuLS1uZXh0Jyk7CiAgbGV0IGN1cnJlbnQgPSAwOwoKICBmdW5jdGlvbiB2aXNpYmxlQ291bnQoKSB7CiAgICByZXR1cm4gd2luZG93LmlubmVyV2lkdGggPD0gNTYwID8gMSA6IHdpbmRvdy5pbm5lcldpZHRoIDw9IDkwMCA\/IDIgOiA0OwogIH0KCiAgZnVuY3Rpb24gbWF4SW5kZXgoKSB7CiAgICByZXR1cm4gTWF0aC5tYXgoMCwgY2FyZHMubGVuZ3RoIC0gdmlzaWJsZUNvdW50KCkpOwogIH0KCiAgZnVuY3Rpb24gY2FyZFdpZHRoKCkgewogICAgcmV0dXJuIGNhcmRzWzBdLm9mZnNldFdpZHRoICsgMjA7IC8vIDIwID0gZ2FwCiAgfQoKICAvLyBCdWlsZCBkb3RzCiAgY29uc3QgZG90cyA9IFtdOwogIGZvciAobGV0IGkgPSAwOyBpIDw9IG1heEluZGV4KCk7IGkrKykgewogICAgY29uc3QgZCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2J1dHRvbicpOwogICAgZC5jbGFzc05hbWUgPSAnY2Fyb3VzZWwtZG90JyArIChpID09PSAwID8gJyBhY3RpdmUnIDogJycpOwogICAgZC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IGdvVG8oaSkpOwogICAgZG90c0NvbnRhaW5lci5hcHBlbmRDaGlsZChkKTsKICAgIGRvdHMucHVzaChkKTsKICB9CgogIGZ1bmN0aW9uIGdvVG8oaW5kZXgpIHsKICAgIGN1cnJlbnQgPSBNYXRoLm1heCgwLCBNYXRoLm1pbihpbmRleCwgbWF4SW5kZXgoKSkpOwogICAgdHJhY2suc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLScgKyAoY3VycmVudCAqIGNhcmRXaWR0aCgpKSArICdweCknOwogICAgZG90cy5mb3JFYWNoKChkLCBpKSA9PiBkLmNsYXNzTGlzdC50b2dnbGUoJ2FjdGl2ZScsIGkgPT09IGN1cnJlbnQpKTsKICAgIGlmIChwcmV2QnRuKSBwcmV2QnRuLmRpc2FibGVkID0gY3VycmVudCA9PT0gMDsKICAgIGlmIChuZXh0QnRuKSBuZXh0QnRuLmRpc2FibGVkID0gY3VycmVudCA+PSBtYXhJbmRleCgpOwogIH0KCiAgaWYgKHByZXZCdG4pIHByZXZCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBnb1RvKGN1cnJlbnQgLSAxKSk7CiAgaWYgKG5leHRCdG4pIG5leHRCdG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBnb1RvKGN1cnJlbnQgKyAxKSk7CiAgaWYgKHByZXZCdG4pIHByZXZCdG4uZGlzYWJsZWQgPSB0cnVlOwoKICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgKCkgPT4gZ29UbyhNYXRoLm1pbihjdXJyZW50LCBtYXhJbmRleCgpKSkpOwoKICAvKiDilIDilIAgVE9VQ0ggLyBEUkFHIOKUgOKUgCAqLwogIGxldCBkcmFnU3RhcnRYID0gMDsKICBsZXQgZHJhZ0N1cnJlbnRYID0gMDsKICBsZXQgaXNEcmFnZ2luZyA9IGZhbHNlOwogIGxldCBzdGFydE9mZnNldCA9IDA7CiAgY29uc3QgRFJBR19USFJFU0hPTEQgPSA4OwogIGNvbnN0IFNXSVBFX01JTiA9IDQwOwoKICBmdW5jdGlvbiBnZXRFdmVudFgoZSkgewogICAgcmV0dXJuIGUudG91Y2hlcyA\/IGUudG91Y2hlc1swXS5jbGllbnRYIDogZS5jbGllbnRYOwogIH0KCiAgZnVuY3Rpb24gb25EcmFnU3RhcnQoZSkgewogICAgZHJhZ1N0YXJ0WCA9IGdldEV2ZW50WChlKTsKICAgIGRyYWdDdXJyZW50WCA9IGRyYWdTdGFydFg7CiAgICBpc0RyYWdnaW5nID0gZmFsc2U7CiAgICBzdGFydE9mZnNldCA9IGN1cnJlbnQgKiBjYXJkV2lkdGgoKTsKICB9CgogIGZ1bmN0aW9uIG9uRHJhZ01vdmUoZSkgewogICAgaWYgKGUudG91Y2hlcyAmJiBNYXRoLmFicyhnZXRFdmVudFgoZSkgLSBkcmFnU3RhcnRYKSA8IERSQUdfVEhSRVNIT0xEICYmICFpc0RyYWdnaW5nKSByZXR1cm47CgogICAgY29uc3QgZGlmZiA9IGdldEV2ZW50WChlKSAtIGRyYWdTdGFydFg7CgogICAgaWYgKGUudG91Y2hlcyAmJiBNYXRoLmFicyhkaWZmKSA8IE1hdGguYWJzKGUudG91Y2hlc1swXS5jbGllbnRZIC0gKGUudG91Y2hlc1swXS5jbGllbnRZKSkpIHJldHVybjsKCiAgICBpZiAoIWlzRHJhZ2dpbmcgJiYgTWF0aC5hYnMoZGlmZikgPiBEUkFHX1RIUkVTSE9MRCkgewogICAgICBpc0RyYWdnaW5nID0gdHJ1ZTsKICAgICAgdHJhY2suY2xhc3NMaXN0LmFkZCgnaXMtZHJhZ2dpbmcnKTsKICAgIH0KCiAgICBpZiAoIWlzRHJhZ2dpbmcpIHJldHVybjsKCiAgICBpZiAoZS5jYW5jZWxhYmxlKSBlLnByZXZlbnREZWZhdWx0KCk7CgogICAgZHJhZ0N1cnJlbnRYID0gZ2V0RXZlbnRYKGUpOwogICAgY29uc3QgbGl2ZU9mZnNldCA9IHN0YXJ0T2Zmc2V0IC0gZGlmZjsKCiAgICBjb25zdCBtaW5PZmZzZXQgPSAwOwogICAgY29uc3QgbWF4T2Zmc2V0ID0gbWF4SW5kZXgoKSAqIGNhcmRXaWR0aCgpOwogICAgbGV0IGNsYW1wZWRPZmZzZXQ7CiAgICBpZiAobGl2ZU9mZnNldCA8IG1pbk9mZnNldCkgewogICAgICBjbGFtcGVkT2Zmc2V0ID0gbWluT2Zmc2V0IC0gTWF0aC5zcXJ0KE1hdGguYWJzKGxpdmVPZmZzZXQgLSBtaW5PZmZzZXQpKSAqIDM7CiAgICB9IGVsc2UgaWYgKGxpdmVPZmZzZXQgPiBtYXhPZmZzZXQpIHsKICAgICAgY2xhbXBlZE9mZnNldCA9IG1heE9mZnNldCArIE1hdGguc3FydChNYXRoLmFicyhsaXZlT2Zmc2V0IC0gbWF4T2Zmc2V0KSkgKiAzOwogICAgfSBlbHNlIHsKICAgICAgY2xhbXBlZE9mZnNldCA9IGxpdmVPZmZzZXQ7CiAgICB9CgogICAgdHJhY2suc3R5bGUudHJhbnNmb3JtID0gJ3RyYW5zbGF0ZVgoLScgKyBjbGFtcGVkT2Zmc2V0ICsgJ3B4KSc7CiAgfQoKICBmdW5jdGlvbiBvbkRyYWdFbmQoZSkgewogICAgaWYgKCFpc0RyYWdnaW5nKSByZXR1cm47CgogICAgdHJhY2suY2xhc3NMaXN0LnJlbW92ZSgnaXMtZHJhZ2dpbmcnKTsKICAgIGlzRHJhZ2dpbmcgPSBmYWxzZTsKCiAgICBjb25zdCBkaWZmID0gZHJhZ0N1cnJlbnRYIC0gZHJhZ1N0YXJ0WDsKCiAgICBpZiAoTWF0aC5hYnMoZGlmZikgPj0gU1dJUEVfTUlOKSB7CiAgICAgIGlmIChkaWZmIDwgMCkgewogICAgICAgIGdvVG8oY3VycmVudCArIDEpOwogICAgICB9IGVsc2UgewogICAgICAgIGdvVG8oY3VycmVudCAtIDEpOwogICAgICB9CiAgICB9IGVsc2UgewogICAgICBnb1RvKGN1cnJlbnQpOwogICAgfQogIH0KCiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIG9uRHJhZ1N0YXJ0LCB7IHBhc3NpdmU6IHRydWUgfSk7CiAgb3V0ZXIuYWRkRXZlbnRMaXN0ZW5lcigndG91Y2htb3ZlJywgb25EcmFnTW92ZSwgeyBwYXNzaXZlOiBmYWxzZSB9KTsKICBvdXRlci5hZGRFdmVudExpc3RlbmVyKCd0b3VjaGVuZCcsIG9uRHJhZ0VuZCwgeyBwYXNzaXZlOiB0cnVlIH0pOwogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoY2FuY2VsJywgb25EcmFnRW5kLCB7IHBhc3NpdmU6IHRydWUgfSk7CgogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIG9uRHJhZ1N0YXJ0KTsKICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCAoZSkgPT4geyBpZiAoZHJhZ1N0YXJ0WCkgb25EcmFnTW92ZShlKTsgfSk7CiAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIChlKSA9PiB7IGlmIChkcmFnU3RhcnRYKSB7IG9uRHJhZ0VuZChlKTsgZHJhZ1N0YXJ0WCA9IDA7IH0gfSk7CgogIG91dGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGUpID0+IHsKICAgIGlmIChNYXRoLmFicyhkcmFnQ3VycmVudFggLSBkcmFnU3RhcnRYKSA+IERSQUdfVEhSRVNIT0xEKSB7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0KICB9LCB0cnVlKTsKfSkoKTsKCi8qIOKUgOKUgCBDT1VOVC1VUCBBTklNQVRJT04g4pSA4pSAICovCihmdW5jdGlvbigpIHsKICBjb25zdCBjb3VudGVycyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jb3VudHVwLW51bWJlcicpOwoKICBmdW5jdGlvbiBhbmltYXRlQ291bnRlcihlbCkgewogICAgY29uc3QgdGFyZ2V0ID0gcGFyc2VGbG9hdChlbC5kYXRhc2V0LnRhcmdldCk7CiAgICBjb25zdCBzdWZmaXggPSBlbC5kYXRhc2V0LnN1ZmZpeCB8fCAnJzsKICAgIGNvbnN0IGR1cmF0aW9uID0gMjIwMDsKICAgIGNvbnN0IHN0YXJ0VGltZSA9IHBlcmZvcm1hbmNlLm5vdygpOwogICAgY29uc3QgaXNJbnRlZ2VyID0gTnVtYmVyLmlzSW50ZWdlcih0YXJnZXQpOwoKICAgIGZ1bmN0aW9uIHN0ZXAobm93KSB7CiAgICAgIGNvbnN0IGVsYXBzZWQgPSBub3cgLSBzdGFydFRpbWU7CiAgICAgIGNvbnN0IHByb2dyZXNzID0gTWF0aC5taW4oZWxhcHNlZCAvIGR1cmF0aW9uLCAxKTsKICAgICAgY29uc3QgZWFzZWQgPSAxIC0gTWF0aC5wb3coMSAtIHByb2dyZXNzLCAzKTsKICAgICAgY29uc3QgY3VycmVudCA9IHRhcmdldCAqIGVhc2VkOwoKICAgICAgaWYgKGlzSW50ZWdlcikgewogICAgICAgIGVsLnRleHRDb250ZW50ID0gTWF0aC5mbG9vcihjdXJyZW50KSArIHN1ZmZpeDsKICAgICAgfSBlbHNlIHsKICAgICAgICBlbC50ZXh0Q29udGVudCA9IGN1cnJlbnQudG9GaXhlZCgwKSArIHN1ZmZpeDsKICAgICAgfQoKICAgICAgaWYgKHByb2dyZXNzIDwgMSkgewogICAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTsKICAgICAgfSBlbHNlIHsKICAgICAgICBlbC50ZXh0Q29udGVudCA9IHRhcmdldCArIHN1ZmZpeDsKICAgICAgfQogICAgfQoKICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShzdGVwKTsKICB9CgogIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKSA9PiB7CiAgICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4gewogICAgICBpZiAoZW50cnkuaXNJbnRlcnNlY3RpbmcpIHsKICAgICAgICBhbmltYXRlQ291bnRlcihlbnRyeS50YXJnZXQpOwogICAgICAgIG9ic2VydmVyLnVub2JzZXJ2ZShlbnRyeS50YXJnZXQpOwogICAgICB9CiAgICB9KTsKICB9LCB7IHRocmVzaG9sZDogMC4zIH0pOwoKICBjb3VudGVycy5mb3JFYWNoKGVsID0+IG9ic2VydmVyLm9ic2VydmUoZWwpKTsKfSkoKTsKPC9zY3JpcHQ+dwljb3JlL2h0bWwCAHcHcHVibGlzaBgABQB4DwAEAHcOcmVxdWVzdGVkbW9kZWzBAQB3EzIwMjYtMDUtMzFUMTE6MjE6NTR3DGNvcmUvY29sdW1uc3h4dwtjb3JlL2NvbHVtbngsAHoAdwB3AHUAdQB4dQF9EQ7vh9fGDQEABO\/Cma4MAgAAAQHz9JiLDAQAPxcBFgEHDvOSnP8LAQAAhqjm+woBAAC6+8yJCgsAAAEAAQABAQEAAwAFAAEAAgANABRjsryF+gcBAADJgfapBgIAAJEDCcK7q7UEAgABAQHZt63QAQEAvSTEjqGzAQEADeSp128cAAABnBgEjwkIAAEPATgBOgGBAQEhODQaHBs3AQEBAQEAAQIHAAEEAgABAAYDAQIrBAIAAQAFAAEAAo4Dma6lXhEAACkDza4BFvQUV60BIckIrQK6YU\/mAl7NAk\/ND4sDpBJY7ARnnAVjogVcvSdtAboIIgHOxaswGAADBgYBCAGhbwQAAgECAgMHAQABAwEAAQQDAQIGAQcFAAIAAgAC4g4BAAEBAQMBCgH9SQ==\",\"updateId\":7273922}","content-type":""},"product_brand":[],"product_cat":[17],"product_tag":[],"giftcard-category":[],"class_list":{"0":"post-57173","1":"product","2":"type-product","3":"status-publish","4":"has-post-thumbnail","6":"product_cat-senza-categoria","8":"first","9":"instock","10":"shipping-taxable","11":"purchasable","12":"product-type-variable"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VAIA Cover | Sustainable Wooden Smartphone Cover<\/title>\n<meta name=\"description\" content=\"VAIA Cover sustainable smartphone cover made from Olive Matter\u2122 biocomposite with fibers from Puglia olive trees. 100% Made in Italy.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VAIA Cover | Sustainable Wooden Smartphone Cover\" \/>\n<meta property=\"og:description\" content=\"VAIA Cover sustainable smartphone cover made from Olive Matter\u2122 biocomposite with fibers from Puglia olive trees. 100% Made in Italy.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/\" \/>\n<meta property=\"og:site_name\" content=\"VAIA\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/therealvaia\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-27T10:14:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1707\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Availability\" \/>\n\t<meta name=\"twitter:data1\" content=\"In stock\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/product\\\/vaia-cover\\\/\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/product\\\/vaia-cover\\\/\",\"name\":\"VAIA Cover | Sustainable Wooden Smartphone Cover\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/product\\\/vaia-cover\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/product\\\/vaia-cover\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/miniatura-vaia-cover-1-scaled.jpg\",\"datePublished\":\"2026-05-31T09:21:54+00:00\",\"dateModified\":\"2026-10-27T10:14:20+00:00\",\"description\":\"VAIA Cover sustainable smartphone cover made from Olive Matter\u2122 biocomposite with fibers from Puglia olive trees. 100% Made in Italy.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/product\\\/vaia-cover\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.vaia.eu\\\/en\\\/product\\\/vaia-cover\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/product\\\/vaia-cover\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/miniatura-vaia-cover-1-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/miniatura-vaia-cover-1-scaled.jpg\",\"width\":2560,\"height\":1707,\"caption\":\"miniatura vaia cover (1)\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/product\\\/vaia-cover\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.vaia.eu\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"VAIA Cover\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#website\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/\",\"name\":\"VAIA - Face what matters\",\"description\":\"Face What Matters\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.vaia.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#organization\",\"name\":\"VAIA\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-vaia.svg\",\"contentUrl\":\"https:\\\/\\\/www.vaia.eu\\\/wp-content\\\/uploads\\\/2023\\\/12\\\/logo-vaia.svg\",\"width\":1000,\"height\":1000,\"caption\":\"VAIA\"},\"image\":{\"@id\":\"https:\\\/\\\/www.vaia.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/therealvaia\\\/\",\"https:\\\/\\\/www.instagram.com\\\/therealvaia\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/vaiasrl\\\/\",\"https:\\\/\\\/www.youtube.com\\\/channel\\\/UCPtTJEh97yiEMm-vE_Ux3Aw\"]}]}<\/script>\n<meta property=\"og:availability\" content=\"instock\" \/>\n<meta property=\"product:availability\" content=\"instock\" \/>\n<meta property=\"product:retailer_item_id\" content=\"COVER\" \/>\n<meta property=\"product:condition\" content=\"new\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VAIA Cover | Sustainable Wooden Smartphone Cover","description":"VAIA Cover sustainable smartphone cover made from Olive Matter\u2122 biocomposite with fibers from Puglia olive trees. 100% Made in Italy.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/","og_locale":"en_US","og_type":"article","og_title":"VAIA Cover | Sustainable Wooden Smartphone Cover","og_description":"VAIA Cover sustainable smartphone cover made from Olive Matter\u2122 biocomposite with fibers from Puglia olive trees. 100% Made in Italy.","og_url":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/","og_site_name":"VAIA","article_publisher":"https:\/\/www.facebook.com\/therealvaia\/","article_modified_time":"2026-10-27T10:14:20+00:00","og_image":[{"width":2560,"height":1707,"url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Availability":"In stock"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/","url":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/","name":"VAIA Cover | Sustainable Wooden Smartphone Cover","isPartOf":{"@id":"https:\/\/www.vaia.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/#primaryimage"},"image":{"@id":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/#primaryimage"},"thumbnailUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg","datePublished":"2026-05-31T09:21:54+00:00","dateModified":"2026-10-27T10:14:20+00:00","description":"VAIA Cover sustainable smartphone cover made from Olive Matter\u2122 biocomposite with fibers from Puglia olive trees. 100% Made in Italy.","breadcrumb":{"@id":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/#primaryimage","url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg","contentUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2026\/05\/miniatura-vaia-cover-1-scaled.jpg","width":2560,"height":1707,"caption":"miniatura vaia cover (1)"},{"@type":"BreadcrumbList","@id":"https:\/\/www.vaia.eu\/en\/product\/vaia-cover\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.vaia.eu\/en\/"},{"@type":"ListItem","position":2,"name":"VAIA Cover"}]},{"@type":"WebSite","@id":"https:\/\/www.vaia.eu\/#website","url":"https:\/\/www.vaia.eu\/","name":"VAIA - Face what matters","description":"Face What Matters","publisher":{"@id":"https:\/\/www.vaia.eu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.vaia.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.vaia.eu\/#organization","name":"VAIA","url":"https:\/\/www.vaia.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.vaia.eu\/#\/schema\/logo\/image\/","url":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/12\/logo-vaia.svg","contentUrl":"https:\/\/www.vaia.eu\/wp-content\/uploads\/2023\/12\/logo-vaia.svg","width":1000,"height":1000,"caption":"VAIA"},"image":{"@id":"https:\/\/www.vaia.eu\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/therealvaia\/","https:\/\/www.instagram.com\/therealvaia\/","https:\/\/www.linkedin.com\/company\/vaiasrl\/","https:\/\/www.youtube.com\/channel\/UCPtTJEh97yiEMm-vE_Ux3Aw"]}]},"og_availability":"instock","product_availability":"instock","product_retailer_item_id":"COVER","product_condition":"new"},"_links":{"self":[{"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/product\/57173","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/media\/57966"}],"wp:attachment":[{"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/media?parent=57173"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/product_brand?post=57173"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/product_cat?post=57173"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/product_tag?post=57173"},{"taxonomy":"giftcard-category","embeddable":true,"href":"https:\/\/www.vaia.eu\/en\/wp-json\/wp\/v2\/giftcard-category?post=57173"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}