diff --git a/.babelrc b/.babelrc
deleted file mode 100644
index 0558174..0000000
--- a/.babelrc
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  "presets": ["es2015", "stage-2"]
-}
diff --git a/.eslintignore b/.eslintignore
deleted file mode 100644
index 5df23f8..0000000
--- a/.eslintignore
+++ /dev/null
@@ -1,3 +0,0 @@
-dist/assets/scripts/main.js
-src/assets/scripts/main.js
-/src/assets/scripts/vendor
\ No newline at end of file
diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644
index cb93aa4..0000000
--- a/.eslintrc
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "extends": ["airbnb-base"],
-  "rules": {
-    "import/no-extraneous-dependencies": ["error", {"devDependencies": true}]
-  },
-  "env": {
-    "browser": true,
-    "node": true,
-    "es6": true
-  }
-}
-
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index 66e1960..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,5 +0,0 @@
-.DS_Store
-node_modules
-dist
-.sass-cache
-npm-debug.log
diff --git a/CNAME b/CNAME
old mode 100755
new mode 100644
index 3c55b23..34c85fd
--- a/CNAME
+++ b/CNAME
@@ -1 +1 @@
-coderockr.com
+legacy.coderockr.com
\ No newline at end of file
diff --git a/README.md b/README.md
index 2532386..cc94344 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ coderockr
     └── templates
         └── components
         └── layouts
-        └── pages.html
+        └── page.html
 ```
 
 ### Install dependencies
@@ -53,10 +53,10 @@ yarn start
 ### Build
 
 ```bash
-yarn build
+./build.sh
 ```
 
 ### Deploy to Github Pages (https://github.com/Coderockr/coderockr.github.com)
 ```bash
-./gh-pages.sh
+./deploy.sh
 ```
diff --git a/about.html b/about.html
new file mode 100644
index 0000000..ef6ea4b
--- /dev/null
+++ b/about.html
@@ -0,0 +1,431 @@
+<!doctype html>
+<html class="no-js" lang="pt">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+		<title>Coderockr - Quem Somos</title>
+
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="format-detection" content="telephone=no">
+
+    <meta name="description" content="A Coderockr acredita que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação.">
+    <meta name="keywords" content="Coderockr, Desenvilvimento, Sistemas Web, Aplicativos Mobile, Big Data, Planrockr, Elton Minetto, Joinville.">
+
+    <link type="text/plain" rel="author" href="humans.txt" />
+    <link href="assets/images/favicon.png" rel="shortcut icon">
+
+    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
+
+    <link rel="stylesheet" href="assets/styles/main.css">
+
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>
+    <script>
+      (function(h,o,t,j,a,r){
+          h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
+          h._hjSettings={hjid:744957,hjsv:6};
+          a=o.getElementsByTagName('head')[0];
+          r=o.createElement('script');r.async=1;
+          r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
+          a.appendChild(r);
+      })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
+    </script>
+	</head>
+	<body>
+		<!--[if lt IE 10]>
+			<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+		<![endif]-->
+
+		
+<main id="main-content">
+
+  <header id="header">
+    <div class="container">
+      <div class="row">
+        <div class="col-md-12 flex-row">
+          <a href="index.html" title="Coderockr" class="logo">
+            <img src="assets/images/coderockr.svg" alt="Coderockr Logo">
+          </a>
+          <nav>
+            <ul>
+              <li><a href="index.html" title="O que fazemos" data-autoscroll="true">O Que Fazemos</a></li>
+              <li><a href="about.html" title="Quem somos">Quem Somos</a></li>
+              <li><a href="https://blog.coderockr.com" title="Blog Coderockr" target="_blank">Blog</a></li>
+              <li><a href="contact.html" title="Contato">Contato</a></li>
+            </ul>
+          </nav>
+          <a class="mobile hidden-md hidden-lg menu-trigger" href="#menu-mobile" title="Menu">
+            <img src="assets/images/menu.svg" alt="Menu icon">
+          </a>
+        </div>
+      </div>
+    </div>
+  </header>
+  <div id="about" class="wrap">
+    <section class="banner">
+      <div class="container">
+        <div class="row">
+          <div class="subtitle">
+            <h2>QUEM SOMOS</h2>
+            <span></span>
+          </div>
+        </div>
+      </div>
+    </section>
+    <aside class="photos container-fluid">>
+      <div class="row">
+        <img class="img-responsive pic-1" src="assets/images/coderockr/picture-1.jpg" alt="Coderockr" width="234"
+          height="235">
+        <img class="img-responsive pic-2" src="assets/images/coderockr/picture-2.jpg" alt="Coderockr" width="234"
+          height="235">
+        <img class="img-responsive pic-3" src="assets/images/coderockr/picture-3.jpg" alt="Coderockr" width="234"
+          height="235">
+        <img class="img-responsive pic-4" src="assets/images/coderockr/picture-4.jpg" alt="Coderockr" width="234"
+          height="235">
+        <img class="img-responsive pic-5" src="assets/images/coderockr/picture-5.jpg" alt="Coderockr" width="468"
+          height="235">
+        <img class="img-responsive pic-6" src="assets/images/coderockr/picture-6.jpg" alt="Coderockr" width="468"
+          height="235">
+        <img class="img-responsive pic-7" src="assets/images/coderockr/picture-7.jpg" alt="Coderockr" width="234"
+          height="235">
+        <img class="img-responsive pic-8" src="assets/images/coderockr/picture-8.jpg" alt="Coderockr" width="234"
+          height="235">
+        <img class="img-responsive pic-9" src="assets/images/coderockr/picture-9.jpg" alt="Coderockr" width="234"
+          height="235">
+        <img class="img-responsive pic-0" src="assets/images/coderockr/picture-10.jpg" alt="Coderockr" width="234"
+          height="235">
+      </div>
+    </aside>
+    <section class="coderockr">
+      <div class="container history">
+        <div class="row">
+          <div class="col-md-12 cross-title left">
+            <h2><span class="title">A CODEROCKR</span></h2>
+          </div>
+          <div class="col-md-5 logo">
+            <img src="assets/images/hand-yellow.svg" alt="Coderockr Logo" title="Coderockr">
+          </div>
+          <div class="col-md-7 col-md-offset-0 col-sm-10 col-sm-offset-1">
+            <p>
+              A Coderockr, sediada em Joinville, Santa Catarina, está no mercado desde 2010 trabalhando
+              com clientes de diversos portes como startups nacionais e internacionais, corporações,
+              agências de publicidade e instituições de ensino. Temos orgulho de ter trabalhado com
+              empresas como Unochapecó, A2C, Neogrid, Emprego Ligado, Compufour, Weg, entre outras.
+            </p>
+            <p>
+              <i>
+                Nosso propósito é criar softwares incríveis e ajudar outras empresas e desenvolvedores
+                a fazerem o mesmo. Fazemos isso porque acreditamos que o desenvolvimento de software
+                é uma arte, que deve ser feita com paixão, dedicação, e organização.
+              </i>
+            </p>
+            <p>
+              Queremos levar a nossa metodologia e os nossos conceitos ao maior número possível de clientes,
+              projetos, e desenvolvedores. Seja desenvolvendo as soluções internamente ou contribuindo
+              com a comunidade tecnológica disseminando conhecimento. Fazemos isso através de palestras,
+              consultorias, treinamentos, e conteúdo em redes sociais e livros.
+            </p>
+            <p>
+              Nosso sucesso pode ser medido pela satisfação dos usuários que são beneficiados pelos softwares
+              que desenvolvemos, ou que foram desenvolvidos pelas equipes que nós influenciamos.
+            </p>
+          </div>
+        </div>
+      </div>
+      <div class="principles">
+        <div class="container">
+          <div class="row">
+            <ul>
+              <li class="col-md-4">
+                <h3>MISSÃO</h3>
+                <p>
+                  Criar soluções inovadoras e de alta qualidade utilizando as tecnologias mais modernas do
+                  mercado e promovendo a disseminação de conhecimento.
+                </p>
+              </li>
+              <li class="col-md-4">
+                <h3>VISÃO</h3>
+                <p>
+                  Ser referência de excelência e inovação no desenvolvimento de soluções tecnológicas,
+                  gerando contribuições significativas à comunidade.
+                </p>
+              </li>
+              <li class="col-md-4">
+                <h3>VALORES</h3>
+                <p>
+                  Cooperação, Ética, Respeito, Curiosidade, Entusiasmo, Comprometimento, Iniciativa,
+                  Foco na solução e não no problema.
+                </p>
+              </li>
+            </ul>
+            <header class="col-md-12">
+              <span>BONS PROGRAMADORES SÃO ÚNICOS, ASSIM COMO ESTRELAS NO MUNDO DO ROCK!</span>
+            </header>
+          </div>
+        </div>
+      </div>
+    </section>
+    <section class="team">
+      <div class="container">
+        <div class="row">
+          <div class="subtitle">
+            <h2>NOSSA EQUIPE</h2>
+            <span></span>
+          </div>
+          <ul class="col-md-10 col-md-offset-1">
+            <li>
+              <div class="person flex-row">
+                <div class="avatar flex-column">
+                  <div class="shadow">
+                    <img src="assets/images/team/julia.jpg" alt="Julia Possamai" width="210" height="210">
+                  </div>
+                  <ul class="flex-row">
+                    <li>
+                      <a href="https://github.com/juliabpp" target="_blank">
+                        <span class="icon-github"></span>
+                      </a>
+                    </li>
+                    <li>
+                      <a href="https://www.linkedin.com/in/julia-possamai-b097571a" target="_blank">
+                        <span class="icon-linkedin"></span>
+                      </a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="profile flex-column">
+                  <div class="subtitle">
+                    <h2>JULIA POSSAMAI</h2>
+                    <span></span>
+                  </div>
+                  <p>
+                    Formada em Marketing e Ciências da Computação pela University of Texas at Austin
+                    (Hook'em Horns!). Participou do programa "1 Semester Startup" na UT Austin onde
+                    adquiriu conhecimento e despertou o seu espírito empreendedor. Estagiou em Nova York
+                    na área de Marketing, trabalhou em Dallas como Analista de Sistemas de Negócios e
+                    atualmente trabalha com desenvolvimento Mobile e Frontend. Adora conhecer novos lugares e culturas.
+                    Participou de intercâmbios culturais em Washington, DC e Puyallup, Washington. Morou 4
+                    anos no México, onde se formou no ensino médio, mas ainda não aprendeu a gostar de tequila.
+                  </p>
+                </div>
+              </div>
+              <div class="stars flex-row">
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+              </div>
+            </li>
+            <li>
+              <div class="person flex-row">
+                <div class="avatar flex-column">
+                  <div class="shadow">
+                    <img src="assets/images/team/lucas.jpg" alt="Lucas Abreu" width="210" height="210">
+                  </div>
+                  <ul class="flex-row">
+                    <li>
+                      <a href="http://www.lucassabreu.net.br" target="_blank">
+                        <span class="icon-earth"></span>
+                      </a>
+                    </li>
+                    <li>
+                      <a href="https://medium.com/@lucassabreu" target="_blank">
+                        <span class="icon-medium"></span>
+                      </a>
+                    </li>
+                    <li>
+                      <a href="https://twitter.com/LucasSantAbreu" target="_blank">
+                        <span class="icon-twitter"></span>
+                      </a>
+                    </li>
+                    <li>
+                      <a href="https://github.com/lucassabreu" target="_blank">
+                        <span class="icon-github"></span>
+                      </a>
+                    </li>
+                    <li>
+                      <a href="https://www.linkedin.com/in/lucassantosabreu" target="_blank">
+                        <span class="icon-linkedin"></span>
+                      </a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="profile flex-column">
+                  <div class="subtitle">
+                    <h2>LUCAS ABREU</h2>
+                    <span></span>
+                  </div>
+                  <p>
+                    Me interesso por desenvolvimento desde 2009 quando tive de explorar um pouco o
+                    mundo da programação para um projeto e por diversão depois disso. Trabalho na área
+                    desde final de 2010 iniciando com desenvolvimento para ERP e Business Intelligence,
+                    com momentos de analista de banco de dados aqui e ali, o que me levou a uma paixão
+                    por bancos de dados e sistemas/linguagens de consulta. Hoje atuo com desenvolvimento
+                    Web e estou tentando entrar para o mundo de BigData e IA. Sou Bacharel em Sistemas de
+                    Informação pela UNIVILLE, formado em 2016. Meu tempo livre envolve beber com amigos,
+                    ver filmes e animações, ler livros de ficção e passar o fim de semana deitado na cama.
+                  </p>
+                </div>
+              </div>
+              <div class="stars flex-row">
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+              </div>
+            </li>
+            <li>
+              <div class="person flex-row">
+                <div class="avatar flex-column">
+                  <div class="shadow">
+                    <img src="assets/images/team/ricardo.jpg" alt="Ricardo Saraiva" width="210" height="210">
+                  </div>
+                  <ul class="flex-row">
+                    <li>
+                      <a href="https://www.linkedin.com/in/ricardo-saraiva" target="_blank">
+                        <span class="icon-linkedin"></span>
+                      </a>
+                    </li>
+                    <li>
+                      <a href="https://github.com/ricardosaraiva" target="_blank">
+                        <span class="icon-github"></span>
+                      </a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="profile flex-column">
+                  <div class="subtitle">
+                    <h2>RICARDO SARAIVA</h2>
+                    <span></span>
+                  </div>
+                  <p>
+                    Desenvolvedor web autodidata, iniciou sua jornada no mundo da informática em 2008
+                    em um curso de hardware. Através de um professor teve seu primeiro contato com
+                    programação “DELPHI” onde começou sua jornada no mundo do desenvolvimento.
+                    Curte sair com a família, pescar, andar de patins e jogar xadrez.
+                  </p>
+                </div>
+              </div>
+              <div class="stars flex-row">
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+              </div>
+            </li>
+            <li>
+              <div class="person flex-row">
+                <div class="avatar flex-column">
+                  <div class="shadow">
+                    <img src="assets/images/team/uncle-sam.jpg" alt="We want you!" width="210" height="210">
+                  </div>
+                  <ul class="flex-row">
+                    <li>
+                      <a href="https://blog.coderockr.com" target="_blank">
+                        <span class="icon-earth"></span>
+                      </a>
+                    </li>
+                    <li>
+                      <a href="https://github.com/Coderockr" target="_blank">
+                        <span class="icon-github"></span>
+                      </a>
+                    </li>
+                  </ul>
+                </div>
+                <div class="profile flex-column">
+                  <div class="subtitle">
+                    <h2>VOCÊ</h2>
+                    <span></span>
+                  </div>
+                  <p>
+                    Sim, você mesmo! <br>
+                    Curte a Coderockr e tem vontade de trabalhar com a gente? Fique de olho em nossas vagas:</p>
+                  <a href="https://careers.smartrecruiters.com/Coderockr" target="_blank">Coderockr Carrers</a>
+                </div>
+              </div>
+              <div class="stars flex-row">
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+                <span class="icon-star"></span>
+              </div>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </section>
+  </div>
+
+  <footer id="footer">
+    <div class="container">
+      <div class="row">
+        <div class="col-md-12">
+          <ul class="social">
+            <li><a href="https://www.facebook.com/coderockr" title="Curta a Coderockr no Facebook"><span class="icon-facebook"></span></a></li>
+            <li><a href="https://twitter.com/coderockr" title="Siga a Coderockr no Twitter" target="_blank"><span class="icon-twitter"></span></a></li>
+            <li><a href="https://www.instagram.com/coderockr" title="Veja a Coderockr no Instagram" target="_blank"><span class="icon-instagram"></span></a></li>
+            <li><a href="https://www.linkedin.com/company/coderockr" title="Acompahe a Coderockr no LinkedIn" target="_blank"><span class="icon-linkedin"></span></a></li>
+            <li><a href="https://blog.coderockr.com" title="Leia sore a Coderockr no Medium" target="_blank"><span class="icon-medium"></span></a></li>
+            <li><a href="https://github.com/Coderockr" title="Acompahe a Coderockr no Github" target="_blank"><span class="icon-github"></span></a></li>
+          </ul>
+          <img src="assets/images/hand-white.svg" alt="Coderockr Logo" title="You Rock!" class="pull-right">
+          <div class="text">
+            <p>
+              +55 47 98859-1460 &nbsp;&nbsp;&nbsp;
+              contato@coderockr.com
+            </p>
+            <p class="copyright">© 2021 Coderockr. Todos os direitos reservados. &nbsp; Joinville - SC</p>
+          </div>
+        </div>
+      </div>
+    </div>
+  </footer>
+</main>
+
+		<div class="shadow-layer"></div>
+
+    <nav id="menu-mobile">
+      <div class="container">
+        <div class="row">
+          <ul>
+            <li><a href="index.html">Home</a></li>
+            <li><a href="index.html#what-we-do" data-autoscroll="true">O Que Fazemos</a></li>
+            <li><a href="about.html">Quem Somos</a></li>
+            <li><a href="index.html#products" title="Nossos Produtos" data-autoscroll="true">Produtos</a></li>
+            <li><a href="https://blog.coderockr.com" title="Blog Coderockr" target="_blank">Blog</a></li>
+            <li><a href="contact.html">Contato</a></li>
+          </ul>
+          <a href="#0" class="close-menu"><img src="assets/images/close.svg" alt="Close icon"></a>
+        </div>
+      </div>
+    </nav>
+
+    <script src="assets/scripts/main.js" async defer></script>
+    <script type="text/javascript">
+      _linkedin_data_partner_id = "220457";
+      </script><script type="text/javascript">
+      (function(){var s = document.getElementsByTagName("script")[0];
+      var b = document.createElement("script");
+      b.type = "text/javascript";b.async = true;
+      b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
+      s.parentNode.insertBefore(b, s);})();
+    </script>
+    <noscript>
+    <img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=220457&fmt=gif" />
+    </noscript>
+
+    <script type="text/javascript">
+      var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
+      (function(){
+      var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
+      s1.async=true;
+      s1.src='https://embed.tawk.to/5c4a1be8ab5284048d0e73d6/default';
+      s1.charset='UTF-8';
+      s1.setAttribute('crossorigin','*');
+      s0.parentNode.insertBefore(s1,s0);
+      })();
+    </script>
+  </body>
+</html>
diff --git a/src/assets/fonts/aller_std_bd-webfont.woff b/assets/fonts/aller_std_bd-webfont.woff
similarity index 100%
rename from src/assets/fonts/aller_std_bd-webfont.woff
rename to assets/fonts/aller_std_bd-webfont.woff
diff --git a/src/assets/fonts/aller_std_bd-webfont.woff2 b/assets/fonts/aller_std_bd-webfont.woff2
similarity index 100%
rename from src/assets/fonts/aller_std_bd-webfont.woff2
rename to assets/fonts/aller_std_bd-webfont.woff2
diff --git a/src/assets/fonts/aller_std_lt-webfont.woff b/assets/fonts/aller_std_lt-webfont.woff
similarity index 100%
rename from src/assets/fonts/aller_std_lt-webfont.woff
rename to assets/fonts/aller_std_lt-webfont.woff
diff --git a/src/assets/fonts/aller_std_lt-webfont.woff2 b/assets/fonts/aller_std_lt-webfont.woff2
similarity index 100%
rename from src/assets/fonts/aller_std_lt-webfont.woff2
rename to assets/fonts/aller_std_lt-webfont.woff2
diff --git a/src/assets/fonts/aller_std_rg-webfont.woff b/assets/fonts/aller_std_rg-webfont.woff
similarity index 100%
rename from src/assets/fonts/aller_std_rg-webfont.woff
rename to assets/fonts/aller_std_rg-webfont.woff
diff --git a/src/assets/fonts/aller_std_rg-webfont.woff2 b/assets/fonts/aller_std_rg-webfont.woff2
similarity index 100%
rename from src/assets/fonts/aller_std_rg-webfont.woff2
rename to assets/fonts/aller_std_rg-webfont.woff2
diff --git a/src/assets/fonts/allerdisplay_std_rg-webfont.woff b/assets/fonts/allerdisplay_std_rg-webfont.woff
similarity index 100%
rename from src/assets/fonts/allerdisplay_std_rg-webfont.woff
rename to assets/fonts/allerdisplay_std_rg-webfont.woff
diff --git a/src/assets/fonts/allerdisplay_std_rg-webfont.woff2 b/assets/fonts/allerdisplay_std_rg-webfont.woff2
similarity index 100%
rename from src/assets/fonts/allerdisplay_std_rg-webfont.woff2
rename to assets/fonts/allerdisplay_std_rg-webfont.woff2
diff --git a/src/assets/fonts/glyphicons-halflings-regular.eot b/assets/fonts/glyphicons-halflings-regular.eot
similarity index 100%
rename from src/assets/fonts/glyphicons-halflings-regular.eot
rename to assets/fonts/glyphicons-halflings-regular.eot
diff --git a/src/assets/fonts/glyphicons-halflings-regular.svg b/assets/fonts/glyphicons-halflings-regular.svg
similarity index 100%
rename from src/assets/fonts/glyphicons-halflings-regular.svg
rename to assets/fonts/glyphicons-halflings-regular.svg
diff --git a/src/assets/fonts/glyphicons-halflings-regular.ttf b/assets/fonts/glyphicons-halflings-regular.ttf
similarity index 100%
rename from src/assets/fonts/glyphicons-halflings-regular.ttf
rename to assets/fonts/glyphicons-halflings-regular.ttf
diff --git a/src/assets/fonts/glyphicons-halflings-regular.woff b/assets/fonts/glyphicons-halflings-regular.woff
similarity index 100%
rename from src/assets/fonts/glyphicons-halflings-regular.woff
rename to assets/fonts/glyphicons-halflings-regular.woff
diff --git a/src/assets/fonts/glyphicons-halflings-regular.woff2 b/assets/fonts/glyphicons-halflings-regular.woff2
similarity index 100%
rename from src/assets/fonts/glyphicons-halflings-regular.woff2
rename to assets/fonts/glyphicons-halflings-regular.woff2
diff --git a/src/assets/fonts/gobold_lowplus-webfont.woff b/assets/fonts/gobold_lowplus-webfont.woff
similarity index 100%
rename from src/assets/fonts/gobold_lowplus-webfont.woff
rename to assets/fonts/gobold_lowplus-webfont.woff
diff --git a/src/assets/fonts/gobold_lowplus-webfont.woff2 b/assets/fonts/gobold_lowplus-webfont.woff2
similarity index 100%
rename from src/assets/fonts/gobold_lowplus-webfont.woff2
rename to assets/fonts/gobold_lowplus-webfont.woff2
diff --git a/src/assets/fonts/gobold_regular-webfont.woff b/assets/fonts/gobold_regular-webfont.woff
similarity index 100%
rename from src/assets/fonts/gobold_regular-webfont.woff
rename to assets/fonts/gobold_regular-webfont.woff
diff --git a/src/assets/fonts/gobold_regular-webfont.woff2 b/assets/fonts/gobold_regular-webfont.woff2
similarity index 100%
rename from src/assets/fonts/gobold_regular-webfont.woff2
rename to assets/fonts/gobold_regular-webfont.woff2
diff --git a/src/assets/fonts/gobold_thin-webfont.woff b/assets/fonts/gobold_thin-webfont.woff
similarity index 100%
rename from src/assets/fonts/gobold_thin-webfont.woff
rename to assets/fonts/gobold_thin-webfont.woff
diff --git a/src/assets/fonts/gobold_thin-webfont.woff2 b/assets/fonts/gobold_thin-webfont.woff2
similarity index 100%
rename from src/assets/fonts/gobold_thin-webfont.woff2
rename to assets/fonts/gobold_thin-webfont.woff2
diff --git a/src/assets/fonts/gobold_uplow-webfont.woff b/assets/fonts/gobold_uplow-webfont.woff
similarity index 100%
rename from src/assets/fonts/gobold_uplow-webfont.woff
rename to assets/fonts/gobold_uplow-webfont.woff
diff --git a/src/assets/fonts/gobold_uplow-webfont.woff2 b/assets/fonts/gobold_uplow-webfont.woff2
similarity index 100%
rename from src/assets/fonts/gobold_uplow-webfont.woff2
rename to assets/fonts/gobold_uplow-webfont.woff2
diff --git a/assets/fonts/icomoon.eot b/assets/fonts/icomoon.eot
new file mode 100755
index 0000000..5be5557
Binary files /dev/null and b/assets/fonts/icomoon.eot differ
diff --git a/src/assets/fonts/icomoon.svg b/assets/fonts/icomoon.svg
similarity index 90%
rename from src/assets/fonts/icomoon.svg
rename to assets/fonts/icomoon.svg
index 4617ffe..494b188 100755
--- a/src/assets/fonts/icomoon.svg
+++ b/assets/fonts/icomoon.svg
@@ -7,12 +7,13 @@
 <font-face units-per-em="1024" ascent="960" descent="-64" />
 <missing-glyph horiz-adv-x="1024" />
 <glyph unicode="&#x20;" horiz-adv-x="512" d="" />
-<glyph unicode="&#xe900;" glyph-name="medium" d="M1020.414 723.458l-309.245-504.319-221.186 360.449 175.615 286.208c8.702 13.314 25.602 18.942 39.937 14.845l314.878-157.184zM1024 49.661c0-29.181-25.602-40.448-56.831-24.575l-241.154 120.322 297.985 486.397v-582.145zM358.401 41.471c0-28.67-22.017-41.985-47.618-28.67l-282.622 140.291c-15.362 8.192-28.161 28.67-28.161 46.081v651.263c0 23.037 16.894 32.767 37.889 23.554l305.149-152.578 15.362-23.554v-656.382zM680.45 168.446l-270.846 135.678v307.197l270.846-442.882z" />
-<glyph unicode="&#xe901;" glyph-name="youtube-custom" d="M0 489.92v-80.64c0-82.88 10.24-165.76 10.24-165.76s9.984-70.4 40.704-101.568c38.912-40.768 90.112-39.488 112.896-43.776 81.92-7.872 348.16-10.24 348.16-10.24s215.168 0.256 358.4 10.624c20.096 2.432 63.744 2.56 102.656 43.392 30.72 31.104 40.704 101.632 40.704 101.632s10.24 82.816 10.24 165.76v80.512c0 82.944-10.24 165.76-10.24 165.76s-9.984 70.528-40.704 101.632c-38.912 40.832-82.56 40.96-102.656 43.392-143.232 10.368-358.4 10.624-358.4 10.624s-266.24-2.304-348.16-10.24c-22.784-4.288-73.984-3.008-112.896-43.776-30.72-31.168-40.704-101.568-40.704-101.568s-10.24-82.944-10.24-165.76zM406.272 315.2v287.68l276.672-144.32-276.608-143.36z" />
-<glyph unicode="&#xe902;" glyph-name="star" d="M512 223.147l263.68-159.147-69.973 299.947 232.96 201.813-306.773 26.453-119.893 282.453-119.893-282.453-306.773-26.453 232.533-201.813-69.547-299.947 263.68 159.147z" />
-<glyph unicode="&#xe903;" glyph-name="coderockr" horiz-adv-x="403" d="M374.863 614.426c1.2 12.003 1.8 26.047 2.281 39.371s1.2 29.408 2.521 42.132c3.961 36.010 13.564 141.399 14.404 158.563 0 2.041 0 4.801 0 8.162 1.015 9.712 1.594 20.984 1.594 32.39 0 9.005-0.361 17.925-1.068 26.748-2.699 18.134-17.061 33.427-35.628 37.551-1.818 0.241-3.567 0.345-5.341 0.345-16.909 0-31.599-9.501-39.023-23.456-18.361-30.487-23.162-79.22-25.683-105.507-0.96-10.443-4.801-42.372-7.802-67.939l-1.080-9.483c-1.608 1.751-3.293 3.36-5.078 4.854-10.55 8.157-23.383 13.688-37.381 15.51-3.495 0.639-7.063 0.981-10.711 0.981-10.18 0-19.739-2.663-28.017-7.329-7.022-3.538-13.018-8.88-17.374-15.41-11.252 8.066-25.264 13.010-40.432 13.010-4.458 0-8.817-0.427-13.037-1.243-10.478-1.897-20.149-6.107-28.47-12.079 0.128 7.414-0.523 14.467-1.701 21.34-0.728 4.731-1.568 10.373-2.289 16.014s-1.68 12.003-2.521 17.285c0 2.161-0.6 4.321-0.96 6.482-1.178 18.105-7.202 34.599-16.774 48.454-6.231 5.791-14.955 9.549-24.558 9.549-0.492 0-0.982-0.010-1.47-0.029-0.65 0.049-1.492 0.075-2.339 0.075-12.006 0-22.772-5.309-30.078-13.708-17.686-21.414-16.846-39.779-16.846-70.268v-5.882c0.6-24.007 1.921-45.612 3.241-68.899 0-9.843 1.2-19.685 1.68-29.888 0.127-4.211 0.199-9.166 0.199-14.136 0-18.401-0.988-36.572-2.913-54.461-0.646-8.824-1.607-20.347-2.207-31.39-0.731-7.487-1.148-16.186-1.148-24.981 0-26.541 3.795-52.196 10.872-76.452l1.079-2.395c7.157-22.86 16.701-42.751 28.647-60.923l-0.56 0.907c0.84-9.963 1.44-17.645 1.921-24.007 1.241-12.592 1.948-27.219 1.948-42.011s-0.707-29.419-2.090-43.848l-0.818-19.889c-2.881-75.621 21.606-134.557 73.46-174.768l13.924-10.803v17.645c0 6.962 0 12.003-0.84 16.324-0.418 3.458-0.656 7.462-0.656 11.522 0 6.837 0.676 13.516 1.964 19.974 39.263-48.661 40.223-86.831 41.784-152.489 0-19.085 0.96-40.691 2.521-65.298l0.96-14.524 12.003 7.922c59.989 36.361 101.445 98.136 109.496 170.011 1.089 10.465 1.657 21.408 1.657 32.483 0 29.68-4.076 58.409-11.698 85.656 12.701-10.206 27.056-15.973 42.485-18.585l20.225-4.173-10.563 16.925c-32.169 51.614-32.529 103.708-32.769 149.561 0 4.081 0 7.922 0 12.003 14.722 8.908 27.486 18.54 39.177 29.319 26.772 25.272 46.742 57.802 56.756 94.444 1.866 8.678 2.744 17.005 2.744 25.537 0 29.403-10.426 56.372-27.784 77.409zM297.921 760.265c3.241 27.007 6.842 57.616 7.922 68.299 2.401 24.847 6.962 71.179 23.286 98.067 4.452 9.626 14.027 16.185 25.134 16.185 0.829 0 1.649-0.037 2.459-0.108 11.668-3.183 20.434-13.121 21.848-25.301 0.339-6.045 0.524-12.956 0.524-19.911 0-11.802-0.534-23.478-1.58-35.007 0.109-1.876 0.109-4.757 0.109-6.797-0.84-16.925-10.323-121.473-14.404-157.603-1.44-13.444-2.041-28.688-2.641-43.332 0-8.522-0.72-17.165-1.2-25.447-19.888 13.409-43.328 23.293-68.559 28.139-0.099 10.391 0.861 28.156 2.061 48.202 0 8.402 0.84 15.604 1.080 17.405 0.12 4.801 1.921 19.925 3.961 37.21zM206.937 751.743c5.622 3.147 12.336 5.001 19.483 5.001 2.833 0 5.598-0.291 8.267-0.845 11.039-1.387 21.132-5.676 29.538-12.069 6.074-5.431 10.405-12.983 11.822-21.519 0.030-3.097 0.030-8.378-0.931-16.541-0.72-12.964-1.921-34.569-3.001-45.973-0.827 0.071-1.791 0.112-2.763 0.112-9.414 0-17.94-3.803-24.126-9.956-14.042-14.282-14.282-39.489-9.841-58.334 1.956-7.751 5.052-14.559 9.149-20.637-7.692-4.404-16.83-7.149-26.609-7.149-7.175 0-14.006 1.478-20.203 4.146-3.58 3.678-6.471 8.515-7.902 13.944l-0.048 1.533c3.814 15.756 6.002 33.845 6.002 52.445 0 0.003 0 0.007 0 0.010 0 2.4 0 4.68 0 6.721s0 7.442 0.6 11.043c0.535 6.362 0.84 13.768 0.84 21.246s-0.305 14.884-0.903 22.207c-1.103 13.818-3.23 27.344-6.304 40.506l3.366 2.344c3.282 5.151 7.899 9.19 13.37 11.684zM178.369 738.78c-2.761 10.923 1.32-4.561 0 0zM132.036 746.102c13.444 2.641 36.85-1.44 42.132-12.003 2.903-11.674 4.998-25.389 5.85-39.439 0.529-6.6 0.812-13.525 0.812-20.517s-0.283-13.917-0.839-20.766c0.059-2.821 0.059-6.662-0.541-10.383s0-4.441 0-6.842c-0.021-17.788-2.297-35.035-6.556-51.483-6.648-18.857-16.851-20.777-19.611-20.777-2.439-0.611-5.24-0.961-8.122-0.961-7.946 0-15.27 2.663-21.129 7.144-11.919 9.301-19.121 29.347-20.442 54.793 0 9.002 0 18.245 0 27.247s0 18.125 0 27.007c0 5.161-1.080 16.324-1.8 26.167 0 7.082-1.080 13.564-1.2 17.045v1.32c5.817 12.266 17.471 20.927 31.274 22.431zM384.105 515.879c-9.613-34.345-27.747-63.67-52.004-86.579-11.943-11.14-25.203-20.959-39.498-29.179-13.465-8.041-28.24-12.93-44.050-14.097l0.395-17.064c14.13 0.83 27.259 4.283 39.184 9.878-0.653-1.356-0.653-2.316-0.653-3.396 0-42.972 0-90.985 25.327-140.558-20.286 7.082-29.408 17.525-41.651 38.651-8.058 11.068-15.93 20.73-24.278 29.952 2.54-14.658 5.465-27.128 9.196-39.244 23.485-58.047 62.015-204.006-67.74-298.112-0.96 18.245-1.32 34.689-1.68 49.694-1.8 73.1-2.881 117.152-57.736 175.728l-11.283 12.243-3.361-15.844c-3.519-12.399-5.543-26.638-5.543-41.35 0-2.344 0.051-4.675 0.153-6.994-37.462 36.34-54.386 85.073-51.626 148.331l0.96 21.846c1.254 12.844 1.969 27.764 1.969 42.852s-0.715 30.009-2.114 44.73l0.144 0.162c5.247-4.575 10.998-9.068 16.985-13.247 5.532-3.745 11.109-6.692 17.006-8.999 3.46-1.4 6.22-2.6 9.221-4.161l7.802 15.124c-3.601 1.8-6.722 3.121-9.843 4.441-5.283 2.027-9.833 4.409-14.055 7.241-7.2 4.969-13.7 10.134-19.827 15.702-3.561 3.216-6.906 6.828-9.909 10.716-11.948 17.24-21.531 36.981-27.85 58.13l-1.819 5.798c-5.978 20.656-9.417 44.383-9.417 68.913 0 8.49 0.412 16.884 1.217 25.163-0.083 9.632 1.358 20.435 2.198 31.958 1.754 15.942 2.755 34.428 2.755 53.149 0 5.454-0.085 10.888-0.254 16.301 0.020 9.412-1.061 19.374-1.661 29.217-1.32 23.046-2.641 44.772-3.241 68.299v5.882c-0.84 29.168-1.2 42.492 12.003 58.936 4.009 4.494 9.753 7.368 16.171 7.561 0.821 0.078 1.735 0.122 2.66 0.122 4.832 0 9.383-1.199 13.373-3.317 7.587-11.59 12.427-25.78 13.044-41.058 0.005-2.319 0.005-4.599 0.965-6.88 0.84-5.642 1.68-11.403 2.521-17.165s1.56-12.003 2.401-17.045c0.988-5.486 1.552-11.802 1.552-18.249 0-2.49-0.084-4.961-0.25-7.409-0.14-2.448-0.23-5.699-0.23-8.971s0.090-6.524 0.268-9.751l-0.020-3.152c0-3.601 0.72-10.203 1.2-17.285 0.72-9.843 1.56-20.886 1.8-25.807 0-8.522 0-17.525 0-26.287s0-18.725 0-28.088c0.96-17.765 5.642-50.174 26.887-67.218 8.621-6.737 19.615-10.803 31.558-10.803 3.917 0 7.732 0.437 11.399 1.266 10.617 1.679 19.784 8.16 25.131 17.173 2.011-2.816 4.234-5.383 6.771-7.599 7.999-5.279 17.757-8.399 28.244-8.399 1.015 0 2.024 0.029 3.025 0.087 0.245-0.015 0.696-0.020 1.149-0.020 13.346 0 25.692 4.279 35.742 11.54 2.79-3.135 5.922-5.962 9.211-8.601-7.131-4.906-13.477-10.298-19.044-16.412l-3.19-3.438c-8.87-8.066-15.829-18.072-20.224-29.359l16.263-4.97c3.986 8.924 9.542 16.479 16.384 22.633l3.302 3.535c6.188 7.35 14.052 13.092 23.014 16.667 12.77-7.294 27.37-12.41 42.979-14.218l1.945 16.877c-25.030 3.014-46.775 15.131-62.195 32.889-5.21 5.981-9.070 13.069-11.18 20.877-1.714 5.045-2.655 10.434-2.655 16.044 0 9.974 2.975 19.254 8.085 27 3.48 2.984 8.228 4.917 13.428 4.917 2.416 0 4.735-0.417 6.888-1.184l1.177 0.045c29.528-7.082 60.016-14.524 80.542-36.010l1.44-1.56c15.672-18.145 25.219-41.962 25.219-68.008 0-7.498-0.791-14.811-2.294-21.86z" />
-<glyph unicode="&#xe904;" glyph-name="linkedin" d="M896 64h-170.667v288c0 45.227-50.773 82.773-96 82.773s-74.667-37.547-74.667-82.773v-288h-170.667v512h170.667v-85.333c28.16 45.653 100.693 75.093 149.333 75.093 106.667 0 192-87.040 192-192.427v-309.333zM298.667 64h-170.667v512h170.667v-512zM213.333 832c47.128 0 85.333-38.205 85.333-85.333s-38.205-85.333-85.333-85.333c-47.128 0-85.333 38.205-85.333 85.333s38.205 85.333 85.333 85.333z" />
-<glyph unicode="&#xe905;" glyph-name="earth" d="M763.733 218.027c-11.093 34.133-43.093 59.307-81.067 59.307h-42.667v128c0 23.564-19.103 42.667-42.667 42.667h-256v85.333h85.333c23.564 0 42.667 19.103 42.667 42.667v85.333h85.333c47.128 0 85.333 38.205 85.333 85.333v17.493c125.013-50.347 213.333-172.8 213.333-316.16 0-88.747-34.133-169.387-89.6-229.973zM469.333 109.653c-168.533 20.907-298.667 164.267-298.667 338.347 0 26.453 3.413 52.053 8.96 76.373l204.373-204.373v-42.667c0-47.128 38.205-85.333 85.333-85.333zM512 874.667c-235.641 0-426.667-191.025-426.667-426.667s191.025-426.667 426.667-426.667c235.641 0 426.667 191.025 426.667 426.667s-191.025 426.667-426.667 426.667z" />
+<glyph unicode="&#xe900;" glyph-name="instagram" d="M332.8 874.667h358.4c136.533 0 247.467-110.933 247.467-247.467v-358.4c0-136.672-110.795-247.467-247.467-247.467v0h-358.4c-136.533 0-247.467 110.933-247.467 247.467v358.4c0 136.672 110.795 247.467 247.467 247.467v0zM324.267 789.333c-84.831 0-153.6-68.769-153.6-153.6v0-375.467c0-84.907 68.693-153.6 153.6-153.6h375.467c84.831 0 153.6 68.769 153.6 153.6v0 375.467c0 84.907-68.693 153.6-153.6 153.6h-375.467zM736 725.333c29.455 0 53.333-23.878 53.333-53.333v0c0-29.455-23.878-53.333-53.333-53.333v0c-29.455 0-53.333 23.878-53.333 53.333v0c0 29.455 23.878 53.333 53.333 53.333v0zM512 661.333c117.821 0 213.333-95.513 213.333-213.333v0c0-117.821-95.513-213.333-213.333-213.333v0c-117.821 0-213.333 95.513-213.333 213.333v0c0 117.821 95.513 213.333 213.333 213.333v0zM512 576c-70.692 0-128-57.308-128-128v0c0-70.692 57.308-128 128-128v0c70.692 0 128 57.308 128 128v0c0 70.692-57.308 128-128 128v0z" />
+<glyph unicode="&#xe901;" glyph-name="medium" d="M1020.414 723.458l-309.245-504.319-221.186 360.449 175.615 286.208c8.702 13.314 25.602 18.942 39.937 14.845l314.878-157.184zM1024 49.661c0-29.181-25.602-40.448-56.831-24.575l-241.154 120.322 297.985 486.397v-582.145zM358.401 41.471c0-28.67-22.017-41.985-47.618-28.67l-282.622 140.291c-15.362 8.192-28.161 28.67-28.161 46.081v651.263c0 23.037 16.894 32.767 37.889 23.554l305.149-152.578 15.362-23.554v-656.382zM680.45 168.446l-270.846 135.678v307.197l270.846-442.882z" />
+<glyph unicode="&#xe902;" glyph-name="youtube-custom" d="M0 489.92v-80.64c0-82.88 10.24-165.76 10.24-165.76s9.984-70.4 40.704-101.568c38.912-40.768 90.112-39.488 112.896-43.776 81.92-7.872 348.16-10.24 348.16-10.24s215.168 0.256 358.4 10.624c20.096 2.432 63.744 2.56 102.656 43.392 30.72 31.104 40.704 101.632 40.704 101.632s10.24 82.816 10.24 165.76v80.512c0 82.944-10.24 165.76-10.24 165.76s-9.984 70.528-40.704 101.632c-38.912 40.832-82.56 40.96-102.656 43.392-143.232 10.368-358.4 10.624-358.4 10.624s-266.24-2.304-348.16-10.24c-22.784-4.288-73.984-3.008-112.896-43.776-30.72-31.168-40.704-101.568-40.704-101.568s-10.24-82.944-10.24-165.76zM406.272 315.2v287.68l276.672-144.32-276.608-143.36z" />
+<glyph unicode="&#xe903;" glyph-name="star" d="M512 223.147l263.68-159.147-69.973 299.947 232.96 201.813-306.773 26.453-119.893 282.453-119.893-282.453-306.773-26.453 232.533-201.813-69.547-299.947 263.68 159.147z" />
+<glyph unicode="&#xe904;" glyph-name="coderockr" horiz-adv-x="403" d="M374.863 614.426c1.2 12.003 1.8 26.047 2.281 39.371s1.2 29.408 2.521 42.132c3.961 36.010 13.564 141.399 14.404 158.563 0 2.041 0 4.801 0 8.162 1.015 9.712 1.594 20.984 1.594 32.39 0 9.005-0.361 17.925-1.068 26.748-2.699 18.134-17.061 33.427-35.628 37.551-1.818 0.241-3.567 0.345-5.341 0.345-16.909 0-31.599-9.501-39.023-23.456-18.361-30.487-23.162-79.22-25.683-105.507-0.96-10.443-4.801-42.372-7.802-67.939l-1.080-9.483c-1.608 1.751-3.293 3.36-5.078 4.854-10.55 8.157-23.383 13.688-37.381 15.51-3.495 0.639-7.063 0.981-10.711 0.981-10.18 0-19.739-2.663-28.017-7.329-7.022-3.538-13.018-8.88-17.374-15.41-11.252 8.066-25.264 13.010-40.432 13.010-4.458 0-8.817-0.427-13.037-1.243-10.478-1.897-20.149-6.107-28.47-12.079 0.128 7.414-0.523 14.467-1.701 21.34-0.728 4.731-1.568 10.373-2.289 16.014s-1.68 12.003-2.521 17.285c0 2.161-0.6 4.321-0.96 6.482-1.178 18.105-7.202 34.599-16.774 48.454-6.231 5.791-14.955 9.549-24.558 9.549-0.492 0-0.982-0.010-1.47-0.029-0.65 0.049-1.492 0.075-2.339 0.075-12.006 0-22.772-5.309-30.078-13.708-17.686-21.414-16.846-39.779-16.846-70.268v-5.882c0.6-24.007 1.921-45.612 3.241-68.899 0-9.843 1.2-19.685 1.68-29.888 0.127-4.211 0.199-9.166 0.199-14.136 0-18.401-0.988-36.572-2.913-54.461-0.646-8.824-1.607-20.347-2.207-31.39-0.731-7.487-1.148-16.186-1.148-24.981 0-26.541 3.795-52.196 10.872-76.452l1.079-2.395c7.157-22.86 16.701-42.751 28.647-60.923l-0.56 0.907c0.84-9.963 1.44-17.645 1.921-24.007 1.241-12.592 1.948-27.219 1.948-42.011s-0.707-29.419-2.090-43.848l-0.818-19.889c-2.881-75.621 21.606-134.557 73.46-174.768l13.924-10.803v17.645c0 6.962 0 12.003-0.84 16.324-0.418 3.458-0.656 7.462-0.656 11.522 0 6.837 0.676 13.516 1.964 19.974 39.263-48.661 40.223-86.831 41.784-152.489 0-19.085 0.96-40.691 2.521-65.298l0.96-14.524 12.003 7.922c59.989 36.361 101.445 98.136 109.496 170.011 1.089 10.465 1.657 21.408 1.657 32.483 0 29.68-4.076 58.409-11.698 85.656 12.701-10.206 27.056-15.973 42.485-18.585l20.225-4.173-10.563 16.925c-32.169 51.614-32.529 103.708-32.769 149.561 0 4.081 0 7.922 0 12.003 14.722 8.908 27.486 18.54 39.177 29.319 26.772 25.272 46.742 57.802 56.756 94.444 1.866 8.678 2.744 17.005 2.744 25.537 0 29.403-10.426 56.372-27.784 77.409zM297.921 760.265c3.241 27.007 6.842 57.616 7.922 68.299 2.401 24.847 6.962 71.179 23.286 98.067 4.452 9.626 14.027 16.185 25.134 16.185 0.829 0 1.649-0.037 2.459-0.108 11.668-3.183 20.434-13.121 21.848-25.301 0.339-6.045 0.524-12.956 0.524-19.911 0-11.802-0.534-23.478-1.58-35.007 0.109-1.876 0.109-4.757 0.109-6.797-0.84-16.925-10.323-121.473-14.404-157.603-1.44-13.444-2.041-28.688-2.641-43.332 0-8.522-0.72-17.165-1.2-25.447-19.888 13.409-43.328 23.293-68.559 28.139-0.099 10.391 0.861 28.156 2.061 48.202 0 8.402 0.84 15.604 1.080 17.405 0.12 4.801 1.921 19.925 3.961 37.21zM206.937 751.743c5.622 3.147 12.336 5.001 19.483 5.001 2.833 0 5.598-0.291 8.267-0.845 11.039-1.387 21.132-5.676 29.538-12.069 6.074-5.431 10.405-12.983 11.822-21.519 0.030-3.097 0.030-8.378-0.931-16.541-0.72-12.964-1.921-34.569-3.001-45.973-0.827 0.071-1.791 0.112-2.763 0.112-9.414 0-17.94-3.803-24.126-9.956-14.042-14.282-14.282-39.489-9.841-58.334 1.956-7.751 5.052-14.559 9.149-20.637-7.692-4.404-16.83-7.149-26.609-7.149-7.175 0-14.006 1.478-20.203 4.146-3.58 3.678-6.471 8.515-7.902 13.944l-0.048 1.533c3.814 15.756 6.002 33.845 6.002 52.445 0 0.003 0 0.007 0 0.010 0 2.4 0 4.68 0 6.721s0 7.442 0.6 11.043c0.535 6.362 0.84 13.768 0.84 21.246s-0.305 14.884-0.903 22.207c-1.103 13.818-3.23 27.344-6.304 40.506l3.366 2.344c3.282 5.151 7.899 9.19 13.37 11.684zM178.369 738.78c-2.761 10.923 1.32-4.561 0 0zM132.036 746.102c13.444 2.641 36.85-1.44 42.132-12.003 2.903-11.674 4.998-25.389 5.85-39.439 0.529-6.6 0.812-13.525 0.812-20.517s-0.283-13.917-0.839-20.766c0.059-2.821 0.059-6.662-0.541-10.383s0-4.441 0-6.842c-0.021-17.788-2.297-35.035-6.556-51.483-6.648-18.857-16.851-20.777-19.611-20.777-2.439-0.611-5.24-0.961-8.122-0.961-7.946 0-15.27 2.663-21.129 7.144-11.919 9.301-19.121 29.347-20.442 54.793 0 9.002 0 18.245 0 27.247s0 18.125 0 27.007c0 5.161-1.080 16.324-1.8 26.167 0 7.082-1.080 13.564-1.2 17.045v1.32c5.817 12.266 17.471 20.927 31.274 22.431zM384.105 515.879c-9.613-34.345-27.747-63.67-52.004-86.579-11.943-11.14-25.203-20.959-39.498-29.179-13.465-8.041-28.24-12.93-44.050-14.097l0.395-17.064c14.13 0.83 27.259 4.283 39.184 9.878-0.653-1.356-0.653-2.316-0.653-3.396 0-42.972 0-90.985 25.327-140.558-20.286 7.082-29.408 17.525-41.651 38.651-8.058 11.068-15.93 20.73-24.278 29.952 2.54-14.658 5.465-27.128 9.196-39.244 23.485-58.047 62.015-204.006-67.74-298.112-0.96 18.245-1.32 34.689-1.68 49.694-1.8 73.1-2.881 117.152-57.736 175.728l-11.283 12.243-3.361-15.844c-3.519-12.399-5.543-26.638-5.543-41.35 0-2.344 0.051-4.675 0.153-6.994-37.462 36.34-54.386 85.073-51.626 148.331l0.96 21.846c1.254 12.844 1.969 27.764 1.969 42.852s-0.715 30.009-2.114 44.73l0.144 0.162c5.247-4.575 10.998-9.068 16.985-13.247 5.532-3.745 11.109-6.692 17.006-8.999 3.46-1.4 6.22-2.6 9.221-4.161l7.802 15.124c-3.601 1.8-6.722 3.121-9.843 4.441-5.283 2.027-9.833 4.409-14.055 7.241-7.2 4.969-13.7 10.134-19.827 15.702-3.561 3.216-6.906 6.828-9.909 10.716-11.948 17.24-21.531 36.981-27.85 58.13l-1.819 5.798c-5.978 20.656-9.417 44.383-9.417 68.913 0 8.49 0.412 16.884 1.217 25.163-0.083 9.632 1.358 20.435 2.198 31.958 1.754 15.942 2.755 34.428 2.755 53.149 0 5.454-0.085 10.888-0.254 16.301 0.020 9.412-1.061 19.374-1.661 29.217-1.32 23.046-2.641 44.772-3.241 68.299v5.882c-0.84 29.168-1.2 42.492 12.003 58.936 4.009 4.494 9.753 7.368 16.171 7.561 0.821 0.078 1.735 0.122 2.66 0.122 4.832 0 9.383-1.199 13.373-3.317 7.587-11.59 12.427-25.78 13.044-41.058 0.005-2.319 0.005-4.599 0.965-6.88 0.84-5.642 1.68-11.403 2.521-17.165s1.56-12.003 2.401-17.045c0.988-5.486 1.552-11.802 1.552-18.249 0-2.49-0.084-4.961-0.25-7.409-0.14-2.448-0.23-5.699-0.23-8.971s0.090-6.524 0.268-9.751l-0.020-3.152c0-3.601 0.72-10.203 1.2-17.285 0.72-9.843 1.56-20.886 1.8-25.807 0-8.522 0-17.525 0-26.287s0-18.725 0-28.088c0.96-17.765 5.642-50.174 26.887-67.218 8.621-6.737 19.615-10.803 31.558-10.803 3.917 0 7.732 0.437 11.399 1.266 10.617 1.679 19.784 8.16 25.131 17.173 2.011-2.816 4.234-5.383 6.771-7.599 7.999-5.279 17.757-8.399 28.244-8.399 1.015 0 2.024 0.029 3.025 0.087 0.245-0.015 0.696-0.020 1.149-0.020 13.346 0 25.692 4.279 35.742 11.54 2.79-3.135 5.922-5.962 9.211-8.601-7.131-4.906-13.477-10.298-19.044-16.412l-3.19-3.438c-8.87-8.066-15.829-18.072-20.224-29.359l16.263-4.97c3.986 8.924 9.542 16.479 16.384 22.633l3.302 3.535c6.188 7.35 14.052 13.092 23.014 16.667 12.77-7.294 27.37-12.41 42.979-14.218l1.945 16.877c-25.030 3.014-46.775 15.131-62.195 32.889-5.21 5.981-9.070 13.069-11.18 20.877-1.714 5.045-2.655 10.434-2.655 16.044 0 9.974 2.975 19.254 8.085 27 3.48 2.984 8.228 4.917 13.428 4.917 2.416 0 4.735-0.417 6.888-1.184l1.177 0.045c29.528-7.082 60.016-14.524 80.542-36.010l1.44-1.56c15.672-18.145 25.219-41.962 25.219-68.008 0-7.498-0.791-14.811-2.294-21.86z" />
+<glyph unicode="&#xe905;" glyph-name="linkedin" d="M896 64h-170.667v288c0 45.227-50.773 82.773-96 82.773s-74.667-37.547-74.667-82.773v-288h-170.667v512h170.667v-85.333c28.16 45.653 100.693 75.093 149.333 75.093 106.667 0 192-87.040 192-192.427v-309.333zM298.667 64h-170.667v512h170.667v-512zM213.333 832c47.128 0 85.333-38.205 85.333-85.333s-38.205-85.333-85.333-85.333c-47.128 0-85.333 38.205-85.333 85.333s38.205 85.333 85.333 85.333z" />
+<glyph unicode="&#xe906;" glyph-name="earth" d="M763.733 218.027c-11.093 34.133-43.093 59.307-81.067 59.307h-42.667v128c0 23.564-19.103 42.667-42.667 42.667h-256v85.333h85.333c23.564 0 42.667 19.103 42.667 42.667v85.333h85.333c47.128 0 85.333 38.205 85.333 85.333v17.493c125.013-50.347 213.333-172.8 213.333-316.16 0-88.747-34.133-169.387-89.6-229.973zM469.333 109.653c-168.533 20.907-298.667 164.267-298.667 338.347 0 26.453 3.413 52.053 8.96 76.373l204.373-204.373v-42.667c0-47.128 38.205-85.333 85.333-85.333zM512 874.667c-235.641 0-426.667-191.025-426.667-426.667s191.025-426.667 426.667-426.667c235.641 0 426.667 191.025 426.667 426.667s-191.025 426.667-426.667 426.667z" />
 <glyph unicode="&#xea8d;" glyph-name="google-plus" d="M512 960c-282.8 0-512-229.2-512-512s229.2-512 512-512 512 229.2 512 512-229.2 512-512 512zM384 192c-141.6 0-256 114.4-256 256s114.4 256 256 256c69.2 0 127-25.2 171.6-67l-69.6-66.8c-19 18.2-52.2 39.4-102 39.4-87.4 0-158.8-72.4-158.8-161.6s71.4-161.6 158.8-161.6c101.4 0 139.4 72.8 145.2 110.4h-145.2v87.8h241.8c2.2-12.8 4-25.6 4-42.4 0-146.4-98-250.2-245.8-250.2zM832 448v-64h-64v64h-64v64h64v64h64v-64h64v-64h-64z" />
 <glyph unicode="&#xea90;" glyph-name="facebook" d="M608 768h160v192h-160c-123.514 0-224-100.486-224-224v-96h-128v-192h128v-512h192v512h160l32 192h-192v96c0 17.346 14.654 32 32 32z" />
 <glyph unicode="&#xea96;" glyph-name="twitter" d="M1024 733.6c-37.6-16.8-78.2-28-120.6-33 43.4 26 76.6 67.2 92.4 116.2-40.6-24-85.6-41.6-133.4-51-38.4 40.8-93 66.2-153.4 66.2-116 0-210-94-210-210 0-16.4 1.8-32.4 5.4-47.8-174.6 8.8-329.4 92.4-433 219.6-18-31-28.4-67.2-28.4-105.6 0-72.8 37-137.2 93.4-174.8-34.4 1-66.8 10.6-95.2 26.2 0-0.8 0-1.8 0-2.6 0-101.8 72.4-186.8 168.6-206-17.6-4.8-36.2-7.4-55.4-7.4-13.6 0-26.6 1.4-39.6 3.8 26.8-83.4 104.4-144.2 196.2-146-72-56.4-162.4-90-261-90-17 0-33.6 1-50.2 3 93.2-59.8 203.6-94.4 322.2-94.4 386.4 0 597.8 320.2 597.8 597.8 0 9.2-0.2 18.2-0.6 27.2 41 29.4 76.6 66.4 104.8 108.6z" />
diff --git a/assets/fonts/icomoon.ttf b/assets/fonts/icomoon.ttf
new file mode 100755
index 0000000..5324b80
Binary files /dev/null and b/assets/fonts/icomoon.ttf differ
diff --git a/assets/fonts/icomoon.woff b/assets/fonts/icomoon.woff
new file mode 100755
index 0000000..85ad855
Binary files /dev/null and b/assets/fonts/icomoon.woff differ
diff --git a/src/assets/fonts/plyr.svg b/assets/fonts/plyr.svg
similarity index 100%
rename from src/assets/fonts/plyr.svg
rename to assets/fonts/plyr.svg
diff --git a/assets/fonts/selection.json b/assets/fonts/selection.json
new file mode 100755
index 0000000..e0943a8
--- /dev/null
+++ b/assets/fonts/selection.json
@@ -0,0 +1 @@
+{"IcoMoonType":"selection","icons":[{"icon":{"paths":["M332.8 85.333h358.4c136.533 0 247.467 110.933 247.467 247.467v358.4c0 136.672-110.795 247.467-247.467 247.467l-0-0h-358.4c-136.533 0-247.467-110.933-247.467-247.467v-358.4c0-136.672 110.795-247.467 247.467-247.467l-0-0zM324.267 170.667c-84.831-0-153.6 68.769-153.6 153.6h0v375.467c0 84.907 68.693 153.6 153.6 153.6h375.467c84.831 0 153.6-68.769 153.6-153.6v0-375.467c0-84.907-68.693-153.6-153.6-153.6h-375.467zM736 234.667c29.455 0 53.333 23.878 53.333 53.333v0c0 29.455-23.878 53.333-53.333 53.333v0c-29.455 0-53.333-23.878-53.333-53.333v0c0-29.455 23.878-53.333 53.333-53.333v0zM512 298.667c117.821 0 213.333 95.513 213.333 213.333v0c0 117.821-95.513 213.333-213.333 213.333v0c-117.821 0-213.333-95.513-213.333-213.333v0c0-117.821 95.513-213.333 213.333-213.333v0zM512 384c-70.692 0-128 57.308-128 128v0c0 70.692 57.308 128 128 128v0c70.692 0 128-57.308 128-128v0c0-70.692-57.308-128-128-128v0z"],"attrs":[{}],"isMulticolor":false,"isMulticolor2":false,"grid":0,"tags":["instagram"]},"attrs":[{}],"properties":{"order":2,"id":12,"name":"instagram","prevSize":32,"code":59648},"setIdx":0,"setId":0,"iconIdx":0},{"icon":{"paths":["M1020.414 236.542l-309.245 504.319-221.186-360.449 175.615-286.208c8.702-13.314 25.602-18.942 39.937-14.845l314.878 157.184zM1024 910.339c0 29.181-25.602 40.448-56.831 24.575l-241.154-120.322 297.985-486.397v582.145zM358.401 918.529c0 28.67-22.017 41.985-47.618 28.67l-282.622-140.291c-15.362-8.192-28.161-28.67-28.161-46.081v-651.263c0-23.037 16.894-32.767 37.889-23.554l305.149 152.578 15.362 23.554v656.382zM680.45 791.554l-270.846-135.678v-307.197l270.846 442.882z"],"isMulticolor":false,"isMulticolor2":false,"tags":["medium"],"defaultCode":59648,"grid":0},"properties":{"id":1,"order":3,"ligatures":"","prevSize":32,"code":59649,"name":"medium"},"setIdx":0,"setId":0,"iconIdx":1},{"icon":{"paths":["M0 470.080v80.64c0 82.88 10.24 165.76 10.24 165.76s9.984 70.4 40.704 101.568c38.912 40.768 90.112 39.488 112.896 43.776 81.92 7.872 348.16 10.24 348.16 10.24s215.168-0.256 358.4-10.624c20.096-2.432 63.744-2.56 102.656-43.392 30.72-31.104 40.704-101.632 40.704-101.632s10.24-82.816 10.24-165.76v-80.512c0-82.944-10.24-165.76-10.24-165.76s-9.984-70.528-40.704-101.632c-38.912-40.832-82.56-40.96-102.656-43.392-143.232-10.368-358.4-10.624-358.4-10.624s-266.24 2.304-348.16 10.24c-22.784 4.288-73.984 3.008-112.896 43.776-30.72 31.168-40.704 101.568-40.704 101.568s-10.24 82.944-10.24 165.76zM406.272 644.8v-287.68l276.672 144.32-276.608 143.36z"],"isMulticolor":false,"isMulticolor2":false,"tags":["youtube-custom"],"defaultCode":59649,"grid":0},"properties":{"id":2,"order":4,"ligatures":"","prevSize":32,"code":59650,"name":"youtube-custom"},"setIdx":0,"setId":0,"iconIdx":2},{"icon":{"paths":["M512 736.853l263.68 159.147-69.973-299.947 232.96-201.813-306.773-26.453-119.893-282.453-119.893 282.453-306.773 26.453 232.533 201.813-69.547 299.947 263.68-159.147z"],"isMulticolor":false,"isMulticolor2":false,"tags":["star"],"defaultCode":59650,"grid":0},"properties":{"id":3,"order":5,"ligatures":"","prevSize":32,"code":59651,"name":"star"},"setIdx":0,"setId":0,"iconIdx":3},{"icon":{"paths":["M374.863 345.574c1.2-12.003 1.8-26.047 2.281-39.371s1.2-29.408 2.521-42.132c3.961-36.010 13.564-141.399 14.404-158.563 0-2.041 0-4.801 0-8.162 1.015-9.712 1.594-20.984 1.594-32.39 0-9.005-0.361-17.925-1.068-26.748-2.699-18.134-17.061-33.427-35.628-37.551-1.818-0.241-3.567-0.345-5.341-0.345-16.909 0-31.599 9.501-39.023 23.456-18.361 30.487-23.162 79.22-25.683 105.507-0.96 10.443-4.801 42.372-7.802 67.939l-1.080 9.483c-1.608-1.751-3.293-3.36-5.078-4.854-10.55-8.157-23.383-13.688-37.381-15.51-3.495-0.639-7.063-0.981-10.711-0.981-10.18 0-19.739 2.663-28.017 7.329-7.022 3.538-13.018 8.88-17.374 15.41-11.252-8.066-25.264-13.010-40.432-13.010-4.458 0-8.817 0.427-13.037 1.243-10.478 1.897-20.149 6.107-28.47 12.079 0.128-7.414-0.523-14.467-1.701-21.34-0.728-4.731-1.568-10.373-2.289-16.014s-1.68-12.003-2.521-17.285c0-2.161-0.6-4.321-0.96-6.482-1.178-18.105-7.202-34.599-16.774-48.454-6.231-5.791-14.955-9.549-24.558-9.549-0.492 0-0.982 0.010-1.47 0.029-0.65-0.049-1.492-0.075-2.339-0.075-12.006 0-22.772 5.309-30.078 13.708-17.686 21.414-16.846 39.779-16.846 70.268v5.882c0.6 24.007 1.921 45.612 3.241 68.899 0 9.843 1.2 19.685 1.68 29.888 0.127 4.211 0.199 9.166 0.199 14.136 0 18.401-0.988 36.572-2.913 54.461-0.646 8.824-1.607 20.347-2.207 31.39-0.731 7.487-1.148 16.186-1.148 24.981 0 26.541 3.795 52.196 10.872 76.452l1.079 2.395c7.157 22.86 16.701 42.751 28.647 60.923l-0.56-0.907c0.84 9.963 1.44 17.645 1.921 24.007 1.241 12.592 1.948 27.219 1.948 42.011s-0.707 29.419-2.090 43.848l-0.818 19.889c-2.881 75.621 21.606 134.557 73.46 174.768l13.924 10.803v-17.645c0-6.962 0-12.003-0.84-16.324-0.418-3.458-0.656-7.462-0.656-11.522 0-6.837 0.676-13.516 1.964-19.974 39.263 48.661 40.223 86.831 41.784 152.489 0 19.085 0.96 40.691 2.521 65.298l0.96 14.524 12.003-7.922c59.989-36.361 101.445-98.136 109.496-170.011 1.089-10.465 1.657-21.408 1.657-32.483 0-29.68-4.076-58.409-11.698-85.656 12.701 10.206 27.056 15.973 42.485 18.585l20.225 4.173-10.563-16.925c-32.169-51.614-32.529-103.708-32.769-149.561 0-4.081 0-7.922 0-12.003 14.722-8.908 27.486-18.54 39.177-29.319 26.772-25.272 46.742-57.802 56.756-94.444 1.866-8.678 2.744-17.005 2.744-25.537 0-29.403-10.426-56.372-27.784-77.409zM297.921 199.735c3.241-27.007 6.842-57.616 7.922-68.299 2.401-24.847 6.962-71.179 23.286-98.067 4.452-9.626 14.027-16.185 25.134-16.185 0.829 0 1.649 0.037 2.459 0.108 11.668 3.183 20.434 13.121 21.848 25.301 0.339 6.045 0.524 12.956 0.524 19.911 0 11.802-0.534 23.478-1.58 35.007 0.109 1.876 0.109 4.757 0.109 6.797-0.84 16.925-10.323 121.473-14.404 157.603-1.44 13.444-2.041 28.688-2.641 43.332 0 8.522-0.72 17.165-1.2 25.447-19.888-13.409-43.328-23.293-68.559-28.139-0.099-10.391 0.861-28.156 2.061-48.202 0-8.402 0.84-15.604 1.080-17.405 0.12-4.801 1.921-19.925 3.961-37.21zM206.937 208.257c5.622-3.147 12.336-5.001 19.483-5.001 2.833 0 5.598 0.291 8.267 0.845 11.039 1.387 21.132 5.676 29.538 12.069 6.074 5.431 10.405 12.983 11.822 21.519 0.030 3.097 0.030 8.378-0.931 16.541-0.72 12.964-1.921 34.569-3.001 45.973-0.827-0.071-1.791-0.112-2.763-0.112-9.414 0-17.94 3.803-24.126 9.956-14.042 14.282-14.282 39.489-9.841 58.334 1.956 7.751 5.052 14.559 9.149 20.637-7.692 4.404-16.83 7.149-26.609 7.149-7.175 0-14.006-1.478-20.203-4.146-3.58-3.678-6.471-8.515-7.902-13.944l-0.048-1.533c3.814-15.756 6.002-33.845 6.002-52.445 0-0.003 0-0.007 0-0.010 0-2.4 0-4.68 0-6.721s0-7.442 0.6-11.043c0.535-6.362 0.84-13.768 0.84-21.246s-0.305-14.884-0.903-22.207c-1.103-13.818-3.23-27.344-6.304-40.506l3.366-2.344c3.282-5.151 7.899-9.19 13.37-11.684zM178.369 221.22c-2.761-10.923 1.32 4.561 0 0zM132.036 213.898c13.444-2.641 36.85 1.44 42.132 12.003 2.903 11.674 4.998 25.389 5.85 39.439 0.529 6.6 0.812 13.525 0.812 20.517s-0.283 13.917-0.839 20.766c0.059 2.821 0.059 6.662-0.541 10.383s0 4.441 0 6.842c-0.021 17.788-2.297 35.035-6.556 51.483-6.648 18.857-16.851 20.777-19.611 20.777-2.439 0.611-5.24 0.961-8.122 0.961-7.946 0-15.27-2.663-21.129-7.144-11.919-9.301-19.121-29.347-20.442-54.793 0-9.002 0-18.245 0-27.247s0-18.125 0-27.007c0-5.161-1.080-16.324-1.8-26.167 0-7.082-1.080-13.564-1.2-17.045v-1.32c5.817-12.266 17.471-20.927 31.274-22.431zM384.105 444.121c-9.613 34.345-27.747 63.67-52.004 86.579-11.943 11.14-25.203 20.959-39.498 29.179-13.465 8.041-28.24 12.93-44.050 14.097l0.395 17.064c14.13-0.83 27.259-4.283 39.184-9.878-0.653 1.356-0.653 2.316-0.653 3.396 0 42.972 0 90.985 25.327 140.558-20.286-7.082-29.408-17.525-41.651-38.651-8.058-11.068-15.93-20.73-24.278-29.952 2.54 14.658 5.465 27.128 9.196 39.244 23.485 58.047 62.015 204.006-67.74 298.112-0.96-18.245-1.32-34.689-1.68-49.694-1.8-73.1-2.881-117.152-57.736-175.728l-11.283-12.243-3.361 15.844c-3.519 12.399-5.543 26.638-5.543 41.35 0 2.344 0.051 4.675 0.153 6.994-37.462-36.34-54.386-85.073-51.626-148.331l0.96-21.846c1.254-12.844 1.969-27.764 1.969-42.852s-0.715-30.009-2.114-44.73l0.144-0.162c5.247 4.575 10.998 9.068 16.985 13.247 5.532 3.745 11.109 6.692 17.006 8.999 3.46 1.4 6.22 2.6 9.221 4.161l7.802-15.124c-3.601-1.8-6.722-3.121-9.843-4.441-5.283-2.027-9.833-4.409-14.055-7.241-7.2-4.969-13.7-10.134-19.827-15.702-3.561-3.216-6.906-6.828-9.909-10.716-11.948-17.24-21.531-36.981-27.85-58.13l-1.819-5.798c-5.978-20.656-9.417-44.383-9.417-68.913 0-8.49 0.412-16.884 1.217-25.163-0.083-9.632 1.358-20.435 2.198-31.958 1.754-15.942 2.755-34.428 2.755-53.149 0-5.454-0.085-10.888-0.254-16.301 0.020-9.412-1.061-19.374-1.661-29.217-1.32-23.046-2.641-44.772-3.241-68.299v-5.882c-0.84-29.168-1.2-42.492 12.003-58.936 4.009-4.494 9.753-7.368 16.171-7.561 0.821-0.078 1.735-0.122 2.66-0.122 4.832 0 9.383 1.199 13.373 3.317 7.587 11.59 12.427 25.78 13.044 41.058 0.005 2.319 0.005 4.599 0.965 6.88 0.84 5.642 1.68 11.403 2.521 17.165s1.56 12.003 2.401 17.045c0.988 5.486 1.552 11.802 1.552 18.249 0 2.49-0.084 4.961-0.25 7.409-0.14 2.448-0.23 5.699-0.23 8.971s0.090 6.524 0.268 9.751l-0.020 3.152c0 3.601 0.72 10.203 1.2 17.285 0.72 9.843 1.56 20.886 1.8 25.807 0 8.522 0 17.525 0 26.287s0 18.725 0 28.088c0.96 17.765 5.642 50.174 26.887 67.218 8.621 6.737 19.615 10.803 31.558 10.803 3.917 0 7.732-0.437 11.399-1.266 10.617-1.679 19.784-8.16 25.131-17.173 2.011 2.816 4.234 5.383 6.771 7.599 7.999 5.279 17.757 8.399 28.244 8.399 1.015 0 2.024-0.029 3.025-0.087 0.245 0.015 0.696 0.020 1.149 0.020 13.346 0 25.692-4.279 35.742-11.54 2.79 3.135 5.922 5.962 9.211 8.601-7.131 4.906-13.477 10.298-19.044 16.412l-3.19 3.438c-8.87 8.066-15.829 18.072-20.224 29.359l16.263 4.97c3.986-8.924 9.542-16.479 16.384-22.633l3.302-3.535c6.188-7.35 14.052-13.092 23.014-16.667 12.77 7.294 27.37 12.41 42.979 14.218l1.945-16.877c-25.030-3.014-46.775-15.131-62.195-32.889-5.21-5.981-9.070-13.069-11.18-20.877-1.714-5.045-2.655-10.434-2.655-16.044 0-9.974 2.975-19.254 8.085-27 3.48-2.984 8.228-4.917 13.428-4.917 2.416 0 4.735 0.417 6.888 1.184l1.177-0.045c29.528 7.082 60.016 14.524 80.542 36.010l1.44 1.56c15.672 18.145 25.219 41.962 25.219 68.008 0 7.498-0.791 14.811-2.294 21.86z"],"width":403,"isMulticolor":false,"isMulticolor2":false,"tags":["coderockr"],"defaultCode":59651,"grid":0},"properties":{"id":4,"order":6,"ligatures":"","prevSize":32,"code":59652,"name":"coderockr"},"setIdx":0,"setId":0,"iconIdx":4},{"icon":{"paths":["M896 896h-170.667v-288c0-45.227-50.773-82.773-96-82.773s-74.667 37.547-74.667 82.773v288h-170.667v-512h170.667v85.333c28.16-45.653 100.693-75.093 149.333-75.093 106.667 0 192 87.040 192 192.427v309.333zM298.667 896h-170.667v-512h170.667v512zM213.333 128c47.128 0 85.333 38.205 85.333 85.333s-38.205 85.333-85.333 85.333c-47.128 0-85.333-38.205-85.333-85.333s38.205-85.333 85.333-85.333z"],"isMulticolor":false,"isMulticolor2":false,"tags":["linkedin"],"defaultCode":59652,"grid":0},"properties":{"id":5,"order":7,"ligatures":"","prevSize":32,"code":59653,"name":"linkedin"},"setIdx":0,"setId":0,"iconIdx":5},{"icon":{"paths":["M763.733 741.973c-11.093-34.133-43.093-59.307-81.067-59.307h-42.667v-128c0-23.564-19.103-42.667-42.667-42.667h-256v-85.333h85.333c23.564 0 42.667-19.103 42.667-42.667v-85.333h85.333c47.128 0 85.333-38.205 85.333-85.333v-17.493c125.013 50.347 213.333 172.8 213.333 316.16 0 88.747-34.133 169.387-89.6 229.973zM469.333 850.347c-168.533-20.907-298.667-164.267-298.667-338.347 0-26.453 3.413-52.053 8.96-76.373l204.373 204.373v42.667c0 47.128 38.205 85.333 85.333 85.333zM512 85.333c-235.641 0-426.667 191.025-426.667 426.667s191.025 426.667 426.667 426.667c235.641 0 426.667-191.025 426.667-426.667s-191.025-426.667-426.667-426.667z"],"isMulticolor":false,"isMulticolor2":false,"tags":["earth"],"defaultCode":59653,"grid":0},"properties":{"id":6,"order":8,"ligatures":"","prevSize":32,"code":59654,"name":"earth"},"setIdx":0,"setId":0,"iconIdx":6},{"icon":{"paths":["M512 0c-282.8 0-512 229.2-512 512s229.2 512 512 512 512-229.2 512-512-229.2-512-512-512zM384 768c-141.6 0-256-114.4-256-256s114.4-256 256-256c69.2 0 127 25.2 171.6 67l-69.6 66.8c-19-18.2-52.2-39.4-102-39.4-87.4 0-158.8 72.4-158.8 161.6s71.4 161.6 158.8 161.6c101.4 0 139.4-72.8 145.2-110.4h-145.2v-87.8h241.8c2.2 12.8 4 25.6 4 42.4 0 146.4-98 250.2-245.8 250.2zM832 512v64h-64v-64h-64v-64h64v-64h64v64h64v64h-64z"],"isMulticolor":false,"isMulticolor2":false,"tags":["google-plus"],"defaultCode":60045,"grid":0},"properties":{"id":7,"order":9,"ligatures":"","prevSize":32,"code":60045,"name":"google-plus"},"setIdx":0,"setId":0,"iconIdx":7},{"icon":{"paths":["M608 192h160v-192h-160c-123.514 0-224 100.486-224 224v96h-128v192h128v512h192v-512h160l32-192h-192v-96c0-17.346 14.654-32 32-32z"],"isMulticolor":false,"isMulticolor2":false,"tags":["facebook"],"defaultCode":60048,"grid":0},"properties":{"id":8,"order":10,"ligatures":"","prevSize":32,"code":60048,"name":"facebook"},"setIdx":0,"setId":0,"iconIdx":8},{"icon":{"paths":["M1024 226.4c-37.6 16.8-78.2 28-120.6 33 43.4-26 76.6-67.2 92.4-116.2-40.6 24-85.6 41.6-133.4 51-38.4-40.8-93-66.2-153.4-66.2-116 0-210 94-210 210 0 16.4 1.8 32.4 5.4 47.8-174.6-8.8-329.4-92.4-433-219.6-18 31-28.4 67.2-28.4 105.6 0 72.8 37 137.2 93.4 174.8-34.4-1-66.8-10.6-95.2-26.2 0 0.8 0 1.8 0 2.6 0 101.8 72.4 186.8 168.6 206-17.6 4.8-36.2 7.4-55.4 7.4-13.6 0-26.6-1.4-39.6-3.8 26.8 83.4 104.4 144.2 196.2 146-72 56.4-162.4 90-261 90-17 0-33.6-1-50.2-3 93.2 59.8 203.6 94.4 322.2 94.4 386.4 0 597.8-320.2 597.8-597.8 0-9.2-0.2-18.2-0.6-27.2 41-29.4 76.6-66.4 104.8-108.6z"],"isMulticolor":false,"isMulticolor2":false,"tags":["twitter"],"defaultCode":60054,"grid":0},"properties":{"id":9,"order":11,"ligatures":"","prevSize":32,"code":60054,"name":"twitter"},"setIdx":0,"setId":0,"iconIdx":9},{"icon":{"paths":["M1013.8 307.2c0 0-10-70.6-40.8-101.6-39-40.8-82.6-41-102.6-43.4-143.2-10.4-358.2-10.4-358.2-10.4h-0.4c0 0-215 0-358.2 10.4-20 2.4-63.6 2.6-102.6 43.4-30.8 31-40.6 101.6-40.6 101.6s-10.2 82.8-10.2 165.8v77.6c0 82.8 10.2 165.8 10.2 165.8s10 70.6 40.6 101.6c39 40.8 90.2 39.4 113 43.8 82 7.8 348.2 10.2 348.2 10.2s215.2-0.4 358.4-10.6c20-2.4 63.6-2.6 102.6-43.4 30.8-31 40.8-101.6 40.8-101.6s10.2-82.8 10.2-165.8v-77.6c-0.2-82.8-10.4-165.8-10.4-165.8zM406.2 644.8v-287.8l276.6 144.4-276.6 143.4z"],"isMulticolor":false,"isMulticolor2":false,"tags":["youtube"],"defaultCode":60061,"grid":0},"properties":{"id":10,"order":13,"ligatures":"","prevSize":32,"code":60061,"name":"youtube"},"setIdx":0,"setId":0,"iconIdx":10},{"icon":{"paths":["M512.008 12.642c-282.738 0-512.008 229.218-512.008 511.998 0 226.214 146.704 418.132 350.136 485.836 25.586 4.738 34.992-11.11 34.992-24.632 0-12.204-0.48-52.542-0.696-95.324-142.448 30.976-172.504-60.41-172.504-60.41-23.282-59.176-56.848-74.916-56.848-74.916-46.452-31.778 3.51-31.124 3.51-31.124 51.4 3.61 78.476 52.766 78.476 52.766 45.672 78.27 119.776 55.64 149.004 42.558 4.588-33.086 17.852-55.68 32.506-68.464-113.73-12.942-233.276-56.85-233.276-253.032 0-55.898 20.004-101.574 52.76-137.428-5.316-12.9-22.854-64.972 4.952-135.5 0 0 43.006-13.752 140.84 52.49 40.836-11.348 84.636-17.036 128.154-17.234 43.502 0.198 87.336 5.886 128.256 17.234 97.734-66.244 140.656-52.49 140.656-52.49 27.872 70.528 10.35 122.6 5.036 135.5 32.82 35.856 52.694 81.532 52.694 137.428 0 196.654-119.778 239.95-233.79 252.624 18.364 15.89 34.724 47.046 34.724 94.812 0 68.508-0.596 123.644-0.596 140.508 0 13.628 9.222 29.594 35.172 24.566 203.322-67.776 349.842-259.626 349.842-485.768 0-282.78-229.234-511.998-511.992-511.998z"],"isMulticolor":false,"isMulticolor2":false,"tags":["github"],"defaultCode":60080,"grid":0},"properties":{"id":11,"order":12,"ligatures":"","prevSize":32,"code":60080,"name":"github"},"setIdx":0,"setId":0,"iconIdx":11}],"height":1024,"metadata":{"name":"icomoon"},"preferences":{"showGlyphs":true,"showCodes":true,"showQuickUse":true,"showQuickUse2":true,"showSVGs":true,"fontPref":{"prefix":"icon-","metadata":{"fontFamily":"icomoon","majorVersion":1,"minorVersion":0},"metrics":{"emSize":1024,"baseline":6.25,"whitespace":50},"embed":false},"imagePref":{"prefix":"icon-","png":true,"useClassSelector":true,"color":0,"bgColor":16777215,"name":"icomoon","classSelector":".icon"},"historySize":50}}
\ No newline at end of file
diff --git a/src/assets/images/arrow.svg b/assets/images/arrow.svg
similarity index 100%
rename from src/assets/images/arrow.svg
rename to assets/images/arrow.svg
diff --git a/src/assets/images/articles/como_gerenciamos_projetos.jpg b/assets/images/articles/como_gerenciamos_projetos.jpg
similarity index 100%
rename from src/assets/images/articles/como_gerenciamos_projetos.jpg
rename to assets/images/articles/como_gerenciamos_projetos.jpg
diff --git a/src/assets/images/articles/como_o_spotify_gerencia.jpg b/assets/images/articles/como_o_spotify_gerencia.jpg
similarity index 100%
rename from src/assets/images/articles/como_o_spotify_gerencia.jpg
rename to assets/images/articles/como_o_spotify_gerencia.jpg
diff --git a/src/assets/images/articles/definindo_apis.jpg b/assets/images/articles/definindo_apis.jpg
similarity index 100%
rename from src/assets/images/articles/definindo_apis.jpg
rename to assets/images/articles/definindo_apis.jpg
diff --git a/src/assets/images/articles/estimativas_de_entregas.jpg b/assets/images/articles/estimativas_de_entregas.jpg
similarity index 100%
rename from src/assets/images/articles/estimativas_de_entregas.jpg
rename to assets/images/articles/estimativas_de_entregas.jpg
diff --git a/src/assets/images/articles/gerenciando_dependencias_em_golang.jpg b/assets/images/articles/gerenciando_dependencias_em_golang.jpg
similarity index 100%
rename from src/assets/images/articles/gerenciando_dependencias_em_golang.jpg
rename to assets/images/articles/gerenciando_dependencias_em_golang.jpg
diff --git a/src/assets/images/articles/time_tracking_on_cli.jpg b/assets/images/articles/time_tracking_on_cli.jpg
similarity index 100%
rename from src/assets/images/articles/time_tracking_on_cli.jpg
rename to assets/images/articles/time_tracking_on_cli.jpg
diff --git a/assets/images/buffer.svg b/assets/images/buffer.svg
new file mode 100644
index 0000000..c2e8046
--- /dev/null
+++ b/assets/images/buffer.svg
@@ -0,0 +1 @@
+<svg width="12" height="4" xmlns="http://www.w3.org/2000/svg"><ellipse cx="2" cy="2" rx="2" ry="2"><animate attributeName="cx" from="2" to="-10" dur="0.6s" repeatCount="indefinite"/></ellipse><ellipse cx="14" cy="2" rx="2" ry="2" class="loader"><animate attributeName="cx" from="14" to="2" dur="0.6s" repeatCount="indefinite"/></ellipse></svg>
\ No newline at end of file
diff --git a/src/assets/images/close.svg b/assets/images/close.svg
similarity index 100%
rename from src/assets/images/close.svg
rename to assets/images/close.svg
diff --git a/src/assets/images/coderockr.svg b/assets/images/coderockr.svg
similarity index 100%
rename from src/assets/images/coderockr.svg
rename to assets/images/coderockr.svg
diff --git a/src/assets/images/coderockr/picture-1.jpg b/assets/images/coderockr/picture-1.jpg
similarity index 100%
rename from src/assets/images/coderockr/picture-1.jpg
rename to assets/images/coderockr/picture-1.jpg
diff --git a/src/assets/images/coderockr/picture-10.jpg b/assets/images/coderockr/picture-10.jpg
similarity index 100%
rename from src/assets/images/coderockr/picture-10.jpg
rename to assets/images/coderockr/picture-10.jpg
diff --git a/src/assets/images/coderockr/picture-2.jpg b/assets/images/coderockr/picture-2.jpg
similarity index 100%
rename from src/assets/images/coderockr/picture-2.jpg
rename to assets/images/coderockr/picture-2.jpg
diff --git a/src/assets/images/coderockr/picture-3.jpg b/assets/images/coderockr/picture-3.jpg
similarity index 100%
rename from src/assets/images/coderockr/picture-3.jpg
rename to assets/images/coderockr/picture-3.jpg
diff --git a/src/assets/images/coderockr/picture-4.jpg b/assets/images/coderockr/picture-4.jpg
similarity index 100%
rename from src/assets/images/coderockr/picture-4.jpg
rename to assets/images/coderockr/picture-4.jpg
diff --git a/src/assets/images/coderockr/picture-5.jpg b/assets/images/coderockr/picture-5.jpg
similarity index 100%
rename from src/assets/images/coderockr/picture-5.jpg
rename to assets/images/coderockr/picture-5.jpg
diff --git a/assets/images/coderockr/picture-6.jpg b/assets/images/coderockr/picture-6.jpg
new file mode 100644
index 0000000..758cb78
Binary files /dev/null and b/assets/images/coderockr/picture-6.jpg differ
diff --git a/src/assets/images/coderockr/picture-7.jpg b/assets/images/coderockr/picture-7.jpg
similarity index 100%
rename from src/assets/images/coderockr/picture-7.jpg
rename to assets/images/coderockr/picture-7.jpg
diff --git a/src/assets/images/coderockr/picture-8.jpg b/assets/images/coderockr/picture-8.jpg
similarity index 100%
rename from src/assets/images/coderockr/picture-8.jpg
rename to assets/images/coderockr/picture-8.jpg
diff --git a/assets/images/coderockr/picture-9.jpg b/assets/images/coderockr/picture-9.jpg
new file mode 100644
index 0000000..206cbe4
Binary files /dev/null and b/assets/images/coderockr/picture-9.jpg differ
diff --git a/src/assets/images/crowd-bg.jpg b/assets/images/crowd-bg.jpg
similarity index 100%
rename from src/assets/images/crowd-bg.jpg
rename to assets/images/crowd-bg.jpg
diff --git a/src/assets/images/crowd-lg.jpg b/assets/images/crowd-lg.jpg
similarity index 100%
rename from src/assets/images/crowd-lg.jpg
rename to assets/images/crowd-lg.jpg
diff --git a/src/assets/images/crowd-md.jpg b/assets/images/crowd-md.jpg
similarity index 100%
rename from src/assets/images/crowd-md.jpg
rename to assets/images/crowd-md.jpg
diff --git a/src/assets/images/crowd-sm.jpg b/assets/images/crowd-sm.jpg
similarity index 100%
rename from src/assets/images/crowd-sm.jpg
rename to assets/images/crowd-sm.jpg
diff --git a/src/assets/images/crowd-xs.jpg b/assets/images/crowd-xs.jpg
similarity index 100%
rename from src/assets/images/crowd-xs.jpg
rename to assets/images/crowd-xs.jpg
diff --git a/assets/images/estime-o-prazo.png b/assets/images/estime-o-prazo.png
new file mode 100644
index 0000000..8245e76
Binary files /dev/null and b/assets/images/estime-o-prazo.png differ
diff --git a/src/assets/images/favicon.png b/assets/images/favicon.png
similarity index 100%
rename from src/assets/images/favicon.png
rename to assets/images/favicon.png
diff --git a/src/assets/images/fotorama.png b/assets/images/fotorama.png
similarity index 100%
rename from src/assets/images/fotorama.png
rename to assets/images/fotorama.png
diff --git a/src/assets/images/fotorama@2x.png b/assets/images/fotorama@2x.png
similarity index 100%
rename from src/assets/images/fotorama@2x.png
rename to assets/images/fotorama@2x.png
diff --git a/src/assets/images/graphs.png b/assets/images/graphs.png
similarity index 100%
rename from src/assets/images/graphs.png
rename to assets/images/graphs.png
diff --git a/src/assets/images/grid-pattern.png b/assets/images/grid-pattern.png
similarity index 100%
rename from src/assets/images/grid-pattern.png
rename to assets/images/grid-pattern.png
diff --git a/src/assets/images/hand-white.svg b/assets/images/hand-white.svg
similarity index 100%
rename from src/assets/images/hand-white.svg
rename to assets/images/hand-white.svg
diff --git a/src/assets/images/hand-yellow.svg b/assets/images/hand-yellow.svg
similarity index 100%
rename from src/assets/images/hand-yellow.svg
rename to assets/images/hand-yellow.svg
diff --git a/src/assets/images/hand.svg b/assets/images/hand.svg
similarity index 100%
rename from src/assets/images/hand.svg
rename to assets/images/hand.svg
diff --git a/src/assets/images/macbook.png b/assets/images/macbook.png
similarity index 100%
rename from src/assets/images/macbook.png
rename to assets/images/macbook.png
diff --git a/src/assets/images/map-bg.jpg b/assets/images/map-bg.jpg
similarity index 100%
rename from src/assets/images/map-bg.jpg
rename to assets/images/map-bg.jpg
diff --git a/src/assets/images/menu.svg b/assets/images/menu.svg
similarity index 100%
rename from src/assets/images/menu.svg
rename to assets/images/menu.svg
diff --git a/src/assets/images/mic-bg.jpg b/assets/images/mic-bg.jpg
similarity index 100%
rename from src/assets/images/mic-bg.jpg
rename to assets/images/mic-bg.jpg
diff --git a/src/assets/images/mic-lg.jpg b/assets/images/mic-lg.jpg
similarity index 100%
rename from src/assets/images/mic-lg.jpg
rename to assets/images/mic-lg.jpg
diff --git a/src/assets/images/mic-md.jpg b/assets/images/mic-md.jpg
similarity index 100%
rename from src/assets/images/mic-md.jpg
rename to assets/images/mic-md.jpg
diff --git a/src/assets/images/mic-sm.jpg b/assets/images/mic-sm.jpg
similarity index 100%
rename from src/assets/images/mic-sm.jpg
rename to assets/images/mic-sm.jpg
diff --git a/src/assets/images/mic-xs.jpg b/assets/images/mic-xs.jpg
similarity index 100%
rename from src/assets/images/mic-xs.jpg
rename to assets/images/mic-xs.jpg
diff --git a/src/assets/images/pin.svg b/assets/images/pin.svg
similarity index 100%
rename from src/assets/images/pin.svg
rename to assets/images/pin.svg
diff --git a/src/assets/images/planrockr.svg b/assets/images/planrockr.svg
similarity index 100%
rename from src/assets/images/planrockr.svg
rename to assets/images/planrockr.svg
diff --git a/src/assets/images/rockstar.jpg b/assets/images/rockstar.jpg
similarity index 100%
rename from src/assets/images/rockstar.jpg
rename to assets/images/rockstar.jpg
diff --git a/assets/images/team/allan.jpg b/assets/images/team/allan.jpg
new file mode 100755
index 0000000..7f32a6e
Binary files /dev/null and b/assets/images/team/allan.jpg differ
diff --git a/src/assets/images/team/anderson.jpg b/assets/images/team/anderson.jpg
similarity index 100%
rename from src/assets/images/team/anderson.jpg
rename to assets/images/team/anderson.jpg
diff --git a/src/assets/images/team/eminetto.jpg b/assets/images/team/eminetto.jpg
similarity index 100%
rename from src/assets/images/team/eminetto.jpg
rename to assets/images/team/eminetto.jpg
diff --git a/assets/images/team/fontana.jpg b/assets/images/team/fontana.jpg
new file mode 100755
index 0000000..2ccd590
Binary files /dev/null and b/assets/images/team/fontana.jpg differ
diff --git a/src/assets/images/team/julia.jpg b/assets/images/team/julia.jpg
similarity index 100%
rename from src/assets/images/team/julia.jpg
rename to assets/images/team/julia.jpg
diff --git a/assets/images/team/julio.jpg b/assets/images/team/julio.jpg
new file mode 100755
index 0000000..2486e19
Binary files /dev/null and b/assets/images/team/julio.jpg differ
diff --git a/assets/images/team/lucas.jpg b/assets/images/team/lucas.jpg
new file mode 100755
index 0000000..975c15e
Binary files /dev/null and b/assets/images/team/lucas.jpg differ
diff --git a/assets/images/team/ricardo.jpg b/assets/images/team/ricardo.jpg
new file mode 100644
index 0000000..258fb03
Binary files /dev/null and b/assets/images/team/ricardo.jpg differ
diff --git a/src/assets/images/team/uncle-sam.jpg b/assets/images/team/uncle-sam.jpg
similarity index 100%
rename from src/assets/images/team/uncle-sam.jpg
rename to assets/images/team/uncle-sam.jpg
diff --git a/src/assets/images/testimonial-1.jpg b/assets/images/testimonial-1.jpg
similarity index 100%
rename from src/assets/images/testimonial-1.jpg
rename to assets/images/testimonial-1.jpg
diff --git a/src/assets/images/testimonial-2.jpg b/assets/images/testimonial-2.jpg
similarity index 100%
rename from src/assets/images/testimonial-2.jpg
rename to assets/images/testimonial-2.jpg
diff --git a/src/assets/images/testimonial-3.jpg b/assets/images/testimonial-3.jpg
similarity index 100%
rename from src/assets/images/testimonial-3.jpg
rename to assets/images/testimonial-3.jpg
diff --git a/assets/images/testimonial-4.jpg b/assets/images/testimonial-4.jpg
new file mode 100644
index 0000000..0ef3ef4
Binary files /dev/null and b/assets/images/testimonial-4.jpg differ
diff --git a/assets/images/tick-mask.svg b/assets/images/tick-mask.svg
new file mode 100644
index 0000000..6203e05
--- /dev/null
+++ b/assets/images/tick-mask.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="xMinYMin meet"><defs><clipPath id="a"><path d="M0 0v1h1V0H0zm.853.167L.96.273l-.53.53L.322.91.217.803.04.627.147.52l.176.176.53-.53z" fill="#fff"/></clipPath></defs><path clip-path="url(#a)" d="M0 0h1v1H0z"/></svg>
\ No newline at end of file
diff --git a/assets/images/tick.svg b/assets/images/tick.svg
new file mode 100644
index 0000000..3270604
--- /dev/null
+++ b/assets/images/tick.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1 1" preserveAspectRatio="xMinYMin meet"><path d="M.04.627L.146.52.43.804.323.91zm.177.177L.854.167.96.273.323.91z" fill="#fff"/></svg>
\ No newline at end of file
diff --git a/src/assets/images/video-cover.jpg b/assets/images/video-cover.jpg
similarity index 100%
rename from src/assets/images/video-cover.jpg
rename to assets/images/video-cover.jpg
diff --git a/src/assets/images/video.mp4 b/assets/images/video.mp4
similarity index 100%
rename from src/assets/images/video.mp4
rename to assets/images/video.mp4
diff --git a/src/assets/images/video.png b/assets/images/video.png
similarity index 100%
rename from src/assets/images/video.png
rename to assets/images/video.png
diff --git a/src/assets/images/white_wall.png b/assets/images/white_wall.png
similarity index 100%
rename from src/assets/images/white_wall.png
rename to assets/images/white_wall.png
diff --git a/assets/scripts/main.js b/assets/scripts/main.js
new file mode 100644
index 0000000..37ede6b
--- /dev/null
+++ b/assets/scripts/main.js
@@ -0,0 +1,54 @@
+!function(e){function t(s){if(n[s])return n[s].exports;var i=n[s]={exports:{},id:s,loaded:!1};return e[s].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var n={};return t.m=e,t.c=n,t.p="",t(0)}([function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{default:e}}var i=n(2),o=s(i);n(3);var r=n(4),a=(s(r),n(8)),l=s(a),c=n(7),u=s(c);n(6),n(5);var d=n(9),p=s(d),f={init:function(){var e=(0,o.default)(".wrap").attr("id");switch(e){case"home":f.initVideo(),f.initTestimonials();break;case"contact":f.initForm(),f.initMap()}},common:function(){!function(e,t,n,s,i,o,r){e.GoogleAnalyticsObject=i,e[i]=e[i]||function(){(e[i].q=e[i].q||[]).push(arguments)},e[i].l=1*new Date,o=t.createElement(n),r=t.getElementsByTagName(n)[0],o.async=1,o.src=s,r.parentNode.insertBefore(o,r)}(window,document,"script","//www.google-analytics.com/analytics.js","ga"),ga("create","UA-584603-6","auto"),ga("send","pageview"),o.default.easing.jswing=o.default.easing.swing,o.default.extend(o.default.easing,{def:"easeOutQuad",easeInOutExpo:function(e,t,n,s,i){return 0==t?n:t==i?n+s:(t/=i/2)<1?s/2*Math.pow(2,10*(t-1))+n:s/2*(-Math.pow(2,-10*--t)+2)+n}}),(0,o.default)("*[data-autoscroll]").click(function(){var e=(0,o.default)(this.hash);if(e=e.length?e:(0,o.default)("[name="+this.hash.slice(1)+"]"),e.length)return(0,o.default)("html,body").animate({scrollTop:e.offset().top},1500,"easeInOutExpo"),!1}),(0,o.default)(".menu-trigger").on("click",function(e){e.preventDefault(),(0,o.default)("#main-content").addClass("move-out"),(0,o.default)("#menu-mobile").addClass("is-visible"),(0,o.default)(".shadow-layer").addClass("is-visible")}),(0,o.default)(".close-menu").on("click",function(e){e.preventDefault(),(0,o.default)("#main-content").removeClass("move-out"),(0,o.default)("#menu-mobile").removeClass("is-visible"),(0,o.default)(".shadow-layer").removeClass("is-visible")}),(0,o.default)("#menu-mobile a").on("click",function(e){(0,o.default)(".close-menu").click()})},initTestimonials:function(){function e(e){var t=(0,o.default)(e.activeFrame.html).find("header").height()+29;(0,o.default)(".fotorama__nav").css("top",t+"px")}function t(t){var n=(0,o.default)(t.activeFrame.html).height();t.resize({height:n}),e(t)}var n=(0,o.default)(".fotorama").fotorama({autoplay:!1,shadows:!1,width:"100%",arrows:"always",height:(0,o.default)(".testimonial").height(),keyboard:!0,loop:!0,click:!0,preload:3}),s=n.data("fotorama");e(s),(0,o.default)(window).resize(function(){t(s)}),(0,o.default)(".fotorama").on("fotorama:showend ",function(e,n,s){t(n)}),(0,o.default)(".fotorama").on("fotorama:show ",function(t,n,s){e(n)})},initVideo:function(){var e=l.default.setup();e[0].source({type:"video",title:"Example title",poster:"assets/images/video-cover.jpg",sources:[{src:"assets/images/video.mp4",type:"video/mp4"}]})},initForm:function(){(0,o.default)("[name='phone']").mask("99 9999-9999?9",{placeholder:" "}).focusout(function(e){var t,n,s;t=e.currentTarget?e.currentTarget:e.srcElement,n=t.value.replace(/\D/g,""),s=(0,o.default)(t),s.unmask(),n.length>10?s.mask("99 99999-999?9"):s.mask("99 9999-9999?9")});var e=document.getElementById("deadline");u.default.create(e,{start:[6],connect:[!0,!1],step:1,range:{min:[1],max:[13]}}),e.noUiSlider.on("update",function(e,t){var n="1.00"==e[t]?" Mês":" Meses",s=e[t].replace(".00",n).replace("13 Meses","12+ Meses");(0,o.default)(".deadline label").html(s)});var t=document.getElementById("budget");u.default.create(t,{start:[30,60],connect:!0,step:1,range:{min:[0],"60%":[100,100],"62.5%":[125,125],"65%":[150,150],"67.5%":[175,175],"70%":[200,200],"72.5%":[225,225],"75%":[250,250],"77.5%":[275,275],"80%":[300,300],"82.5%":[325,325],"85%":[350,350],"87.5%":[375,375],"90%":[400,400],"92.5%":[425,425],"95%":[450,450],"97.5%":[475,475],max:[500]}}),t.noUiSlider.on("change",function(e,n){e[n]<30&&t.noUiSlider.set(30)}),t.noUiSlider.on("update",function(e,t){var n=e[0].replace(".00",""),s=e[1].replace(".00",""),i="R$ ";"500"==n?i="Acima de 500K":i+=n+"K a "+s+"K",(0,o.default)(".budget label").html(i)});(0,o.default)("[name=contactForm]").validate({errorPlacement:function(e,t){},rules:{name:"required",email:{required:!0,email:!0},phone:"required","needs[]":"required",features:"required"},submitHandler:function(e,t){var n,s=[],i={success:{type:"success",title:"Recebemos suas informações!",text:"Em breve entraremos em contato."},error:{type:"error",title:"Não foi possível processar suas informações :(",text:"Por favor, tente novamente."}};(0,o.default)("[name='needs[]']:checked").each(function(e){s[e]=(0,o.default)(this).next().html()}),n=o.default.ajax({type:"POST",dataType:"json",url:"https://sfqs5tuvzd.execute-api.us-east-1.amazonaws.com/prod/contato/v2",contentType:"application/json",data:JSON.stringify({name:(0,o.default)("[name=name]").val(),email:(0,o.default)("[name=email]").val(),company:(0,o.default)("[name=company]").val(),phone:(0,o.default)("[name=phone]").val(),phase:(0,o.default)("[name=phase]:checked").next().html(),needs:s.join(", "),features_description:(0,o.default)("[name=features]").val(),deadline:(0,o.default)(".deadline .slider label").html(),budget:(0,o.default)(".budget .slider label").html(),description:(0,o.default)("[name=details]").val()}),success:function(){f.sweetAlert(i.success)},error:function(e,t,n){f.sweetAlert(i.error)}})}})},sweetAlert:function(e){(0,p.default)({type:e.type,title:e.title,html:e.text,showCloseButton:!0}).catch(p.default.noop)},initMap:function(){var e=new google.maps.Map(document.getElementById("map"),{zoom:16,center:new google.maps.LatLng(-26.3009,-48.8463),zoomControl:!1,disableDoubleClickZoom:!0,mapTypeControl:!1,scaleControl:!1,scrollwheel:!1,panControl:!0,streetViewControl:!1,overviewMapControl:!0,mapTypeId:"roadmap",styles:[{elementType:"labels.text.fill",featureType:"administrative",stylers:[{color:"#444444"}]},{featureType:"landscape",stylers:[{color:"#f2f2f2"}]},{featureType:"landscape.man_made",stylers:[{visibility:"off"}]},{featureType:"poi",stylers:[{visibility:"simplified"}]},{elementType:"labels",featureType:"poi",stylers:[{visibility:"off"}]},{featureType:"poi.attraction",stylers:[{visibility:"off"}]},{featureType:"poi.business",stylers:[{visibility:"off"}]},{featureType:"road",stylers:[{saturation:-100},{lightness:45}]},{elementType:"labels.icon",featureType:"road.arterial",stylers:[{visibility:"off"}]},{featureType:"road.highway",stylers:[{visibility:"simplified"}]},{featureType:"transit",stylers:[{visibility:"off"}]},{featureType:"water",stylers:[{color:"#46bcec"},{visibility:"on"}]}]});!function(){new google.maps.Marker({position:new google.maps.LatLng(-26.3012,-48.8508),icon:"../assets/images/pin.svg",map:e})}()}};(0,o.default)(document).ready(function(e){f.init(),f.common()})},function(e,t,n){var s,i;/*!
+	 * jQuery JavaScript Library v3.2.1
+	 * https://jquery.com/
+	 *
+	 * Includes Sizzle.js
+	 * https://sizzlejs.com/
+	 *
+	 * Copyright JS Foundation and other contributors
+	 * Released under the MIT license
+	 * https://jquery.org/license
+	 *
+	 * Date: 2017-03-20T18:59Z
+	 */
+!function(t,n){"use strict";"object"==typeof e&&"object"==typeof e.exports?e.exports=t.document?n(t,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return n(e)}:n(t)}("undefined"!=typeof window?window:this,function(n,o){"use strict";function r(e,t){t=t||re;var n=t.createElement("script");n.text=e,t.head.appendChild(n).parentNode.removeChild(n)}function a(e){var t=!!e&&"length"in e&&e.length,n=ye.type(e);return"function"!==n&&!ye.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function l(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}function c(e,t,n){return ye.isFunction(t)?ye.grep(e,function(e,s){return!!t.call(e,s,e)!==n}):t.nodeType?ye.grep(e,function(e){return e===t!==n}):"string"!=typeof t?ye.grep(e,function(e){return de.call(t,e)>-1!==n}):Ae.test(t)?ye.filter(t,e,n):(t=ye.filter(t,e),ye.grep(e,function(e){return de.call(t,e)>-1!==n&&1===e.nodeType}))}function u(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}function d(e){var t={};return ye.each(e.match(Me)||[],function(e,n){t[n]=!0}),t}function p(e){return e}function f(e){throw e}function h(e,t,n,s){var i;try{e&&ye.isFunction(i=e.promise)?i.call(e).done(t).fail(n):e&&ye.isFunction(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(s))}catch(e){n.apply(void 0,[e])}}function m(){re.removeEventListener("DOMContentLoaded",m),n.removeEventListener("load",m),ye.ready()}function g(){this.expando=ye.expando+g.uid++}function v(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Ue.test(e)?JSON.parse(e):e)}function b(e,t,n){var s;if(void 0===n&&1===e.nodeType)if(s="data-"+t.replace(Ve,"-$&").toLowerCase(),n=e.getAttribute(s),"string"==typeof n){try{n=v(n)}catch(e){}qe.set(e,t,n)}else n=void 0;return n}function y(e,t,n,s){var i,o=1,r=20,a=s?function(){return s.cur()}:function(){return ye.css(e,t,"")},l=a(),c=n&&n[3]||(ye.cssNumber[t]?"":"px"),u=(ye.cssNumber[t]||"px"!==c&&+l)&&We.exec(ye.css(e,t));if(u&&u[3]!==c){c=c||u[3],n=n||[],u=+l||1;do o=o||".5",u/=o,ye.style(e,t,u+c);while(o!==(o=a()/l)&&1!==o&&--r)}return n&&(u=+u||+l||0,i=n[1]?u+(n[1]+1)*n[2]:+n[2],s&&(s.unit=c,s.start=u,s.end=i)),i}function w(e){var t,n=e.ownerDocument,s=e.nodeName,i=Ye[s];return i?i:(t=n.body.appendChild(n.createElement(s)),i=ye.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),Ye[s]=i,i)}function _(e,t){for(var n,s,i=[],o=0,r=e.length;o<r;o++)s=e[o],s.style&&(n=s.style.display,t?("none"===n&&(i[o]=je.get(s,"display")||null,i[o]||(s.style.display="")),""===s.style.display&&Ge(s)&&(i[o]=w(s))):"none"!==n&&(i[o]="none",je.set(s,"display",n)));for(o=0;o<r;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}function C(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&l(e,t)?ye.merge([e],n):n}function x(e,t){for(var n=0,s=e.length;n<s;n++)je.set(e[n],"globalEval",!t||je.get(t[n],"globalEval"))}function E(e,t,n,s,i){for(var o,r,a,l,c,u,d=t.createDocumentFragment(),p=[],f=0,h=e.length;f<h;f++)if(o=e[f],o||0===o)if("object"===ye.type(o))ye.merge(p,o.nodeType?[o]:o);else if(et.test(o)){for(r=r||d.appendChild(t.createElement("div")),a=(Ze.exec(o)||["",""])[1].toLowerCase(),l=Qe[a]||Qe._default,r.innerHTML=l[1]+ye.htmlPrefilter(o)+l[2],u=l[0];u--;)r=r.lastChild;ye.merge(p,r.childNodes),r=d.firstChild,r.textContent=""}else p.push(t.createTextNode(o));for(d.textContent="",f=0;o=p[f++];)if(s&&ye.inArray(o,s)>-1)i&&i.push(o);else if(c=ye.contains(o.ownerDocument,o),r=C(d.appendChild(o),"script"),c&&x(r),n)for(u=0;o=r[u++];)Je.test(o.type||"")&&n.push(o);return d}function k(){return!0}function S(){return!1}function T(){try{return re.activeElement}catch(e){}}function L(e,t,n,s,i,o){var r,a;if("object"==typeof t){"string"!=typeof n&&(s=s||n,n=void 0);for(a in t)L(e,a,n,s,t[a],o);return e}if(null==s&&null==i?(i=n,s=n=void 0):null==i&&("string"==typeof n?(i=s,s=void 0):(i=s,s=n,n=void 0)),i===!1)i=S;else if(!i)return e;return 1===o&&(r=i,i=function(e){return ye().off(e),r.apply(this,arguments)},i.guid=r.guid||(r.guid=ye.guid++)),e.each(function(){ye.event.add(this,t,i,s,n)})}function A(e,t){return l(e,"table")&&l(11!==t.nodeType?t:t.firstChild,"tr")?ye(">tbody",e)[0]||e:e}function I(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function N(e){var t=lt.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function R(e,t){var n,s,i,o,r,a,l,c;if(1===t.nodeType){if(je.hasData(e)&&(o=je.access(e),r=je.set(t,o),c=o.events)){delete r.handle,r.events={};for(i in c)for(n=0,s=c[i].length;n<s;n++)ye.event.add(t,i,c[i][n])}qe.hasData(e)&&(a=qe.access(e),l=ye.extend({},a),qe.set(t,l))}}function P(e,t){var n=t.nodeName.toLowerCase();"input"===n&&Ke.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function D(e,t,n,s){t=ce.apply([],t);var i,o,a,l,c,u,d=0,p=e.length,f=p-1,h=t[0],m=ye.isFunction(h);if(m||p>1&&"string"==typeof h&&!ve.checkClone&&at.test(h))return e.each(function(i){var o=e.eq(i);m&&(t[0]=h.call(this,i,o.html())),D(o,t,n,s)});if(p&&(i=E(t,e[0].ownerDocument,!1,e,s),o=i.firstChild,1===i.childNodes.length&&(i=o),o||s)){for(a=ye.map(C(i,"script"),I),l=a.length;d<p;d++)c=i,d!==f&&(c=ye.clone(c,!0,!0),l&&ye.merge(a,C(c,"script"))),n.call(e[d],c,d);if(l)for(u=a[a.length-1].ownerDocument,ye.map(a,N),d=0;d<l;d++)c=a[d],Je.test(c.type||"")&&!je.access(c,"globalEval")&&ye.contains(u,c)&&(c.src?ye._evalUrl&&ye._evalUrl(c.src):r(c.textContent.replace(ct,""),u))}return e}function M(e,t,n){for(var s,i=t?ye.filter(t,e):e,o=0;null!=(s=i[o]);o++)n||1!==s.nodeType||ye.cleanData(C(s)),s.parentNode&&(n&&ye.contains(s.ownerDocument,s)&&x(C(s,"script")),s.parentNode.removeChild(s));return e}function O(e,t,n){var s,i,o,r,a=e.style;return n=n||pt(e),n&&(r=n.getPropertyValue(t)||n[t],""!==r||ye.contains(e.ownerDocument,e)||(r=ye.style(e,t)),!ve.pixelMarginRight()&&dt.test(r)&&ut.test(t)&&(s=a.width,i=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=n.width,a.width=s,a.minWidth=i,a.maxWidth=o)),void 0!==r?r+"":r}function F(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function H(e){if(e in bt)return e;for(var t=e[0].toUpperCase()+e.slice(1),n=vt.length;n--;)if(e=vt[n]+t,e in bt)return e}function B(e){var t=ye.cssProps[e];return t||(t=ye.cssProps[e]=H(e)||e),t}function j(e,t,n){var s=We.exec(t);return s?Math.max(0,s[2]-(n||0))+(s[3]||"px"):t}function q(e,t,n,s,i){var o,r=0;for(o=n===(s?"border":"content")?4:"width"===t?1:0;o<4;o+=2)"margin"===n&&(r+=ye.css(e,n+$e[o],!0,i)),s?("content"===n&&(r-=ye.css(e,"padding"+$e[o],!0,i)),"margin"!==n&&(r-=ye.css(e,"border"+$e[o]+"Width",!0,i))):(r+=ye.css(e,"padding"+$e[o],!0,i),"padding"!==n&&(r+=ye.css(e,"border"+$e[o]+"Width",!0,i)));return r}function U(e,t,n){var s,i=pt(e),o=O(e,t,i),r="border-box"===ye.css(e,"boxSizing",!1,i);return dt.test(o)?o:(s=r&&(ve.boxSizingReliable()||o===e.style[t]),"auto"===o&&(o=e["offset"+t[0].toUpperCase()+t.slice(1)]),o=parseFloat(o)||0,o+q(e,t,n||(r?"border":"content"),s,i)+"px")}function V(e,t,n,s,i){return new V.prototype.init(e,t,n,s,i)}function z(){wt&&(re.hidden===!1&&n.requestAnimationFrame?n.requestAnimationFrame(z):n.setTimeout(z,ye.fx.interval),ye.fx.tick())}function W(){return n.setTimeout(function(){yt=void 0}),yt=ye.now()}function $(e,t){var n,s=0,i={height:e};for(t=t?1:0;s<4;s+=2-t)n=$e[s],i["margin"+n]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function G(e,t,n){for(var s,i=(K.tweeners[t]||[]).concat(K.tweeners["*"]),o=0,r=i.length;o<r;o++)if(s=i[o].call(n,t,e))return s}function X(e,t,n){var s,i,o,r,a,l,c,u,d="width"in t||"height"in t,p=this,f={},h=e.style,m=e.nodeType&&Ge(e),g=je.get(e,"fxshow");n.queue||(r=ye._queueHooks(e,"fx"),null==r.unqueued&&(r.unqueued=0,a=r.empty.fire,r.empty.fire=function(){r.unqueued||a()}),r.unqueued++,p.always(function(){p.always(function(){r.unqueued--,ye.queue(e,"fx").length||r.empty.fire()})}));for(s in t)if(i=t[s],_t.test(i)){if(delete t[s],o=o||"toggle"===i,i===(m?"hide":"show")){if("show"!==i||!g||void 0===g[s])continue;m=!0}f[s]=g&&g[s]||ye.style(e,s)}if(l=!ye.isEmptyObject(t),l||!ye.isEmptyObject(f)){d&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],c=g&&g.display,null==c&&(c=je.get(e,"display")),u=ye.css(e,"display"),"none"===u&&(c?u=c:(_([e],!0),c=e.style.display||c,u=ye.css(e,"display"),_([e]))),("inline"===u||"inline-block"===u&&null!=c)&&"none"===ye.css(e,"float")&&(l||(p.done(function(){h.display=c}),null==c&&(u=h.display,c="none"===u?"":u)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),l=!1;for(s in f)l||(g?"hidden"in g&&(m=g.hidden):g=je.access(e,"fxshow",{display:c}),o&&(g.hidden=!m),m&&_([e],!0),p.done(function(){m||_([e]),je.remove(e,"fxshow");for(s in f)ye.style(e,s,f[s])})),l=G(m?g[s]:0,s,p),s in g||(g[s]=l.start,m&&(l.end=l.start,l.start=0))}}function Y(e,t){var n,s,i,o,r;for(n in e)if(s=ye.camelCase(n),i=t[s],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==s&&(e[s]=o,delete e[n]),r=ye.cssHooks[s],r&&"expand"in r){o=r.expand(o),delete e[s];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[s]=i}function K(e,t,n){var s,i,o=0,r=K.prefilters.length,a=ye.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;for(var t=yt||W(),n=Math.max(0,c.startTime+c.duration-t),s=n/c.duration||0,o=1-s,r=0,l=c.tweens.length;r<l;r++)c.tweens[r].run(o);return a.notifyWith(e,[c,o,n]),o<1&&l?n:(l||a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c]),!1)},c=a.promise({elem:e,props:ye.extend({},t),opts:ye.extend(!0,{specialEasing:{},easing:ye.easing._default},n),originalProperties:t,originalOptions:n,startTime:yt||W(),duration:n.duration,tweens:[],createTween:function(t,n){var s=ye.Tween(e,c.opts,t,n,c.opts.specialEasing[t]||c.opts.easing);return c.tweens.push(s),s},stop:function(t){var n=0,s=t?c.tweens.length:0;if(i)return this;for(i=!0;n<s;n++)c.tweens[n].run(1);return t?(a.notifyWith(e,[c,1,0]),a.resolveWith(e,[c,t])):a.rejectWith(e,[c,t]),this}}),u=c.props;for(Y(u,c.opts.specialEasing);o<r;o++)if(s=K.prefilters[o].call(c,e,u,c.opts))return ye.isFunction(s.stop)&&(ye._queueHooks(c.elem,c.opts.queue).stop=ye.proxy(s.stop,s)),s;return ye.map(u,G,c),ye.isFunction(c.opts.start)&&c.opts.start.call(e,c),c.progress(c.opts.progress).done(c.opts.done,c.opts.complete).fail(c.opts.fail).always(c.opts.always),ye.fx.timer(ye.extend(l,{elem:e,anim:c,queue:c.opts.queue})),c}function Z(e){var t=e.match(Me)||[];return t.join(" ")}function J(e){return e.getAttribute&&e.getAttribute("class")||""}function Q(e,t,n,s){var i;if(Array.isArray(t))ye.each(t,function(t,i){n||Rt.test(e)?s(e,i):Q(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,s)});else if(n||"object"!==ye.type(t))s(e,t);else for(i in t)Q(e+"["+i+"]",t[i],n,s)}function ee(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var s,i=0,o=t.toLowerCase().match(Me)||[];if(ye.isFunction(n))for(;s=o[i++];)"+"===s[0]?(s=s.slice(1)||"*",(e[s]=e[s]||[]).unshift(n)):(e[s]=e[s]||[]).push(n)}}function te(e,t,n,s){function i(a){var l;return o[a]=!0,ye.each(e[a]||[],function(e,a){var c=a(t,n,s);return"string"!=typeof c||r||o[c]?r?!(l=c):void 0:(t.dataTypes.unshift(c),i(c),!1)}),l}var o={},r=e===zt;return i(t.dataTypes[0])||!o["*"]&&i("*")}function ne(e,t){var n,s,i=ye.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:s||(s={}))[n]=t[n]);return s&&ye.extend(!0,e,s),e}function se(e,t,n){for(var s,i,o,r,a=e.contents,l=e.dataTypes;"*"===l[0];)l.shift(),void 0===s&&(s=e.mimeType||t.getResponseHeader("Content-Type"));if(s)for(i in a)if(a[i]&&a[i].test(s)){l.unshift(i);break}if(l[0]in n)o=l[0];else{for(i in n){if(!l[0]||e.converters[i+" "+l[0]]){o=i;break}r||(r=i)}o=o||r}if(o)return o!==l[0]&&l.unshift(o),n[o]}function ie(e,t,n,s){var i,o,r,a,l,c={},u=e.dataTypes.slice();if(u[1])for(r in e.converters)c[r.toLowerCase()]=e.converters[r];for(o=u.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&s&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=u.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(r=c[l+" "+o]||c["* "+o],!r)for(i in c)if(a=i.split(" "),a[1]===o&&(r=c[l+" "+a[0]]||c["* "+a[0]])){r===!0?r=c[i]:c[i]!==!0&&(o=a[0],u.unshift(a[1]));break}if(r!==!0)if(r&&e.throws)t=r(t);else try{t=r(t)}catch(e){return{state:"parsererror",error:r?e:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}var oe=[],re=n.document,ae=Object.getPrototypeOf,le=oe.slice,ce=oe.concat,ue=oe.push,de=oe.indexOf,pe={},fe=pe.toString,he=pe.hasOwnProperty,me=he.toString,ge=me.call(Object),ve={},be="3.2.1",ye=function(e,t){return new ye.fn.init(e,t)},we=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,_e=/^-ms-/,Ce=/-([a-z])/g,xe=function(e,t){return t.toUpperCase()};ye.fn=ye.prototype={jquery:be,constructor:ye,length:0,toArray:function(){return le.call(this)},get:function(e){return null==e?le.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ye.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ye.each(this,e)},map:function(e){return this.pushStack(ye.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(le.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:ue,sort:oe.sort,splice:oe.splice},ye.extend=ye.fn.extend=function(){var e,t,n,s,i,o,r=arguments[0]||{},a=1,l=arguments.length,c=!1;for("boolean"==typeof r&&(c=r,r=arguments[a]||{},a++),"object"==typeof r||ye.isFunction(r)||(r={}),a===l&&(r=this,a--);a<l;a++)if(null!=(e=arguments[a]))for(t in e)n=r[t],s=e[t],r!==s&&(c&&s&&(ye.isPlainObject(s)||(i=Array.isArray(s)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&ye.isPlainObject(n)?n:{},r[t]=ye.extend(c,o,s)):void 0!==s&&(r[t]=s));return r},ye.extend({expando:"jQuery"+(be+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===ye.type(e)},isWindow:function(e){return null!=e&&e===e.window},isNumeric:function(e){var t=ye.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==fe.call(e))&&(!(t=ae(e))||(n=he.call(t,"constructor")&&t.constructor,"function"==typeof n&&me.call(n)===ge))},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?pe[fe.call(e)]||"object":typeof e},globalEval:function(e){r(e)},camelCase:function(e){return e.replace(_e,"ms-").replace(Ce,xe)},each:function(e,t){var n,s=0;if(a(e))for(n=e.length;s<n&&t.call(e[s],s,e[s])!==!1;s++);else for(s in e)if(t.call(e[s],s,e[s])===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(we,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(a(Object(e))?ye.merge(n,"string"==typeof e?[e]:e):ue.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:de.call(t,e,n)},merge:function(e,t){for(var n=+t.length,s=0,i=e.length;s<n;s++)e[i++]=t[s];return e.length=i,e},grep:function(e,t,n){for(var s,i=[],o=0,r=e.length,a=!n;o<r;o++)s=!t(e[o],o),s!==a&&i.push(e[o]);return i},map:function(e,t,n){var s,i,o=0,r=[];if(a(e))for(s=e.length;o<s;o++)i=t(e[o],o,n),null!=i&&r.push(i);else for(o in e)i=t(e[o],o,n),null!=i&&r.push(i);return ce.apply([],r)},guid:1,proxy:function(e,t){var n,s,i;if("string"==typeof t&&(n=e[t],t=e,e=n),ye.isFunction(e))return s=le.call(arguments,2),i=function(){return e.apply(t||this,s.concat(le.call(arguments)))},i.guid=e.guid=e.guid||ye.guid++,i},now:Date.now,support:ve}),"function"==typeof Symbol&&(ye.fn[Symbol.iterator]=oe[Symbol.iterator]),ye.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){pe["[object "+t+"]"]=t.toLowerCase()});var Ee=/*!
+	 * Sizzle CSS Selector Engine v2.3.3
+	 * https://sizzlejs.com/
+	 *
+	 * Copyright jQuery Foundation and other contributors
+	 * Released under the MIT license
+	 * http://jquery.org/license
+	 *
+	 * Date: 2016-08-08
+	 */
+function(e){function t(e,t,n,s){var i,o,r,a,l,c,u,p=t&&t.ownerDocument,h=t?t.nodeType:9;if(n=n||[],"string"!=typeof e||!e||1!==h&&9!==h&&11!==h)return n;if(!s&&((t?t.ownerDocument||t:q)!==P&&R(t),t=t||P,M)){if(11!==h&&(l=ve.exec(e)))if(i=l[1]){if(9===h){if(!(r=t.getElementById(i)))return n;if(r.id===i)return n.push(r),n}else if(p&&(r=p.getElementById(i))&&B(t,r)&&r.id===i)return n.push(r),n}else{if(l[2])return J.apply(n,t.getElementsByTagName(e)),n;if((i=l[3])&&C.getElementsByClassName&&t.getElementsByClassName)return J.apply(n,t.getElementsByClassName(i)),n}if(C.qsa&&!$[e+" "]&&(!O||!O.test(e))){if(1!==h)p=t,u=e;else if("object"!==t.nodeName.toLowerCase()){for((a=t.getAttribute("id"))?a=a.replace(_e,Ce):t.setAttribute("id",a=j),c=S(e),o=c.length;o--;)c[o]="#"+a+" "+f(c[o]);u=c.join(","),p=be.test(e)&&d(t.parentNode)||t}if(u)try{return J.apply(n,p.querySelectorAll(u)),n}catch(e){}finally{a===j&&t.removeAttribute("id")}}}return L(e.replace(ae,"$1"),t,n,s)}function n(){function e(n,s){return t.push(n+" ")>x.cacheLength&&delete e[t.shift()],e[n+" "]=s}var t=[];return e}function s(e){return e[j]=!0,e}function i(e){var t=P.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),s=n.length;s--;)x.attrHandle[n[s]]=t}function r(e,t){var n=t&&e,s=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(s)return s;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function a(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function c(e){return function(t){return"form"in t?t.parentNode&&t.disabled===!1?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&Ee(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function u(e){return s(function(t){return t=+t,s(function(n,s){for(var i,o=e([],n.length,t),r=o.length;r--;)n[i=o[r]]&&(n[i]=!(s[i]=n[i]))})})}function d(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function p(){}function f(e){for(var t=0,n=e.length,s="";t<n;t++)s+=e[t].value;return s}function h(e,t,n){var s=t.dir,i=t.next,o=i||s,r=n&&"parentNode"===o,a=V++;return t.first?function(t,n,i){for(;t=t[s];)if(1===t.nodeType||r)return e(t,n,i);return!1}:function(t,n,l){var c,u,d,p=[U,a];if(l){for(;t=t[s];)if((1===t.nodeType||r)&&e(t,n,l))return!0}else for(;t=t[s];)if(1===t.nodeType||r)if(d=t[j]||(t[j]={}),u=d[t.uniqueID]||(d[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[s]||t;else{if((c=u[o])&&c[0]===U&&c[1]===a)return p[2]=c[2];if(u[o]=p,p[2]=e(t,n,l))return!0}return!1}}function m(e){return e.length>1?function(t,n,s){for(var i=e.length;i--;)if(!e[i](t,n,s))return!1;return!0}:e[0]}function g(e,n,s){for(var i=0,o=n.length;i<o;i++)t(e,n[i],s);return s}function v(e,t,n,s,i){for(var o,r=[],a=0,l=e.length,c=null!=t;a<l;a++)(o=e[a])&&(n&&!n(o,s,i)||(r.push(o),c&&t.push(a)));return r}function b(e,t,n,i,o,r){return i&&!i[j]&&(i=b(i)),o&&!o[j]&&(o=b(o,r)),s(function(s,r,a,l){var c,u,d,p=[],f=[],h=r.length,m=s||g(t||"*",a.nodeType?[a]:a,[]),b=!e||!s&&t?m:v(m,p,e,a,l),y=n?o||(s?e:h||i)?[]:r:b;if(n&&n(b,y,a,l),i)for(c=v(y,f),i(c,[],a,l),u=c.length;u--;)(d=c[u])&&(y[f[u]]=!(b[f[u]]=d));if(s){if(o||e){if(o){for(c=[],u=y.length;u--;)(d=y[u])&&c.push(b[u]=d);o(null,y=[],c,l)}for(u=y.length;u--;)(d=y[u])&&(c=o?ee(s,d):p[u])>-1&&(s[c]=!(r[c]=d))}}else y=v(y===r?y.splice(h,y.length):y),o?o(null,r,y,l):J.apply(r,y)})}function y(e){for(var t,n,s,i=e.length,o=x.relative[e[0].type],r=o||x.relative[" "],a=o?1:0,l=h(function(e){return e===t},r,!0),c=h(function(e){return ee(t,e)>-1},r,!0),u=[function(e,n,s){var i=!o&&(s||n!==A)||((t=n).nodeType?l(e,n,s):c(e,n,s));return t=null,i}];a<i;a++)if(n=x.relative[e[a].type])u=[h(m(u),n)];else{if(n=x.filter[e[a].type].apply(null,e[a].matches),n[j]){for(s=++a;s<i&&!x.relative[e[s].type];s++);return b(a>1&&m(u),a>1&&f(e.slice(0,a-1).concat({value:" "===e[a-2].type?"*":""})).replace(ae,"$1"),n,a<s&&y(e.slice(a,s)),s<i&&y(e=e.slice(s)),s<i&&f(e))}u.push(n)}return m(u)}function w(e,n){var i=n.length>0,o=e.length>0,r=function(s,r,a,l,c){var u,d,p,f=0,h="0",m=s&&[],g=[],b=A,y=s||o&&x.find.TAG("*",c),w=U+=null==b?1:Math.random()||.1,_=y.length;for(c&&(A=r===P||r||c);h!==_&&null!=(u=y[h]);h++){if(o&&u){for(d=0,r||u.ownerDocument===P||(R(u),a=!M);p=e[d++];)if(p(u,r||P,a)){l.push(u);break}c&&(U=w)}i&&((u=!p&&u)&&f--,s&&m.push(u))}if(f+=h,i&&h!==f){for(d=0;p=n[d++];)p(m,g,r,a);if(s){if(f>0)for(;h--;)m[h]||g[h]||(g[h]=K.call(l));g=v(g)}J.apply(l,g),c&&!s&&g.length>0&&f+n.length>1&&t.uniqueSort(l)}return c&&(U=w,A=b),m};return i?s(r):r}var _,C,x,E,k,S,T,L,A,I,N,R,P,D,M,O,F,H,B,j="sizzle"+1*new Date,q=e.document,U=0,V=0,z=n(),W=n(),$=n(),G=function(e,t){return e===t&&(N=!0),0},X={}.hasOwnProperty,Y=[],K=Y.pop,Z=Y.push,J=Y.push,Q=Y.slice,ee=function(e,t){for(var n=0,s=e.length;n<s;n++)if(e[n]===t)return n;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",ne="[\\x20\\t\\r\\n\\f]",se="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",ie="\\["+ne+"*("+se+")(?:"+ne+"*([*^$|!~]?=)"+ne+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+se+"))|)"+ne+"*\\]",oe=":("+se+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ie+")*)|.*)\\)|)",re=new RegExp(ne+"+","g"),ae=new RegExp("^"+ne+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ne+"+$","g"),le=new RegExp("^"+ne+"*,"+ne+"*"),ce=new RegExp("^"+ne+"*([>+~]|"+ne+")"+ne+"*"),ue=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),de=new RegExp(oe),pe=new RegExp("^"+se+"$"),fe={ID:new RegExp("^#("+se+")"),CLASS:new RegExp("^\\.("+se+")"),TAG:new RegExp("^("+se+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,be=/[+~]/,ye=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var s="0x"+t-65536;return s!==s||n?t:s<0?String.fromCharCode(s+65536):String.fromCharCode(s>>10|55296,1023&s|56320)},_e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,Ce=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},xe=function(){R()},Ee=h(function(e){return e.disabled===!0&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{J.apply(Y=Q.call(q.childNodes),q.childNodes),Y[q.childNodes.length].nodeType}catch(e){J={apply:Y.length?function(e,t){Z.apply(e,Q.call(t))}:function(e,t){for(var n=e.length,s=0;e[n++]=t[s++];);e.length=n-1}}}C=t.support={},k=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},R=t.setDocument=function(e){var t,n,s=e?e.ownerDocument||e:q;return s!==P&&9===s.nodeType&&s.documentElement?(P=s,D=P.documentElement,M=!k(P),q!==P&&(n=P.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",xe,!1):n.attachEvent&&n.attachEvent("onunload",xe)),C.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),C.getElementsByTagName=i(function(e){return e.appendChild(P.createComment("")),!e.getElementsByTagName("*").length}),C.getElementsByClassName=ge.test(P.getElementsByClassName),C.getById=i(function(e){return D.appendChild(e).id=j,!P.getElementsByName||!P.getElementsByName(j).length}),C.getById?(x.filter.ID=function(e){var t=e.replace(ye,we);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&M){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var t=e.replace(ye,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&M){var n,s,i,o=t.getElementById(e);if(o){if(n=o.getAttributeNode("id"),n&&n.value===e)return[o];for(i=t.getElementsByName(e),s=0;o=i[s++];)if(n=o.getAttributeNode("id"),n&&n.value===e)return[o]}return[]}}),x.find.TAG=C.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):C.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,s=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&s.push(n);return s}return o},x.find.CLASS=C.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&M)return t.getElementsByClassName(e)},F=[],O=[],(C.qsa=ge.test(P.querySelectorAll))&&(i(function(e){D.appendChild(e).innerHTML="<a id='"+j+"'></a><select id='"+j+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&O.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||O.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+j+"-]").length||O.push("~="),e.querySelectorAll(":checked").length||O.push(":checked"),e.querySelectorAll("a#"+j+"+*").length||O.push(".#.+[+~]")}),i(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=P.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&O.push("name"+ne+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&O.push(":enabled",":disabled"),D.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&O.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),O.push(",.*:")})),(C.matchesSelector=ge.test(H=D.matches||D.webkitMatchesSelector||D.mozMatchesSelector||D.oMatchesSelector||D.msMatchesSelector))&&i(function(e){C.disconnectedMatch=H.call(e,"*"),H.call(e,"[s!='']:x"),F.push("!=",oe)}),O=O.length&&new RegExp(O.join("|")),F=F.length&&new RegExp(F.join("|")),t=ge.test(D.compareDocumentPosition),B=t||ge.test(D.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,s=t&&t.parentNode;return e===s||!(!s||1!==s.nodeType||!(n.contains?n.contains(s):e.compareDocumentPosition&&16&e.compareDocumentPosition(s)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},G=t?function(e,t){if(e===t)return N=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!C.sortDetached&&t.compareDocumentPosition(e)===n?e===P||e.ownerDocument===q&&B(q,e)?-1:t===P||t.ownerDocument===q&&B(q,t)?1:I?ee(I,e)-ee(I,t):0:4&n?-1:1)}:function(e,t){if(e===t)return N=!0,0;var n,s=0,i=e.parentNode,o=t.parentNode,a=[e],l=[t];if(!i||!o)return e===P?-1:t===P?1:i?-1:o?1:I?ee(I,e)-ee(I,t):0;if(i===o)return r(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)l.unshift(n);for(;a[s]===l[s];)s++;return s?r(a[s],l[s]):a[s]===q?-1:l[s]===q?1:0},P):P},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==P&&R(e),n=n.replace(ue,"='$1']"),C.matchesSelector&&M&&!$[n+" "]&&(!F||!F.test(n))&&(!O||!O.test(n)))try{var s=H.call(e,n);if(s||C.disconnectedMatch||e.document&&11!==e.document.nodeType)return s}catch(e){}return t(n,P,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==P&&R(e),B(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==P&&R(e);var n=x.attrHandle[t.toLowerCase()],s=n&&X.call(x.attrHandle,t.toLowerCase())?n(e,t,!M):void 0;return void 0!==s?s:C.attributes||!M?e.getAttribute(t):(s=e.getAttributeNode(t))&&s.specified?s.value:null},t.escape=function(e){return(e+"").replace(_e,Ce)},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],s=0,i=0;if(N=!C.detectDuplicates,I=!C.sortStable&&e.slice(0),e.sort(G),N){for(;t=e[i++];)t===e[i]&&(s=n.push(i));for(;s--;)e.splice(n[s],1)}return I=null,e},E=t.getText=function(e){var t,n="",s=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=E(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[s++];)n+=E(t);return n},x=t.selectors={cacheLength:50,createPseudo:s,match:fe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ye,we),e[3]=(e[3]||e[4]||e[5]||"").replace(ye,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return fe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=S(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(ye,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=z[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&z(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,s){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===s:"!="===n?o!==s:"^="===n?s&&0===o.indexOf(s):"*="===n?s&&o.indexOf(s)>-1:"$="===n?s&&o.slice(-s.length)===s:"~="===n?(" "+o.replace(re," ")+" ").indexOf(s)>-1:"|="===n&&(o===s||o.slice(0,s.length+1)===s+"-"))}},CHILD:function(e,t,n,s,i){var o="nth"!==e.slice(0,3),r="last"!==e.slice(-4),a="of-type"===t;return 1===s&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var c,u,d,p,f,h,m=o!==r?"nextSibling":"previousSibling",g=t.parentNode,v=a&&t.nodeName.toLowerCase(),b=!l&&!a,y=!1;if(g){if(o){for(;m;){for(p=t;p=p[m];)if(a?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[r?g.firstChild:g.lastChild],r&&b){for(p=g,d=p[j]||(p[j]={}),u=d[p.uniqueID]||(d[p.uniqueID]={}),c=u[e]||[],f=c[0]===U&&c[1],y=f&&c[2],p=f&&g.childNodes[f];p=++f&&p&&p[m]||(y=f=0)||h.pop();)if(1===p.nodeType&&++y&&p===t){u[e]=[U,f,y];break}}else if(b&&(p=t,d=p[j]||(p[j]={}),u=d[p.uniqueID]||(d[p.uniqueID]={}),c=u[e]||[],f=c[0]===U&&c[1],y=f),y===!1)for(;(p=++f&&p&&p[m]||(y=f=0)||h.pop())&&((a?p.nodeName.toLowerCase()!==v:1!==p.nodeType)||!++y||(b&&(d=p[j]||(p[j]={}),u=d[p.uniqueID]||(d[p.uniqueID]={}),u[e]=[U,y]),p!==t)););return y-=i,y===s||y%s===0&&y/s>=0}}},PSEUDO:function(e,n){var i,o=x.pseudos[e]||x.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[j]?o(n):o.length>1?(i=[e,e,"",n],x.setFilters.hasOwnProperty(e.toLowerCase())?s(function(e,t){for(var s,i=o(e,n),r=i.length;r--;)s=ee(e,i[r]),e[s]=!(t[s]=i[r])}):function(e){return o(e,0,i)}):o}},pseudos:{not:s(function(e){var t=[],n=[],i=T(e.replace(ae,"$1"));return i[j]?s(function(e,t,n,s){for(var o,r=i(e,null,s,[]),a=e.length;a--;)(o=r[a])&&(e[a]=!(t[a]=o))}):function(e,s,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:s(function(e){return function(n){return t(e,n).length>0}}),contains:s(function(e){return e=e.replace(ye,we),function(t){return(t.textContent||t.innerText||E(t)).indexOf(e)>-1}}),lang:s(function(e){return pe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(ye,we).toLowerCase(),function(t){var n;do if(n=M?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===D},focus:function(e){return e===P.activeElement&&(!P.hasFocus||P.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:c(!1),disabled:c(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[n<0?n+t:n]}),even:u(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:u(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:u(function(e,t,n){for(var s=n<0?n+t:n;--s>=0;)e.push(s);return e}),gt:u(function(e,t,n){for(var s=n<0?n+t:n;++s<t;)e.push(s);return e})}},x.pseudos.nth=x.pseudos.eq;for(_ in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[_]=a(_);for(_ in{submit:!0,reset:!0})x.pseudos[_]=l(_);return p.prototype=x.filters=x.pseudos,x.setFilters=new p,S=t.tokenize=function(e,n){var s,i,o,r,a,l,c,u=W[e+" "];if(u)return n?0:u.slice(0);for(a=e,l=[],c=x.preFilter;a;){s&&!(i=le.exec(a))||(i&&(a=a.slice(i[0].length)||a),l.push(o=[])),s=!1,(i=ce.exec(a))&&(s=i.shift(),o.push({value:s,type:i[0].replace(ae," ")}),a=a.slice(s.length));for(r in x.filter)!(i=fe[r].exec(a))||c[r]&&!(i=c[r](i))||(s=i.shift(),o.push({value:s,type:r,matches:i}),a=a.slice(s.length));if(!s)break}return n?a.length:a?t.error(e):W(e,l).slice(0)},T=t.compile=function(e,t){var n,s=[],i=[],o=$[e+" "];if(!o){for(t||(t=S(e)),n=t.length;n--;)o=y(t[n]),o[j]?s.push(o):i.push(o);o=$(e,w(i,s)),o.selector=e}return o},L=t.select=function(e,t,n,s){var i,o,r,a,l,c="function"==typeof e&&e,u=!s&&S(e=c.selector||e);if(n=n||[],1===u.length){if(o=u[0]=u[0].slice(0),o.length>2&&"ID"===(r=o[0]).type&&9===t.nodeType&&M&&x.relative[o[1].type]){if(t=(x.find.ID(r.matches[0].replace(ye,we),t)||[])[0],!t)return n;c&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=fe.needsContext.test(e)?0:o.length;i--&&(r=o[i],!x.relative[a=r.type]);)if((l=x.find[a])&&(s=l(r.matches[0].replace(ye,we),be.test(o[0].type)&&d(t.parentNode)||t))){if(o.splice(i,1),e=s.length&&f(o),!e)return J.apply(n,s),n;break}}return(c||T(e,u))(s,t,!M,n,!t||be.test(e)&&d(t.parentNode)||t),n},C.sortStable=j.split("").sort(G).join("")===j,C.detectDuplicates=!!N,R(),C.sortDetached=i(function(e){return 1&e.compareDocumentPosition(P.createElement("fieldset"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),C.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var s;if(!n)return e[t]===!0?t.toLowerCase():(s=e.getAttributeNode(t))&&s.specified?s.value:null}),t}(n);ye.find=Ee,ye.expr=Ee.selectors,ye.expr[":"]=ye.expr.pseudos,ye.uniqueSort=ye.unique=Ee.uniqueSort,ye.text=Ee.getText,ye.isXMLDoc=Ee.isXML,ye.contains=Ee.contains,ye.escapeSelector=Ee.escape;var ke=function(e,t,n){for(var s=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&ye(e).is(n))break;s.push(e)}return s},Se=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},Te=ye.expr.match.needsContext,Le=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,Ae=/^.[^:#\[\.,]*$/;ye.filter=function(e,t,n){var s=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===s.nodeType?ye.find.matchesSelector(s,e)?[s]:[]:ye.find.matches(e,ye.grep(t,function(e){return 1===e.nodeType}))},ye.fn.extend({find:function(e){var t,n,s=this.length,i=this;if("string"!=typeof e)return this.pushStack(ye(e).filter(function(){for(t=0;t<s;t++)if(ye.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<s;t++)ye.find(e,i[t],n);return s>1?ye.uniqueSort(n):n},filter:function(e){return this.pushStack(c(this,e||[],!1))},not:function(e){return this.pushStack(c(this,e||[],!0))},is:function(e){return!!c(this,"string"==typeof e&&Te.test(e)?ye(e):e||[],!1).length}});var Ie,Ne=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,Re=ye.fn.init=function(e,t,n){var s,i;if(!e)return this;if(n=n||Ie,"string"==typeof e){if(s="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:Ne.exec(e),!s||!s[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(s[1]){if(t=t instanceof ye?t[0]:t,ye.merge(this,ye.parseHTML(s[1],t&&t.nodeType?t.ownerDocument||t:re,!0)),Le.test(s[1])&&ye.isPlainObject(t))for(s in t)ye.isFunction(this[s])?this[s](t[s]):this.attr(s,t[s]);return this}return i=re.getElementById(s[2]),i&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):ye.isFunction(e)?void 0!==n.ready?n.ready(e):e(ye):ye.makeArray(e,this)};Re.prototype=ye.fn,Ie=ye(re);var Pe=/^(?:parents|prev(?:Until|All))/,De={children:!0,contents:!0,next:!0,prev:!0};ye.fn.extend({has:function(e){var t=ye(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ye.contains(this,t[e]))return!0})},closest:function(e,t){var n,s=0,i=this.length,o=[],r="string"!=typeof e&&ye(e);if(!Te.test(e))for(;s<i;s++)for(n=this[s];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(r?r.index(n)>-1:1===n.nodeType&&ye.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?ye.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?de.call(ye(e),this[0]):de.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ye.uniqueSort(ye.merge(this.get(),ye(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ye.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return ke(e,"parentNode")},parentsUntil:function(e,t,n){return ke(e,"parentNode",n)},next:function(e){return u(e,"nextSibling")},prev:function(e){return u(e,"previousSibling")},nextAll:function(e){return ke(e,"nextSibling")},prevAll:function(e){return ke(e,"previousSibling")},nextUntil:function(e,t,n){return ke(e,"nextSibling",n)},prevUntil:function(e,t,n){return ke(e,"previousSibling",n)},siblings:function(e){return Se((e.parentNode||{}).firstChild,e)},children:function(e){return Se(e.firstChild)},contents:function(e){return l(e,"iframe")?e.contentDocument:(l(e,"template")&&(e=e.content||e),ye.merge([],e.childNodes))}},function(e,t){ye.fn[e]=function(n,s){var i=ye.map(this,t,n);return"Until"!==e.slice(-5)&&(s=n),s&&"string"==typeof s&&(i=ye.filter(s,i)),this.length>1&&(De[e]||ye.uniqueSort(i),Pe.test(e)&&i.reverse()),this.pushStack(i)}});var Me=/[^\x20\t\r\n\f]+/g;ye.Callbacks=function(e){e="string"==typeof e?d(e):ye.extend({},e);var t,n,s,i,o=[],r=[],a=-1,l=function(){for(i=i||e.once,s=t=!0;r.length;a=-1)for(n=r.shift();++a<o.length;)o[a].apply(n[0],n[1])===!1&&e.stopOnFalse&&(a=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},c={add:function(){return o&&(n&&!t&&(a=o.length-1,r.push(n)),function t(n){ye.each(n,function(n,s){ye.isFunction(s)?e.unique&&c.has(s)||o.push(s):s&&s.length&&"string"!==ye.type(s)&&t(s)})}(arguments),n&&!t&&l()),this},remove:function(){return ye.each(arguments,function(e,t){for(var n;(n=ye.inArray(t,o,n))>-1;)o.splice(n,1),n<=a&&a--}),this},has:function(e){return e?ye.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=r=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=r=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],r.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!s}};return c},ye.extend({Deferred:function(e){var t=[["notify","progress",ye.Callbacks("memory"),ye.Callbacks("memory"),2],["resolve","done",ye.Callbacks("once memory"),ye.Callbacks("once memory"),0,"resolved"],["reject","fail",ye.Callbacks("once memory"),ye.Callbacks("once memory"),1,"rejected"]],s="pending",i={state:function(){return s},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return ye.Deferred(function(n){ye.each(t,function(t,s){var i=ye.isFunction(e[s[4]])&&e[s[4]];o[s[1]](function(){var e=i&&i.apply(this,arguments);e&&ye.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[s[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(e,s,i){function o(e,t,s,i){return function(){var a=this,l=arguments,c=function(){var n,c;if(!(e<r)){if(n=s.apply(a,l),n===t.promise())throw new TypeError("Thenable self-resolution");c=n&&("object"==typeof n||"function"==typeof n)&&n.then,ye.isFunction(c)?i?c.call(n,o(r,t,p,i),o(r,t,f,i)):(r++,c.call(n,o(r,t,p,i),o(r,t,f,i),o(r,t,p,t.notifyWith))):(s!==p&&(a=void 0,l=[n]),(i||t.resolveWith)(a,l))}},u=i?c:function(){try{c()}catch(n){ye.Deferred.exceptionHook&&ye.Deferred.exceptionHook(n,u.stackTrace),e+1>=r&&(s!==f&&(a=void 0,l=[n]),t.rejectWith(a,l))}};e?u():(ye.Deferred.getStackHook&&(u.stackTrace=ye.Deferred.getStackHook()),n.setTimeout(u))}}var r=0;return ye.Deferred(function(n){t[0][3].add(o(0,n,ye.isFunction(i)?i:p,n.notifyWith)),t[1][3].add(o(0,n,ye.isFunction(e)?e:p)),t[2][3].add(o(0,n,ye.isFunction(s)?s:f))}).promise()},promise:function(e){return null!=e?ye.extend(e,i):i}},o={};return ye.each(t,function(e,n){var r=n[2],a=n[5];i[n[1]]=r.add,a&&r.add(function(){s=a},t[3-e][2].disable,t[0][2].lock),r.add(n[3].fire),o[n[0]]=function(){return o[n[0]+"With"](this===o?void 0:this,arguments),this},o[n[0]+"With"]=r.fireWith}),i.promise(o),e&&e.call(o,o),o},when:function(e){var t=arguments.length,n=t,s=Array(n),i=le.call(arguments),o=ye.Deferred(),r=function(e){return function(n){s[e]=this,i[e]=arguments.length>1?le.call(arguments):n,--t||o.resolveWith(s,i)}};if(t<=1&&(h(e,o.done(r(n)).resolve,o.reject,!t),"pending"===o.state()||ye.isFunction(i[n]&&i[n].then)))return o.then();for(;n--;)h(i[n],r(n),o.reject);return o.promise()}});var Oe=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ye.Deferred.exceptionHook=function(e,t){n.console&&n.console.warn&&e&&Oe.test(e.name)&&n.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},ye.readyException=function(e){n.setTimeout(function(){throw e})};var Fe=ye.Deferred();ye.fn.ready=function(e){return Fe.then(e).catch(function(e){ye.readyException(e)}),this},ye.extend({isReady:!1,readyWait:1,ready:function(e){(e===!0?--ye.readyWait:ye.isReady)||(ye.isReady=!0,e!==!0&&--ye.readyWait>0||Fe.resolveWith(re,[ye]))}}),ye.ready.then=Fe.then,"complete"===re.readyState||"loading"!==re.readyState&&!re.documentElement.doScroll?n.setTimeout(ye.ready):(re.addEventListener("DOMContentLoaded",m),n.addEventListener("load",m));var He=function(e,t,n,s,i,o,r){var a=0,l=e.length,c=null==n;if("object"===ye.type(n)){i=!0;for(a in n)He(e,t,a,n[a],!0,o,r)}else if(void 0!==s&&(i=!0,ye.isFunction(s)||(r=!0),c&&(r?(t.call(e,s),t=null):(c=t,t=function(e,t,n){return c.call(ye(e),n)})),t))for(;a<l;a++)t(e[a],n,r?s:s.call(e[a],a,t(e[a],n)));return i?e:c?t.call(e):l?t(e[0],n):o},Be=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};g.uid=1,g.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Be(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var s,i=this.cache(e);if("string"==typeof t)i[ye.camelCase(t)]=n;else for(s in t)i[ye.camelCase(s)]=t[s];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][ye.camelCase(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,s=e[this.expando];if(void 0!==s){if(void 0!==t){Array.isArray(t)?t=t.map(ye.camelCase):(t=ye.camelCase(t),t=t in s?[t]:t.match(Me)||[]),n=t.length;for(;n--;)delete s[t[n]]}(void 0===t||ye.isEmptyObject(s))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ye.isEmptyObject(t)}};var je=new g,qe=new g,Ue=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Ve=/[A-Z]/g;ye.extend({hasData:function(e){return qe.hasData(e)||je.hasData(e)},data:function(e,t,n){return qe.access(e,t,n)},removeData:function(e,t){qe.remove(e,t)},_data:function(e,t,n){return je.access(e,t,n)},_removeData:function(e,t){je.remove(e,t)}}),ye.fn.extend({data:function(e,t){var n,s,i,o=this[0],r=o&&o.attributes;if(void 0===e){if(this.length&&(i=qe.get(o),1===o.nodeType&&!je.get(o,"hasDataAttrs"))){for(n=r.length;n--;)r[n]&&(s=r[n].name,0===s.indexOf("data-")&&(s=ye.camelCase(s.slice(5)),b(o,s,i[s])));je.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){qe.set(this,e)}):He(this,function(t){var n;if(o&&void 0===t){if(n=qe.get(o,e),void 0!==n)return n;if(n=b(o,e),void 0!==n)return n}else this.each(function(){qe.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){qe.remove(this,e)})}}),ye.extend({queue:function(e,t,n){var s;if(e)return t=(t||"fx")+"queue",s=je.get(e,t),n&&(!s||Array.isArray(n)?s=je.access(e,t,ye.makeArray(n)):s.push(n)),s||[]},dequeue:function(e,t){t=t||"fx";var n=ye.queue(e,t),s=n.length,i=n.shift(),o=ye._queueHooks(e,t),r=function(){ye.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),s--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,r,o)),!s&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return je.get(e,n)||je.access(e,n,{empty:ye.Callbacks("once memory").add(function(){je.remove(e,[t+"queue",n])})})}}),ye.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?ye.queue(this[0],e):void 0===t?this:this.each(function(){var n=ye.queue(this,e,t);ye._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&ye.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ye.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,s=1,i=ye.Deferred(),o=this,r=this.length,a=function(){--s||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";r--;)n=je.get(o[r],e+"queueHooks"),n&&n.empty&&(s++,n.empty.add(a));return a(),i.promise(t)}});var ze=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,We=new RegExp("^(?:([+-])=|)("+ze+")([a-z%]*)$","i"),$e=["Top","Right","Bottom","Left"],Ge=function(e,t){return e=t||e,"none"===e.style.display||""===e.style.display&&ye.contains(e.ownerDocument,e)&&"none"===ye.css(e,"display")},Xe=function(e,t,n,s){var i,o,r={};for(o in t)r[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,s||[]);for(o in t)e.style[o]=r[o];return i},Ye={};ye.fn.extend({show:function(){return _(this,!0)},hide:function(){return _(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Ge(this)?ye(this).show():ye(this).hide()})}});var Ke=/^(?:checkbox|radio)$/i,Ze=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,Je=/^$|\/(?:java|ecma)script/i,Qe={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};Qe.optgroup=Qe.option,Qe.tbody=Qe.tfoot=Qe.colgroup=Qe.caption=Qe.thead,
+Qe.th=Qe.td;var et=/<|&#?\w+;/;!function(){var e=re.createDocumentFragment(),t=e.appendChild(re.createElement("div")),n=re.createElement("input");n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),t.appendChild(n),ve.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,t.innerHTML="<textarea>x</textarea>",ve.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue}();var tt=re.documentElement,nt=/^key/,st=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,it=/^([^.]*)(?:\.(.+)|)/;ye.event={global:{},add:function(e,t,n,s,i){var o,r,a,l,c,u,d,p,f,h,m,g=je.get(e);if(g)for(n.handler&&(o=n,n=o.handler,i=o.selector),i&&ye.find.matchesSelector(tt,i),n.guid||(n.guid=ye.guid++),(l=g.events)||(l=g.events={}),(r=g.handle)||(r=g.handle=function(t){return"undefined"!=typeof ye&&ye.event.triggered!==t.type?ye.event.dispatch.apply(e,arguments):void 0}),t=(t||"").match(Me)||[""],c=t.length;c--;)a=it.exec(t[c])||[],f=m=a[1],h=(a[2]||"").split(".").sort(),f&&(d=ye.event.special[f]||{},f=(i?d.delegateType:d.bindType)||f,d=ye.event.special[f]||{},u=ye.extend({type:f,origType:m,data:s,handler:n,guid:n.guid,selector:i,needsContext:i&&ye.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=l[f])||(p=l[f]=[],p.delegateCount=0,d.setup&&d.setup.call(e,s,h,r)!==!1||e.addEventListener&&e.addEventListener(f,r)),d.add&&(d.add.call(e,u),u.handler.guid||(u.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,u):p.push(u),ye.event.global[f]=!0)},remove:function(e,t,n,s,i){var o,r,a,l,c,u,d,p,f,h,m,g=je.hasData(e)&&je.get(e);if(g&&(l=g.events)){for(t=(t||"").match(Me)||[""],c=t.length;c--;)if(a=it.exec(t[c])||[],f=m=a[1],h=(a[2]||"").split(".").sort(),f){for(d=ye.event.special[f]||{},f=(s?d.delegateType:d.bindType)||f,p=l[f]||[],a=a[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),r=o=p.length;o--;)u=p[o],!i&&m!==u.origType||n&&n.guid!==u.guid||a&&!a.test(u.namespace)||s&&s!==u.selector&&("**"!==s||!u.selector)||(p.splice(o,1),u.selector&&p.delegateCount--,d.remove&&d.remove.call(e,u));r&&!p.length&&(d.teardown&&d.teardown.call(e,h,g.handle)!==!1||ye.removeEvent(e,f,g.handle),delete l[f])}else for(f in l)ye.event.remove(e,f+t[c],n,s,!0);ye.isEmptyObject(l)&&je.remove(e,"handle events")}},dispatch:function(e){var t,n,s,i,o,r,a=ye.event.fix(e),l=new Array(arguments.length),c=(je.get(this,"events")||{})[a.type]||[],u=ye.event.special[a.type]||{};for(l[0]=a,t=1;t<arguments.length;t++)l[t]=arguments[t];if(a.delegateTarget=this,!u.preDispatch||u.preDispatch.call(this,a)!==!1){for(r=ye.event.handlers.call(this,a,c),t=0;(i=r[t++])&&!a.isPropagationStopped();)for(a.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!a.isImmediatePropagationStopped();)a.rnamespace&&!a.rnamespace.test(o.namespace)||(a.handleObj=o,a.data=o.data,s=((ye.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,l),void 0!==s&&(a.result=s)===!1&&(a.preventDefault(),a.stopPropagation()));return u.postDispatch&&u.postDispatch.call(this,a),a.result}},handlers:function(e,t){var n,s,i,o,r,a=[],l=t.delegateCount,c=e.target;if(l&&c.nodeType&&!("click"===e.type&&e.button>=1))for(;c!==this;c=c.parentNode||this)if(1===c.nodeType&&("click"!==e.type||c.disabled!==!0)){for(o=[],r={},n=0;n<l;n++)s=t[n],i=s.selector+" ",void 0===r[i]&&(r[i]=s.needsContext?ye(i,this).index(c)>-1:ye.find(i,this,null,[c]).length),r[i]&&o.push(s);o.length&&a.push({elem:c,handlers:o})}return c=this,l<t.length&&a.push({elem:c,handlers:t.slice(l)}),a},addProp:function(e,t){Object.defineProperty(ye.Event.prototype,e,{enumerable:!0,configurable:!0,get:ye.isFunction(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[ye.expando]?e:new ye.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==T()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===T()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&l(this,"input"))return this.click(),!1},_default:function(e){return l(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ye.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ye.Event=function(e,t){return this instanceof ye.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?k:S,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ye.extend(this,t),this.timeStamp=e&&e.timeStamp||ye.now(),void(this[ye.expando]=!0)):new ye.Event(e,t)},ye.Event.prototype={constructor:ye.Event,isDefaultPrevented:S,isPropagationStopped:S,isImmediatePropagationStopped:S,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=k,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=k,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=k,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ye.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&nt.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&st.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},ye.event.addProp),ye.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){ye.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,s=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===s||ye.contains(s,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),ye.fn.extend({on:function(e,t,n,s){return L(this,e,t,n,s)},one:function(e,t,n,s){return L(this,e,t,n,s,1)},off:function(e,t,n){var s,i;if(e&&e.preventDefault&&e.handleObj)return s=e.handleObj,ye(e.delegateTarget).off(s.namespace?s.origType+"."+s.namespace:s.origType,s.selector,s.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return t!==!1&&"function"!=typeof t||(n=t,t=void 0),n===!1&&(n=S),this.each(function(){ye.event.remove(this,e,n,t)})}});var ot=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,rt=/<script|<style|<link/i,at=/checked\s*(?:[^=]|=\s*.checked.)/i,lt=/^true\/(.*)/,ct=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;ye.extend({htmlPrefilter:function(e){return e.replace(ot,"<$1></$2>")},clone:function(e,t,n){var s,i,o,r,a=e.cloneNode(!0),l=ye.contains(e.ownerDocument,e);if(!(ve.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ye.isXMLDoc(e)))for(r=C(a),o=C(e),s=0,i=o.length;s<i;s++)P(o[s],r[s]);if(t)if(n)for(o=o||C(e),r=r||C(a),s=0,i=o.length;s<i;s++)R(o[s],r[s]);else R(e,a);return r=C(a,"script"),r.length>0&&x(r,!l&&C(e,"script")),a},cleanData:function(e){for(var t,n,s,i=ye.event.special,o=0;void 0!==(n=e[o]);o++)if(Be(n)){if(t=n[je.expando]){if(t.events)for(s in t.events)i[s]?ye.event.remove(n,s):ye.removeEvent(n,s,t.handle);n[je.expando]=void 0}n[qe.expando]&&(n[qe.expando]=void 0)}}}),ye.fn.extend({detach:function(e){return M(this,e,!0)},remove:function(e){return M(this,e)},text:function(e){return He(this,function(e){return void 0===e?ye.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return D(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=A(this,e);t.appendChild(e)}})},prepend:function(){return D(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=A(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return D(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return D(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ye.cleanData(C(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ye.clone(this,e,t)})},html:function(e){return He(this,function(e){var t=this[0]||{},n=0,s=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!rt.test(e)&&!Qe[(Ze.exec(e)||["",""])[1].toLowerCase()]){e=ye.htmlPrefilter(e);try{for(;n<s;n++)t=this[n]||{},1===t.nodeType&&(ye.cleanData(C(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return D(this,arguments,function(t){var n=this.parentNode;ye.inArray(this,e)<0&&(ye.cleanData(C(this)),n&&n.replaceChild(t,this))},e)}}),ye.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){ye.fn[e]=function(e){for(var n,s=[],i=ye(e),o=i.length-1,r=0;r<=o;r++)n=r===o?this:this.clone(!0),ye(i[r])[t](n),ue.apply(s,n.get());return this.pushStack(s)}});var ut=/^margin/,dt=new RegExp("^("+ze+")(?!px)[a-z%]+$","i"),pt=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=n),t.getComputedStyle(e)};!function(){function e(){if(a){a.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",a.innerHTML="",tt.appendChild(r);var e=n.getComputedStyle(a);t="1%"!==e.top,o="2px"===e.marginLeft,s="4px"===e.width,a.style.marginRight="50%",i="4px"===e.marginRight,tt.removeChild(r),a=null}}var t,s,i,o,r=re.createElement("div"),a=re.createElement("div");a.style&&(a.style.backgroundClip="content-box",a.cloneNode(!0).style.backgroundClip="",ve.clearCloneStyle="content-box"===a.style.backgroundClip,r.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",r.appendChild(a),ye.extend(ve,{pixelPosition:function(){return e(),t},boxSizingReliable:function(){return e(),s},pixelMarginRight:function(){return e(),i},reliableMarginLeft:function(){return e(),o}}))}();var ft=/^(none|table(?!-c[ea]).+)/,ht=/^--/,mt={position:"absolute",visibility:"hidden",display:"block"},gt={letterSpacing:"0",fontWeight:"400"},vt=["Webkit","Moz","ms"],bt=re.createElement("div").style;ye.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=O(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{float:"cssFloat"},style:function(e,t,n,s){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,r,a=ye.camelCase(t),l=ht.test(t),c=e.style;return l||(t=B(a)),r=ye.cssHooks[t]||ye.cssHooks[a],void 0===n?r&&"get"in r&&void 0!==(i=r.get(e,!1,s))?i:c[t]:(o=typeof n,"string"===o&&(i=We.exec(n))&&i[1]&&(n=y(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(ye.cssNumber[a]?"":"px")),ve.clearCloneStyle||""!==n||0!==t.indexOf("background")||(c[t]="inherit"),r&&"set"in r&&void 0===(n=r.set(e,n,s))||(l?c.setProperty(t,n):c[t]=n)),void 0)}},css:function(e,t,n,s){var i,o,r,a=ye.camelCase(t),l=ht.test(t);return l||(t=B(a)),r=ye.cssHooks[t]||ye.cssHooks[a],r&&"get"in r&&(i=r.get(e,!0,n)),void 0===i&&(i=O(e,t,s)),"normal"===i&&t in gt&&(i=gt[t]),""===n||n?(o=parseFloat(i),n===!0||isFinite(o)?o||0:i):i}}),ye.each(["height","width"],function(e,t){ye.cssHooks[t]={get:function(e,n,s){if(n)return!ft.test(ye.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?U(e,t,s):Xe(e,mt,function(){return U(e,t,s)})},set:function(e,n,s){var i,o=s&&pt(e),r=s&&q(e,t,s,"border-box"===ye.css(e,"boxSizing",!1,o),o);return r&&(i=We.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=ye.css(e,t)),j(e,n,r)}}}),ye.cssHooks.marginLeft=F(ve.reliableMarginLeft,function(e,t){if(t)return(parseFloat(O(e,"marginLeft"))||e.getBoundingClientRect().left-Xe(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),ye.each({margin:"",padding:"",border:"Width"},function(e,t){ye.cssHooks[e+t]={expand:function(n){for(var s=0,i={},o="string"==typeof n?n.split(" "):[n];s<4;s++)i[e+$e[s]+t]=o[s]||o[s-2]||o[0];return i}},ut.test(e)||(ye.cssHooks[e+t].set=j)}),ye.fn.extend({css:function(e,t){return He(this,function(e,t,n){var s,i,o={},r=0;if(Array.isArray(t)){for(s=pt(e),i=t.length;r<i;r++)o[t[r]]=ye.css(e,t[r],!1,s);return o}return void 0!==n?ye.style(e,t,n):ye.css(e,t)},e,t,arguments.length>1)}}),ye.Tween=V,V.prototype={constructor:V,init:function(e,t,n,s,i,o){this.elem=e,this.prop=n,this.easing=i||ye.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=s,this.unit=o||(ye.cssNumber[n]?"":"px")},cur:function(){var e=V.propHooks[this.prop];return e&&e.get?e.get(this):V.propHooks._default.get(this)},run:function(e){var t,n=V.propHooks[this.prop];return this.options.duration?this.pos=t=ye.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):V.propHooks._default.set(this),this}},V.prototype.init.prototype=V.prototype,V.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ye.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){ye.fx.step[e.prop]?ye.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[ye.cssProps[e.prop]]&&!ye.cssHooks[e.prop]?e.elem[e.prop]=e.now:ye.style(e.elem,e.prop,e.now+e.unit)}}},V.propHooks.scrollTop=V.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ye.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ye.fx=V.prototype.init,ye.fx.step={};var yt,wt,_t=/^(?:toggle|show|hide)$/,Ct=/queueHooks$/;ye.Animation=ye.extend(K,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return y(n.elem,e,We.exec(t),n),n}]},tweener:function(e,t){ye.isFunction(e)?(t=e,e=["*"]):e=e.match(Me);for(var n,s=0,i=e.length;s<i;s++)n=e[s],K.tweeners[n]=K.tweeners[n]||[],K.tweeners[n].unshift(t)},prefilters:[X],prefilter:function(e,t){t?K.prefilters.unshift(e):K.prefilters.push(e)}}),ye.speed=function(e,t,n){var s=e&&"object"==typeof e?ye.extend({},e):{complete:n||!n&&t||ye.isFunction(e)&&e,duration:e,easing:n&&t||t&&!ye.isFunction(t)&&t};return ye.fx.off?s.duration=0:"number"!=typeof s.duration&&(s.duration in ye.fx.speeds?s.duration=ye.fx.speeds[s.duration]:s.duration=ye.fx.speeds._default),null!=s.queue&&s.queue!==!0||(s.queue="fx"),s.old=s.complete,s.complete=function(){ye.isFunction(s.old)&&s.old.call(this),s.queue&&ye.dequeue(this,s.queue)},s},ye.fn.extend({fadeTo:function(e,t,n,s){return this.filter(Ge).css("opacity",0).show().end().animate({opacity:t},e,n,s)},animate:function(e,t,n,s){var i=ye.isEmptyObject(e),o=ye.speed(t,n,s),r=function(){var t=K(this,ye.extend({},e),o);(i||je.get(this,"finish"))&&t.stop(!0)};return r.finish=r,i||o.queue===!1?this.each(r):this.queue(o.queue,r)},stop:function(e,t,n){var s=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=ye.timers,r=je.get(this);if(i)r[i]&&r[i].stop&&s(r[i]);else for(i in r)r[i]&&r[i].stop&&Ct.test(i)&&s(r[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||ye.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=je.get(this),s=n[e+"queue"],i=n[e+"queueHooks"],o=ye.timers,r=s?s.length:0;for(n.finish=!0,ye.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<r;t++)s[t]&&s[t].finish&&s[t].finish.call(this);delete n.finish})}}),ye.each(["toggle","show","hide"],function(e,t){var n=ye.fn[t];ye.fn[t]=function(e,s,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate($(t,!0),e,s,i)}}),ye.each({slideDown:$("show"),slideUp:$("hide"),slideToggle:$("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){ye.fn[e]=function(e,n,s){return this.animate(t,e,n,s)}}),ye.timers=[],ye.fx.tick=function(){var e,t=0,n=ye.timers;for(yt=ye.now();t<n.length;t++)e=n[t],e()||n[t]!==e||n.splice(t--,1);n.length||ye.fx.stop(),yt=void 0},ye.fx.timer=function(e){ye.timers.push(e),ye.fx.start()},ye.fx.interval=13,ye.fx.start=function(){wt||(wt=!0,z())},ye.fx.stop=function(){wt=null},ye.fx.speeds={slow:600,fast:200,_default:400},ye.fn.delay=function(e,t){return e=ye.fx?ye.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,s){var i=n.setTimeout(t,e);s.stop=function(){n.clearTimeout(i)}})},function(){var e=re.createElement("input"),t=re.createElement("select"),n=t.appendChild(re.createElement("option"));e.type="checkbox",ve.checkOn=""!==e.value,ve.optSelected=n.selected,e=re.createElement("input"),e.value="t",e.type="radio",ve.radioValue="t"===e.value}();var xt,Et=ye.expr.attrHandle;ye.fn.extend({attr:function(e,t){return He(this,ye.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ye.removeAttr(this,e)})}}),ye.extend({attr:function(e,t,n){var s,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?ye.prop(e,t,n):(1===o&&ye.isXMLDoc(e)||(i=ye.attrHooks[t.toLowerCase()]||(ye.expr.match.bool.test(t)?xt:void 0)),void 0!==n?null===n?void ye.removeAttr(e,t):i&&"set"in i&&void 0!==(s=i.set(e,n,t))?s:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(s=i.get(e,t))?s:(s=ye.find.attr(e,t),null==s?void 0:s))},attrHooks:{type:{set:function(e,t){if(!ve.radioValue&&"radio"===t&&l(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,s=0,i=t&&t.match(Me);if(i&&1===e.nodeType)for(;n=i[s++];)e.removeAttribute(n)}}),xt={set:function(e,t,n){return t===!1?ye.removeAttr(e,n):e.setAttribute(n,n),n}},ye.each(ye.expr.match.bool.source.match(/\w+/g),function(e,t){var n=Et[t]||ye.find.attr;Et[t]=function(e,t,s){var i,o,r=t.toLowerCase();return s||(o=Et[r],Et[r]=i,i=null!=n(e,t,s)?r:null,Et[r]=o),i}});var kt=/^(?:input|select|textarea|button)$/i,St=/^(?:a|area)$/i;ye.fn.extend({prop:function(e,t){return He(this,ye.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[ye.propFix[e]||e]})}}),ye.extend({prop:function(e,t,n){var s,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&ye.isXMLDoc(e)||(t=ye.propFix[t]||t,i=ye.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(s=i.set(e,n,t))?s:e[t]=n:i&&"get"in i&&null!==(s=i.get(e,t))?s:e[t]},propHooks:{tabIndex:{get:function(e){var t=ye.find.attr(e,"tabindex");return t?parseInt(t,10):kt.test(e.nodeName)||St.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),ve.optSelected||(ye.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ye.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ye.propFix[this.toLowerCase()]=this}),ye.fn.extend({addClass:function(e){var t,n,s,i,o,r,a,l=0;if(ye.isFunction(e))return this.each(function(t){ye(this).addClass(e.call(this,t,J(this)))});if("string"==typeof e&&e)for(t=e.match(Me)||[];n=this[l++];)if(i=J(n),s=1===n.nodeType&&" "+Z(i)+" "){for(r=0;o=t[r++];)s.indexOf(" "+o+" ")<0&&(s+=o+" ");a=Z(s),i!==a&&n.setAttribute("class",a)}return this},removeClass:function(e){var t,n,s,i,o,r,a,l=0;if(ye.isFunction(e))return this.each(function(t){ye(this).removeClass(e.call(this,t,J(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(Me)||[];n=this[l++];)if(i=J(n),s=1===n.nodeType&&" "+Z(i)+" "){for(r=0;o=t[r++];)for(;s.indexOf(" "+o+" ")>-1;)s=s.replace(" "+o+" "," ");a=Z(s),i!==a&&n.setAttribute("class",a)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):ye.isFunction(e)?this.each(function(n){ye(this).toggleClass(e.call(this,n,J(this),t),t)}):this.each(function(){var t,s,i,o;if("string"===n)for(s=0,i=ye(this),o=e.match(Me)||[];t=o[s++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=J(this),t&&je.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||e===!1?"":je.get(this,"__className__")||""))})},hasClass:function(e){var t,n,s=0;for(t=" "+e+" ";n=this[s++];)if(1===n.nodeType&&(" "+Z(J(n))+" ").indexOf(t)>-1)return!0;return!1}});var Tt=/\r/g;ye.fn.extend({val:function(e){var t,n,s,i=this[0];{if(arguments.length)return s=ye.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=s?e.call(this,n,ye(this).val()):e,null==i?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=ye.map(i,function(e){return null==e?"":e+""})),t=ye.valHooks[this.type]||ye.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=ye.valHooks[i.type]||ye.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(Tt,""):null==n?"":n)}}}),ye.extend({valHooks:{option:{get:function(e){var t=ye.find.attr(e,"value");return null!=t?t:Z(ye.text(e))}},select:{get:function(e){var t,n,s,i=e.options,o=e.selectedIndex,r="select-one"===e.type,a=r?null:[],c=r?o+1:i.length;for(s=o<0?c:r?o:0;s<c;s++)if(n=i[s],(n.selected||s===o)&&!n.disabled&&(!n.parentNode.disabled||!l(n.parentNode,"optgroup"))){if(t=ye(n).val(),r)return t;a.push(t)}return a},set:function(e,t){for(var n,s,i=e.options,o=ye.makeArray(t),r=i.length;r--;)s=i[r],(s.selected=ye.inArray(ye.valHooks.option.get(s),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),ye.each(["radio","checkbox"],function(){ye.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=ye.inArray(ye(e).val(),t)>-1}},ve.checkOn||(ye.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Lt=/^(?:focusinfocus|focusoutblur)$/;ye.extend(ye.event,{trigger:function(e,t,s,i){var o,r,a,l,c,u,d,p=[s||re],f=he.call(e,"type")?e.type:e,h=he.call(e,"namespace")?e.namespace.split("."):[];if(r=a=s=s||re,3!==s.nodeType&&8!==s.nodeType&&!Lt.test(f+ye.event.triggered)&&(f.indexOf(".")>-1&&(h=f.split("."),f=h.shift(),h.sort()),c=f.indexOf(":")<0&&"on"+f,e=e[ye.expando]?e:new ye.Event(f,"object"==typeof e&&e),e.isTrigger=i?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=s),t=null==t?[e]:ye.makeArray(t,[e]),d=ye.event.special[f]||{},i||!d.trigger||d.trigger.apply(s,t)!==!1)){if(!i&&!d.noBubble&&!ye.isWindow(s)){for(l=d.delegateType||f,Lt.test(l+f)||(r=r.parentNode);r;r=r.parentNode)p.push(r),a=r;a===(s.ownerDocument||re)&&p.push(a.defaultView||a.parentWindow||n)}for(o=0;(r=p[o++])&&!e.isPropagationStopped();)e.type=o>1?l:d.bindType||f,u=(je.get(r,"events")||{})[e.type]&&je.get(r,"handle"),u&&u.apply(r,t),u=c&&r[c],u&&u.apply&&Be(r)&&(e.result=u.apply(r,t),e.result===!1&&e.preventDefault());return e.type=f,i||e.isDefaultPrevented()||d._default&&d._default.apply(p.pop(),t)!==!1||!Be(s)||c&&ye.isFunction(s[f])&&!ye.isWindow(s)&&(a=s[c],a&&(s[c]=null),ye.event.triggered=f,s[f](),ye.event.triggered=void 0,a&&(s[c]=a)),e.result}},simulate:function(e,t,n){var s=ye.extend(new ye.Event,n,{type:e,isSimulated:!0});ye.event.trigger(s,null,t)}}),ye.fn.extend({trigger:function(e,t){return this.each(function(){ye.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ye.event.trigger(e,t,n,!0)}}),ye.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){ye.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),ye.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),ve.focusin="onfocusin"in n,ve.focusin||ye.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){ye.event.simulate(t,e.target,ye.event.fix(e))};ye.event.special[t]={setup:function(){var s=this.ownerDocument||this,i=je.access(s,t);i||s.addEventListener(e,n,!0),je.access(s,t,(i||0)+1)},teardown:function(){var s=this.ownerDocument||this,i=je.access(s,t)-1;i?je.access(s,t,i):(s.removeEventListener(e,n,!0),je.remove(s,t))}}});var At=n.location,It=ye.now(),Nt=/\?/;ye.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new n.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||ye.error("Invalid XML: "+e),t};var Rt=/\[\]$/,Pt=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,Mt=/^(?:input|select|textarea|keygen)/i;ye.param=function(e,t){var n,s=[],i=function(e,t){var n=ye.isFunction(t)?t():t;s[s.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!ye.isPlainObject(e))ye.each(e,function(){i(this.name,this.value)});else for(n in e)Q(n,e[n],t,i);return s.join("&")},ye.fn.extend({serialize:function(){return ye.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ye.prop(this,"elements");return e?ye.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ye(this).is(":disabled")&&Mt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!Ke.test(e))}).map(function(e,t){var n=ye(this).val();return null==n?null:Array.isArray(n)?ye.map(n,function(e){return{name:t.name,value:e.replace(Pt,"\r\n")}}):{name:t.name,value:n.replace(Pt,"\r\n")}}).get()}});var Ot=/%20/g,Ft=/#.*$/,Ht=/([?&])_=[^&]*/,Bt=/^(.*?):[ \t]*([^\r\n]*)$/gm,jt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,qt=/^(?:GET|HEAD)$/,Ut=/^\/\//,Vt={},zt={},Wt="*/".concat("*"),$t=re.createElement("a");$t.href=At.href,ye.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:At.href,type:"GET",isLocal:jt.test(At.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Wt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ye.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?ne(ne(e,ye.ajaxSettings),t):ne(ye.ajaxSettings,e)},ajaxPrefilter:ee(Vt),ajaxTransport:ee(zt),ajax:function(e,t){function s(e,t,s,a){var c,p,f,w,_,C=t;u||(u=!0,l&&n.clearTimeout(l),i=void 0,r=a||"",x.readyState=e>0?4:0,c=e>=200&&e<300||304===e,s&&(w=se(h,x,s)),w=ie(h,w,x,c),c?(h.ifModified&&(_=x.getResponseHeader("Last-Modified"),_&&(ye.lastModified[o]=_),_=x.getResponseHeader("etag"),_&&(ye.etag[o]=_)),204===e||"HEAD"===h.type?C="nocontent":304===e?C="notmodified":(C=w.state,p=w.data,f=w.error,c=!f)):(f=C,!e&&C||(C="error",e<0&&(e=0))),x.status=e,x.statusText=(t||C)+"",c?v.resolveWith(m,[p,C,x]):v.rejectWith(m,[x,C,f]),x.statusCode(y),y=void 0,d&&g.trigger(c?"ajaxSuccess":"ajaxError",[x,h,c?p:f]),b.fireWith(m,[x,C]),d&&(g.trigger("ajaxComplete",[x,h]),--ye.active||ye.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var i,o,r,a,l,c,u,d,p,f,h=ye.ajaxSetup({},t),m=h.context||h,g=h.context&&(m.nodeType||m.jquery)?ye(m):ye.event,v=ye.Deferred(),b=ye.Callbacks("once memory"),y=h.statusCode||{},w={},_={},C="canceled",x={readyState:0,getResponseHeader:function(e){var t;if(u){if(!a)for(a={};t=Bt.exec(r);)a[t[1].toLowerCase()]=t[2];t=a[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return u?r:null},setRequestHeader:function(e,t){return null==u&&(e=_[e.toLowerCase()]=_[e.toLowerCase()]||e,w[e]=t),this},overrideMimeType:function(e){return null==u&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(u)x.always(e[x.status]);else for(t in e)y[t]=[y[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),s(0,t),this}};if(v.promise(x),h.url=((e||h.url||At.href)+"").replace(Ut,At.protocol+"//"),h.type=t.method||t.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(Me)||[""],null==h.crossDomain){c=re.createElement("a");try{c.href=h.url,c.href=c.href,h.crossDomain=$t.protocol+"//"+$t.host!=c.protocol+"//"+c.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=ye.param(h.data,h.traditional)),te(Vt,h,t,x),u)return x;d=ye.event&&h.global,d&&0===ye.active++&&ye.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!qt.test(h.type),o=h.url.replace(Ft,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(Ot,"+")):(f=h.url.slice(o.length),h.data&&(o+=(Nt.test(o)?"&":"?")+h.data,delete h.data),h.cache===!1&&(o=o.replace(Ht,"$1"),f=(Nt.test(o)?"&":"?")+"_="+It++ +f),h.url=o+f),h.ifModified&&(ye.lastModified[o]&&x.setRequestHeader("If-Modified-Since",ye.lastModified[o]),ye.etag[o]&&x.setRequestHeader("If-None-Match",ye.etag[o])),(h.data&&h.hasContent&&h.contentType!==!1||t.contentType)&&x.setRequestHeader("Content-Type",h.contentType),x.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Wt+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)x.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(h.beforeSend.call(m,x,h)===!1||u))return x.abort();if(C="abort",b.add(h.complete),x.done(h.success),x.fail(h.error),i=te(zt,h,t,x)){if(x.readyState=1,d&&g.trigger("ajaxSend",[x,h]),u)return x;h.async&&h.timeout>0&&(l=n.setTimeout(function(){x.abort("timeout")},h.timeout));try{u=!1,i.send(w,s)}catch(e){if(u)throw e;s(-1,e)}}else s(-1,"No Transport");return x},getJSON:function(e,t,n){return ye.get(e,t,n,"json")},getScript:function(e,t){return ye.get(e,void 0,t,"script")}}),ye.each(["get","post"],function(e,t){ye[t]=function(e,n,s,i){return ye.isFunction(n)&&(i=i||s,s=n,n=void 0),ye.ajax(ye.extend({url:e,type:t,dataType:i,data:n,success:s},ye.isPlainObject(e)&&e))}}),ye._evalUrl=function(e){return ye.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,throws:!0})},ye.fn.extend({wrapAll:function(e){var t;return this[0]&&(ye.isFunction(e)&&(e=e.call(this[0])),t=ye(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return ye.isFunction(e)?this.each(function(t){ye(this).wrapInner(e.call(this,t))}):this.each(function(){var t=ye(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=ye.isFunction(e);return this.each(function(n){ye(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){ye(this).replaceWith(this.childNodes)}),this}}),ye.expr.pseudos.hidden=function(e){return!ye.expr.pseudos.visible(e)},ye.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length);
+},ye.ajaxSettings.xhr=function(){try{return new n.XMLHttpRequest}catch(e){}};var Gt={0:200,1223:204},Xt=ye.ajaxSettings.xhr();ve.cors=!!Xt&&"withCredentials"in Xt,ve.ajax=Xt=!!Xt,ye.ajaxTransport(function(e){var t,s;if(ve.cors||Xt&&!e.crossDomain)return{send:function(i,o){var r,a=e.xhr();if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(r in e.xhrFields)a[r]=e.xhrFields[r];e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(r in i)a.setRequestHeader(r,i[r]);t=function(e){return function(){t&&(t=s=a.onload=a.onerror=a.onabort=a.onreadystatechange=null,"abort"===e?a.abort():"error"===e?"number"!=typeof a.status?o(0,"error"):o(a.status,a.statusText):o(Gt[a.status]||a.status,a.statusText,"text"!==(a.responseType||"text")||"string"!=typeof a.responseText?{binary:a.response}:{text:a.responseText},a.getAllResponseHeaders()))}},a.onload=t(),s=a.onerror=t("error"),void 0!==a.onabort?a.onabort=s:a.onreadystatechange=function(){4===a.readyState&&n.setTimeout(function(){t&&s()})},t=t("abort");try{a.send(e.hasContent&&e.data||null)}catch(e){if(t)throw e}},abort:function(){t&&t()}}}),ye.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ye.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ye.globalEval(e),e}}}),ye.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ye.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(s,i){t=ye("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),re.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Kt=/(=)\?(?=&|$)|\?\?/;ye.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||ye.expando+"_"+It++;return this[e]=!0,e}}),ye.ajaxPrefilter("json jsonp",function(e,t,s){var i,o,r,a=e.jsonp!==!1&&(Kt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Kt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return i=e.jsonpCallback=ye.isFunction(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Kt,"$1"+i):e.jsonp!==!1&&(e.url+=(Nt.test(e.url)?"&":"?")+e.jsonp+"="+i),e.converters["script json"]=function(){return r||ye.error(i+" was not called"),r[0]},e.dataTypes[0]="json",o=n[i],n[i]=function(){r=arguments},s.always(function(){void 0===o?ye(n).removeProp(i):n[i]=o,e[i]&&(e.jsonpCallback=t.jsonpCallback,Yt.push(i)),r&&ye.isFunction(o)&&o(r[0]),r=o=void 0}),"script"}),ve.createHTMLDocument=function(){var e=re.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),ye.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var s,i,o;return t||(ve.createHTMLDocument?(t=re.implementation.createHTMLDocument(""),s=t.createElement("base"),s.href=re.location.href,t.head.appendChild(s)):t=re),i=Le.exec(e),o=!n&&[],i?[t.createElement(i[1])]:(i=E([e],t,o),o&&o.length&&ye(o).remove(),ye.merge([],i.childNodes))},ye.fn.load=function(e,t,n){var s,i,o,r=this,a=e.indexOf(" ");return a>-1&&(s=Z(e.slice(a)),e=e.slice(0,a)),ye.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),r.length>0&&ye.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,r.html(s?ye("<div>").append(ye.parseHTML(e)).find(s):e)}).always(n&&function(e,t){r.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ye.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ye.fn[t]=function(e){return this.on(t,e)}}),ye.expr.pseudos.animated=function(e){return ye.grep(ye.timers,function(t){return e===t.elem}).length},ye.offset={setOffset:function(e,t,n){var s,i,o,r,a,l,c,u=ye.css(e,"position"),d=ye(e),p={};"static"===u&&(e.style.position="relative"),a=d.offset(),o=ye.css(e,"top"),l=ye.css(e,"left"),c=("absolute"===u||"fixed"===u)&&(o+l).indexOf("auto")>-1,c?(s=d.position(),r=s.top,i=s.left):(r=parseFloat(o)||0,i=parseFloat(l)||0),ye.isFunction(t)&&(t=t.call(e,n,ye.extend({},a))),null!=t.top&&(p.top=t.top-a.top+r),null!=t.left&&(p.left=t.left-a.left+i),"using"in t?t.using.call(e,p):d.css(p)}},ye.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){ye.offset.setOffset(this,e,t)});var t,n,s,i,o=this[0];if(o)return o.getClientRects().length?(s=o.getBoundingClientRect(),t=o.ownerDocument,n=t.documentElement,i=t.defaultView,{top:s.top+i.pageYOffset-n.clientTop,left:s.left+i.pageXOffset-n.clientLeft}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n=this[0],s={top:0,left:0};return"fixed"===ye.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),l(e[0],"html")||(s=e.offset()),s={top:s.top+ye.css(e[0],"borderTopWidth",!0),left:s.left+ye.css(e[0],"borderLeftWidth",!0)}),{top:t.top-s.top-ye.css(n,"marginTop",!0),left:t.left-s.left-ye.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent;e&&"static"===ye.css(e,"position");)e=e.offsetParent;return e||tt})}}),ye.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;ye.fn[e]=function(s){return He(this,function(e,s,i){var o;return ye.isWindow(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i?o?o[t]:e[s]:void(o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[s]=i)},e,s,arguments.length)}}),ye.each(["top","left"],function(e,t){ye.cssHooks[t]=F(ve.pixelPosition,function(e,n){if(n)return n=O(e,t),dt.test(n)?ye(e).position()[t]+"px":n})}),ye.each({Height:"height",Width:"width"},function(e,t){ye.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,s){ye.fn[s]=function(i,o){var r=arguments.length&&(n||"boolean"!=typeof i),a=n||(i===!0||o===!0?"margin":"border");return He(this,function(t,n,i){var o;return ye.isWindow(t)?0===s.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?ye.css(t,n,a):ye.style(t,n,i,a)},t,r?i:void 0,r)}})}),ye.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,s){return this.on(t,e,n,s)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),ye.holdReady=function(e){e?ye.readyWait++:ye.ready(!0)},ye.isArray=Array.isArray,ye.parseJSON=JSON.parse,ye.nodeName=l,s=[],i=function(){return ye}.apply(t,s),!(void 0!==i&&(e.exports=i));var Zt=n.jQuery,Jt=n.$;return ye.noConflict=function(e){return n.$===ye&&(n.$=Jt),e&&n.jQuery===ye&&(n.jQuery=Zt),ye},o||(n.jQuery=n.$=ye),ye})},function(e,t,n){"use strict";function s(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(t,"__esModule",{value:!0});var i=n(1),o=s(i);window.jQuery=o.default,window.$=window.jQuery,window.jquery=window.jQuery,t.default=o.default},function(e,t,n){var s,i,o;"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};!function(r){i=[n(1)],s=r,o="function"==typeof s?s.apply(t,i):s,!(void 0!==o&&(e.exports=o))}(function(e){var t,n=navigator.userAgent,s=/iphone/i.test(n),i=/chrome/i.test(n),o=/android/i.test(n);e.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},autoclear:!0,dataName:"rawMaskFn",placeholder:"_"},e.fn.extend({caret:function(e,t){var n;if(0!==this.length&&!this.is(":hidden"))return"number"==typeof e?(t="number"==typeof t?t:e,this.each(function(){this.setSelectionRange?this.setSelectionRange(e,t):this.createTextRange&&(n=this.createTextRange(),n.collapse(!0),n.moveEnd("character",t),n.moveStart("character",e),n.select())})):(this[0].setSelectionRange?(e=this[0].selectionStart,t=this[0].selectionEnd):document.selection&&document.selection.createRange&&(n=document.selection.createRange(),e=0-n.duplicate().moveStart("character",-1e5),t=e+n.text.length),{begin:e,end:t})},unmask:function(){return this.trigger("unmask")},mask:function(n,r){var a,l,c,u,d,p,f,h;if(!n&&this.length>0){a=e(this[0]);var m=a.data(e.mask.dataName);return m?m():void 0}return r=e.extend({autoclear:e.mask.autoclear,placeholder:e.mask.placeholder,completed:null},r),l=e.mask.definitions,c=[],u=f=n.length,d=null,e.each(n.split(""),function(e,t){"?"==t?(f--,u=e):l[t]?(c.push(new RegExp(l[t])),null===d&&(d=c.length-1),u>e&&(p=c.length-1)):c.push(null)}),this.trigger("unmask").each(function(){function a(){if(r.completed){for(var e=d;p>=e;e++)if(c[e]&&L[e]===m(e))return;r.completed.call(T)}}function m(e){return r.placeholder.charAt(e<r.placeholder.length?e:0)}function g(e){for(;++e<f&&!c[e];);return e}function v(e){for(;--e>=0&&!c[e];);return e}function b(e,t){var n,s;if(!(0>e)){for(n=e,s=g(t);f>n;n++)if(c[n]){if(!(f>s&&c[n].test(L[s])))break;L[n]=L[s],L[s]=m(s),s=g(s)}k(),T.caret(Math.max(d,e))}}function y(e){var t,n,s,i;for(t=e,n=m(e);f>t;t++)if(c[t]){if(s=g(t),i=L[t],L[t]=n,!(f>s&&c[s].test(i)))break;n=i}}function w(){var e=T.val(),t=T.caret();if(h&&h.length&&h.length>e.length){for(S(!0);t.begin>0&&!c[t.begin-1];)t.begin--;if(0===t.begin)for(;t.begin<d&&!c[t.begin];)t.begin++;T.caret(t.begin,t.begin)}else{for(S(!0);t.begin<f&&!c[t.begin];)t.begin++;T.caret(t.begin,t.begin)}a()}function _(){S(),T.val()!=I&&T.change()}function C(e){if(!T.prop("readonly")){var t,n,i,o=e.which||e.keyCode;h=T.val(),8===o||46===o||s&&127===o?(t=T.caret(),n=t.begin,i=t.end,i-n===0&&(n=46!==o?v(n):i=g(n-1),i=46===o?g(i):i),E(n,i),b(n,i-1),e.preventDefault()):13===o?_.call(this,e):27===o&&(T.val(I),T.caret(0,S()),e.preventDefault())}}function x(t){if(!T.prop("readonly")){var n,s,i,r=t.which||t.keyCode,l=T.caret();if(!(t.ctrlKey||t.altKey||t.metaKey||32>r)&&r&&13!==r){if(l.end-l.begin!==0&&(E(l.begin,l.end),b(l.begin,l.end-1)),n=g(l.begin-1),f>n&&(s=String.fromCharCode(r),c[n].test(s))){if(y(n),L[n]=s,k(),i=g(n),o){var u=function(){e.proxy(e.fn.caret,T,i)()};setTimeout(u,0)}else T.caret(i);l.begin<=p&&a()}t.preventDefault()}}}function E(e,t){var n;for(n=e;t>n&&f>n;n++)c[n]&&(L[n]=m(n))}function k(){T.val(L.join(""))}function S(e){var t,n,s,i=T.val(),o=-1;for(t=0,s=0;f>t;t++)if(c[t]){for(L[t]=m(t);s++<i.length;)if(n=i.charAt(s-1),c[t].test(n)){L[t]=n,o=t;break}if(s>i.length){E(t+1,f);break}}else L[t]===i.charAt(s)&&s++,u>t&&(o=t);return e?k():u>o+1?r.autoclear||L.join("")===A?(T.val()&&T.val(""),E(0,f)):k():(k(),T.val(T.val().substring(0,o+1))),u?t:d}var T=e(this),L=e.map(n.split(""),function(e,t){return"?"!=e?l[e]?m(t):e:void 0}),A=L.join(""),I=T.val();T.data(e.mask.dataName,function(){return e.map(L,function(e,t){return c[t]&&e!=m(t)?e:null}).join("")}),T.one("unmask",function(){T.off(".mask").removeData(e.mask.dataName)}).on("focus.mask",function(){if(!T.prop("readonly")){clearTimeout(t);var e;I=T.val(),e=S(),t=setTimeout(function(){T.get(0)===document.activeElement&&(k(),e==n.replace("?","").length?T.caret(0,e):T.caret(e))},10)}}).on("blur.mask",_).on("keydown.mask",C).on("keypress.mask",x).on("input.mask paste.mask",function(){T.prop("readonly")||setTimeout(function(){var e=S(!0);T.caret(e),a()},0)}),i&&o&&T.off("input.mask").on("input.mask",w),S()})}})})},function(e,t){/*!
+	 * Fotorama 4.6.4 | http://fotorama.io/license/
+	 */
+fotoramaVersion="4.6.4",function(e,t,n,s,i){"use strict";function o(e){var t="bez_"+s.makeArray(arguments).join("_").replace(".","p");if("function"!=typeof s.easing[t]){var n=function(e,t){var n=[null,null],s=[null,null],i=[null,null],o=function(o,r){return i[r]=3*e[r],s[r]=3*(t[r]-e[r])-i[r],n[r]=1-i[r]-s[r],o*(i[r]+o*(s[r]+o*n[r]))},r=function(e){return i[0]+e*(2*s[0]+3*n[0]*e)},a=function(e){for(var t,n=e,s=0;++s<14&&(t=o(n,0)-e,!(Math.abs(t)<.001));)n-=t/r(n);return n};return function(e){return o(a(e),1)}};s.easing[t]=function(t,s,i,o,r){return o*n([e[0],e[1]],[e[2],e[3]])(s/r)+i}}return t}function r(){}function a(e,t,n){return Math.max(isNaN(t)?-1/0:t,Math.min(isNaN(n)?1/0:n,e))}function l(e){return e.match(/ma/)&&e.match(/-?\d+(?!d)/g)[e.match(/3d/)?12:4]}function c(e){return Dt?+l(e.css("transform")):+e.css("left").replace("px","")}function u(e){var t={};return Dt?t.transform="translate3d("+e+"px,0,0)":t.left=e,t}function d(e){return{"transition-duration":e+"ms"}}function p(e,t){return isNaN(e)?t:e}function f(e,t){return p(+String(e).replace(t||"px",""))}function h(e){return/%$/.test(e)?f(e,"%"):i}function m(e,t){return p(h(e)/100*t,f(e))}function g(e){return(!isNaN(f(e))||!isNaN(f(e,"%")))&&e}function v(e,t,n,s){return(e-(s||0))*(t+(n||0))}function b(e,t,n,s){return-Math.round(e/(t+(n||0))-(s||0))}function y(e){var t=e.data();if(!t.tEnd){var n=e[0],s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",msTransition:"MSTransitionEnd",transition:"transitionend"};W(n,s[wt.prefixed("transition")],function(e){t.tProp&&e.propertyName.match(t.tProp)&&t.onEndFn()}),t.tEnd=!0}}function w(e,t,n,s){var i,o=e.data();o&&(o.onEndFn=function(){i||(i=!0,clearTimeout(o.tT),n())},o.tProp=t,clearTimeout(o.tT),o.tT=setTimeout(function(){o.onEndFn()},1.5*s),y(e))}function _(e,t){if(e.length){var n=e.data();Dt?(e.css(d(0)),n.onEndFn=r,clearTimeout(n.tT)):e.stop();var s=C(t,function(){return c(e)});return e.css(u(s)),s}}function C(){for(var e,t=0,n=arguments.length;n>t&&(e=t?arguments[t]():arguments[t],"number"!=typeof e);t++);return e}function x(e,t){return Math.round(e+(t-e)/1.5)}function E(){return E.p=E.p||("https:"===n.protocol?"https://":"http://"),E.p}function k(e){var n=t.createElement("a");return n.href=e,n}function S(e,t){if("string"!=typeof e)return e;e=k(e);var n,s;if(e.host.match(/youtube\.com/)&&e.search){if(n=e.search.split("v=")[1]){var i=n.indexOf("&");-1!==i&&(n=n.substring(0,i)),s="youtube"}}else e.host.match(/youtube\.com|youtu\.be/)?(n=e.pathname.replace(/^\/(embed\/|v\/)?/,"").replace(/\/.*/,""),s="youtube"):e.host.match(/vimeo\.com/)&&(s="vimeo",n=e.pathname.replace(/^\/(video\/)?/,"").replace(/\/.*/,""));return n&&s||!t||(n=e.href,s="custom"),!!n&&{id:n,type:s,s:e.search.replace(/^\?/,""),p:E()}}function T(e,t,n){var i,o,r=e.video;return"youtube"===r.type?(o=E()+"img.youtube.com/vi/"+r.id+"/default.jpg",i=o.replace(/\/default.jpg$/,"/hqdefault.jpg"),e.thumbsReady=!0):"vimeo"===r.type?s.ajax({url:E()+"vimeo.com/api/v2/video/"+r.id+".json",dataType:"jsonp",success:function(s){e.thumbsReady=!0,L(t,{img:s[0].thumbnail_large,thumb:s[0].thumbnail_small},e.i,n)}}):e.thumbsReady=!0,{img:i,thumb:o}}function L(e,t,n,i){for(var o=0,r=e.length;r>o;o++){var a=e[o];if(a.i===n&&a.thumbsReady){var l={videoReady:!0};l[Yt]=l[Zt]=l[Kt]=!1,i.splice(o,1,s.extend({},a,l,t));break}}}function A(e){function t(e,t,i){var o=e.children("img").eq(0),r=e.attr("href"),a=e.attr("src"),l=o.attr("src"),c=t.video,u=!!i&&S(r,c===!0);u?r=!1:u=c,n(e,o,s.extend(t,{video:u,img:t.img||r||a||l,thumb:t.thumb||l||a||r}))}function n(e,t,n){var i=n.thumb&&n.img!==n.thumb,o=f(n.width||e.attr("width")),r=f(n.height||e.attr("height"));s.extend(n,{width:o,height:r,thumbratio:z(n.thumbratio||f(n.thumbwidth||t&&t.attr("width")||i||o)/f(n.thumbheight||t&&t.attr("height")||i||r))})}var i=[];return e.children().each(function(){var e=s(this),o=V(s.extend(e.data(),{id:e.attr("id")}));if(e.is("a, img"))t(e,o,!0);else{if(e.is(":empty"))return;n(e,null,s.extend(o,{html:this,_html:e.html()}))}i.push(o)}),i}function I(e){return 0===e.offsetWidth&&0===e.offsetHeight}function N(e){return!s.contains(t.documentElement,e)}function R(e,t,n,s){return R.i||(R.i=1,R.ii=[!0]),s=s||R.i,"undefined"==typeof R.ii[s]&&(R.ii[s]=!0),e()?t():R.ii[s]&&setTimeout(function(){R.ii[s]&&R(e,t,n,s)},n||100),R.i++}function P(e){n.replace(n.protocol+"//"+n.host+n.pathname.replace(/^\/?/,"/")+n.search+"#"+e)}function D(e,t,n,s){var i=e.data(),o=i.measures;if(o&&(!i.l||i.l.W!==o.width||i.l.H!==o.height||i.l.r!==o.ratio||i.l.w!==t.w||i.l.h!==t.h||i.l.m!==n||i.l.p!==s)){var r=o.width,l=o.height,c=t.w/t.h,u=o.ratio>=c,d="scaledown"===n,p="contain"===n,f="cover"===n,h=J(s);u&&(d||p)||!u&&f?(r=a(t.w,0,d?r:1/0),l=r/o.ratio):(u&&f||!u&&(d||p))&&(l=a(t.h,0,d?l:1/0),r=l*o.ratio),e.css({width:r,height:l,left:m(h.x,t.w-r),top:m(h.y,t.h-l)}),i.l={W:o.width,H:o.height,r:o.ratio,w:t.w,h:t.h,m:n,p:s}}return!0}function M(e,t){var n=e[0];n.styleSheet?n.styleSheet.cssText=t:e.html(t)}function O(e,t,n){return t!==n&&(t>=e?"left":e>=n?"right":"left right")}function F(e,t,n,s){if(!n)return!1;if(!isNaN(e))return e-(s?0:1);for(var i,o=0,r=t.length;r>o;o++){var a=t[o];if(a.id===e){i=o;break}}return i}function H(e,t,n){n=n||{},e.each(function(){var e,i=s(this),o=i.data();o.clickOn||(o.clickOn=!0,s.extend(ne(i,{onStart:function(t){e=t,(n.onStart||r).call(this,t)},onMove:n.onMove||r,onTouchEnd:n.onTouchEnd||r,onEnd:function(n){n.moved||t.call(this,e)}}),{noMove:!0}))})}function B(e,t){return'<div class="'+e+'">'+(t||"")+"</div>"}function j(e){for(var t=e.length;t;){var n=Math.floor(Math.random()*t--),s=e[t];e[t]=e[n],e[n]=s}return e}function q(e){return"[object Array]"==Object.prototype.toString.call(e)&&s.map(e,function(e){return s.extend({},e)})}function U(e,t,n){e.scrollLeft(t||0).scrollTop(n||0)}function V(e){if(e){var t={};return s.each(e,function(e,n){t[e.toLowerCase()]=n}),t}}function z(e){if(e){var t=+e;return isNaN(t)?(t=e.split("/"),+t[0]/+t[1]||i):t}}function W(e,t,n,s){t&&(e.addEventListener?e.addEventListener(t,n,!!s):e.attachEvent("on"+t,n))}function $(e){return!!e.getAttribute("disabled")}function G(e){return{tabindex:-1*e+"",disabled:e}}function X(e,t){W(e,"keyup",function(n){$(e)||13==n.keyCode&&t.call(e,n)})}function Y(e,t){W(e,"focus",e.onfocusin=function(n){t.call(e,n)},!0)}function K(e,t){e.preventDefault?e.preventDefault():e.returnValue=!1,t&&e.stopPropagation&&e.stopPropagation()}function Z(e){return e?">":"<"}function J(e){return e=(e+"").split(/\s+/),{x:g(e[0])||tn,y:g(e[1])||tn}}function Q(e,t){var n=e.data(),i=Math.round(t.pos),o=function(){n.sliding=!1,(t.onEnd||r)()};"undefined"!=typeof t.overPos&&t.overPos!==t.pos&&(i=t.overPos,o=function(){Q(e,s.extend({},t,{overPos:t.pos,time:Math.max(Ut,t.time/2)}))});var a=s.extend(u(i),t.width&&{width:t.width});n.sliding=!0,Dt?(e.css(s.extend(d(t.time),a)),t.time>10?w(e,"transform",o,t.time):o()):e.stop().animate(a,t.time,Qt,o)}function ee(e,t,n,i,o,a){var l="undefined"!=typeof a;if(l||(o.push(arguments),Array.prototype.push.call(arguments,o.length),!(o.length>1))){e=e||s(e),t=t||s(t);var c=e[0],u=t[0],d="crossfade"===i.method,p=function(){if(!p.done){p.done=!0;var e=(l||o.shift())&&o.shift();e&&ee.apply(this,e),(i.onEnd||r)(!!e)}},f=i.time/(a||1);n.removeClass(Ve+" "+Ue),e.stop().addClass(Ve),t.stop().addClass(Ue),d&&u&&e.fadeTo(0,0),e.fadeTo(d?f:0,1,d&&p),t.fadeTo(f,0,p),c&&d||u||p()}}function te(e){var t=(e.touches||[])[0]||e;e._x=t.pageX,e._y=t.clientY,e._now=s.now()}function ne(e,n){function i(e){return p=s(e.target),w.checked=m=g=b=!1,u||w.flow||e.touches&&e.touches.length>1||e.which>1||on&&on.type!==e.type&&an||(m=n.select&&p.is(n.select,y))?m:(h="touchstart"===e.type,g=p.is("a, a *",y),f=w.control,v=w.noMove||w.noSwipe||f?16:w.snap?0:4,te(e),d=on=e,rn=e.type.replace(/down|start/,"move").replace(/Down/,"Move"),(n.onStart||r).call(y,e,{control:f,$target:p}),u=w.flow=!0,void((!h||w.go)&&K(e)))}function o(e){if(e.touches&&e.touches.length>1||Bt&&!e.isPrimary||rn!==e.type||!u)return u&&a(),void(n.onTouchEnd||r)();te(e);var t=Math.abs(e._x-d._x),s=Math.abs(e._y-d._y),i=t-s,o=(w.go||w.x||i>=0)&&!w.noSwipe,l=0>i;h&&!w.checked?(u=o)&&K(e):(K(e),(n.onMove||r).call(y,e,{touch:h})),!b&&Math.sqrt(Math.pow(t,2)+Math.pow(s,2))>v&&(b=!0),w.checked=w.checked||o||l}function a(e){(n.onTouchEnd||r)();var t=u;w.control=u=!1,t&&(w.flow=!1),!t||g&&!w.checked||(e&&K(e),an=!0,clearTimeout(ln),ln=setTimeout(function(){an=!1},1e3),(n.onEnd||r).call(y,{moved:b,$target:p,control:f,touch:h,startEvent:d,aborted:!e||"MSPointerCancel"===e.type}))}function l(){w.flow||setTimeout(function(){w.flow=!0},10)}function c(){w.flow&&setTimeout(function(){w.flow=!1},qt)}var u,d,p,f,h,m,g,v,b,y=e[0],w={};return Bt?(W(y,"MSPointerDown",i),W(t,"MSPointerMove",o),W(t,"MSPointerCancel",a),W(t,"MSPointerUp",a)):(W(y,"touchstart",i),W(y,"touchmove",o),W(y,"touchend",a),W(t,"touchstart",l),W(t,"touchend",c),W(t,"touchcancel",c),It.on("scroll",c),e.on("mousedown",i),Nt.on("mousemove",o).on("mouseup",a)),e.on("click","a",function(e){w.checked&&K(e)}),w}function se(e,t){function n(n,s){S=!0,c=d=n._x,g=n._now,m=[[g,c]],p=f=A.noMove||s?0:_(e,(t.getPos||r)()),(t.onStart||r).call(T,n)}function i(e,t){b=A.min,y=A.max,w=A.snap,C=e.altKey,S=k=!1,E=t.control,E||L.sliding||n(e)}function o(s,i){A.noSwipe||(S||n(s),d=s._x,m.push([s._now,d]),f=p-(c-d),h=O(f,b,y),b>=f?f=x(f,b):f>=y&&(f=x(f,y)),A.noMove||(e.css(u(f)),k||(k=!0,i.touch||Bt||e.addClass(it)),(t.onMove||r).call(T,s,{pos:f,edge:h})))}function l(i){if(!A.noSwipe||!i.moved){S||n(i.startEvent,!0),i.touch||Bt||e.removeClass(it),v=s.now();for(var o,l,c,u,h,g,_,x,E,k=v-qt,L=null,I=Ut,N=t.friction,R=m.length-1;R>=0;R--){if(o=m[R][0],l=Math.abs(o-k),null===L||c>l)L=o,u=m[R][1];else if(L===k||l>c)break;c=l}_=a(f,b,y);var P=u-d,D=P>=0,M=v-L,O=M>qt,F=!O&&f!==p&&_===f;w&&(_=a(Math[F?D?"floor":"ceil":"round"](f/w)*w,b,y),b=y=_),F&&(w||_===f)&&(E=-(P/M),I*=a(Math.abs(E),t.timeLow,t.timeHigh),h=Math.round(f+E*I/N),w||(_=h),(!D&&h>y||D&&b>h)&&(g=D?b:y,x=h-g,w||(_=g),x=a(_+.03*x,g-50,g+50),I=Math.abs((f-x)/(E/N)))),I*=C?10:1,(t.onEnd||r).call(T,s.extend(i,{moved:i.moved||O&&w,pos:f,newPos:_,overPos:x,time:I}))}}var c,d,p,f,h,m,g,v,b,y,w,C,E,k,S,T=e[0],L=e.data(),A={};return A=s.extend(ne(t.$wrap,s.extend({},t,{onStart:i,onMove:o,onEnd:l})),A)}function ie(e,t){var n,i,o,a=e[0],l={prevent:{}};return W(a,jt,function(e){var a=e.wheelDeltaY||-1*e.deltaY||0,c=e.wheelDeltaX||-1*e.deltaX||0,u=Math.abs(c)&&!Math.abs(a),d=Z(0>c),p=i===d,f=s.now(),h=qt>f-o;i=d,o=f,u&&l.ok&&(!l.prevent[d]||n)&&(K(e,!0),n&&p&&h||(t.shift&&(n=!0,clearTimeout(l.t),l.t=setTimeout(function(){n=!1},Vt)),(t.onEnd||r)(e,t.shift?d:c)))}),l}function oe(){s.each(s.Fotorama.instances,function(e,t){t.index=e})}function re(e){s.Fotorama.instances.push(e),oe()}function ae(e){s.Fotorama.instances.splice(e.index,1),oe()}var le="fotorama",ce="fullscreen",ue=le+"__wrap",de=ue+"--css2",pe=ue+"--css3",fe=ue+"--video",he=ue+"--fade",me=ue+"--slide",ge=ue+"--no-controls",ve=ue+"--no-shadows",be=ue+"--pan-y",ye=ue+"--rtl",we=ue+"--only-active",_e=ue+"--no-captions",Ce=ue+"--toggle-arrows",xe=le+"__stage",Ee=xe+"__frame",ke=Ee+"--video",Se=xe+"__shaft",Te=le+"__grab",Le=le+"__pointer",Ae=le+"__arr",Ie=Ae+"--disabled",Ne=Ae+"--prev",Re=Ae+"--next",Pe=le+"__nav",De=Pe+"-wrap",Me=Pe+"__shaft",Oe=Pe+"--dots",Fe=Pe+"--thumbs",He=Pe+"__frame",Be=He+"--dot",je=He+"--thumb",qe=le+"__fade",Ue=qe+"-front",Ve=qe+"-rear",ze=le+"__shadow",We=ze+"s",$e=We+"--left",Ge=We+"--right",Xe=le+"__active",Ye=le+"__select",Ke=le+"--hidden",Ze=le+"--fullscreen",Je=le+"__fullscreen-icon",Qe=le+"__error",et=le+"__loading",tt=le+"__loaded",nt=tt+"--full",st=tt+"--img",it=le+"__grabbing",ot=le+"__img",rt=ot+"--full",at=le+"__dot",lt=le+"__thumb",ct=lt+"-border",ut=le+"__html",dt=le+"__video",pt=dt+"-play",ft=dt+"-close",ht=le+"__caption",mt=le+"__caption__wrap",gt=le+"__spinner",vt='" tabindex="0" role="button',bt=s&&s.fn.jquery.split(".");if(!bt||bt[0]<1||1==bt[0]&&bt[1]<8)throw"Fotorama requires jQuery 1.8 or later and will not run without it.";var yt={},wt=function(e,t,n){function s(e){v.cssText=e}function i(e,t){return typeof e===t}function o(e,t){return!!~(""+e).indexOf(t)}function r(e,t){for(var s in e){var i=e[s];if(!o(i,"-")&&v[i]!==n)return"pfx"!=t||i}return!1}function a(e,t,s){for(var o in e){var r=t[e[o]];if(r!==n)return s===!1?e[o]:i(r,"function")?r.bind(s||t):r}return!1}function l(e,t,n){var s=e.charAt(0).toUpperCase()+e.slice(1),o=(e+" "+w.join(s+" ")+s).split(" ");return i(t,"string")||i(t,"undefined")?r(o,t):(o=(e+" "+_.join(s+" ")+s).split(" "),a(o,t,n))}var c,u,d,p="2.6.2",f={},h=t.documentElement,m="modernizr",g=t.createElement(m),v=g.style,b=({}.toString," -webkit- -moz- -o- -ms- ".split(" ")),y="Webkit Moz O ms",w=y.split(" "),_=y.toLowerCase().split(" "),C={},x=[],E=x.slice,k=function(e,n,s,i){var o,r,a,l,c=t.createElement("div"),u=t.body,d=u||t.createElement("body");if(parseInt(s,10))for(;s--;)a=t.createElement("div"),a.id=i?i[s]:m+(s+1),c.appendChild(a);return o=["&#173;",'<style id="s',m,'">',e,"</style>"].join(""),c.id=m,(u?c:d).innerHTML+=o,d.appendChild(c),u||(d.style.background="",d.style.overflow="hidden",l=h.style.overflow,h.style.overflow="hidden",h.appendChild(d)),r=n(c,e),u?c.parentNode.removeChild(c):(d.parentNode.removeChild(d),h.style.overflow=l),!!r},S={}.hasOwnProperty;d=i(S,"undefined")||i(S.call,"undefined")?function(e,t){return t in e&&i(e.constructor.prototype[t],"undefined")}:function(e,t){return S.call(e,t)},Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if("function"!=typeof t)throw new TypeError;var n=E.call(arguments,1),s=function(){if(this instanceof s){var i=function(){};i.prototype=t.prototype;var o=new i,r=t.apply(o,n.concat(E.call(arguments)));return Object(r)===r?r:o}return t.apply(e,n.concat(E.call(arguments)))};return s}),C.csstransforms3d=function(){var e=!!l("perspective");return e};for(var T in C)d(C,T)&&(u=T.toLowerCase(),f[u]=C[T](),x.push((f[u]?"":"no-")+u));return f.addTest=function(e,t){if("object"==typeof e)for(var s in e)d(e,s)&&f.addTest(s,e[s]);else{if(e=e.toLowerCase(),f[e]!==n)return f;t="function"==typeof t?t():t,"undefined"!=typeof enableClasses&&enableClasses&&(h.className+=" "+(t?"":"no-")+e),f[e]=t}return f},s(""),g=c=null,f._version=p,f._prefixes=b,f._domPrefixes=_,f._cssomPrefixes=w,f.testProp=function(e){return r([e])},f.testAllProps=l,f.testStyles=k,f.prefixed=function(e,t,n){return t?l(e,t,n):l(e,"pfx")},f}(e,t),_t={ok:!1,is:function(){return!1},request:function(){},cancel:function(){},event:"",prefix:""},Ct="webkit moz o ms khtml".split(" ");if("undefined"!=typeof t.cancelFullScreen)_t.ok=!0;else for(var xt=0,Et=Ct.length;Et>xt;xt++)if(_t.prefix=Ct[xt],"undefined"!=typeof t[_t.prefix+"CancelFullScreen"]){_t.ok=!0;break}_t.ok&&(_t.event=_t.prefix+"fullscreenchange",_t.is=function(){switch(this.prefix){case"":return t.fullScreen;case"webkit":return t.webkitIsFullScreen;default:return t[this.prefix+"FullScreen"]}},_t.request=function(e){return""===this.prefix?e.requestFullScreen():e[this.prefix+"RequestFullScreen"]()},_t.cancel=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+"CancelFullScreen"]()});var kt,St={lines:12,length:5,width:2,radius:7,corners:1,rotate:15,color:"rgba(128, 128, 128, .75)",hwaccel:!0},Tt={top:"auto",left:"auto",className:""};!function(e,t){kt=t()}(this,function(){function e(e,n){var s,i=t.createElement(e||"div");for(s in n)i[s]=n[s];return i}function n(e){for(var t=1,n=arguments.length;n>t;t++)e.appendChild(arguments[t]);return e}function s(e,t,n,s){var i=["opacity",t,~~(100*e),n,s].join("-"),o=.01+n/s*100,r=Math.max(1-(1-e)/t*(100-o),e),a=p.substring(0,p.indexOf("Animation")).toLowerCase(),l=a&&"-"+a+"-"||"";return h[i]||(m.insertRule("@"+l+"keyframes "+i+"{0%{opacity:"+r+"}"+o+"%{opacity:"+e+"}"+(o+.01)+"%{opacity:1}"+(o+t)%100+"%{opacity:"+e+"}100%{opacity:"+r+"}}",m.cssRules.length),h[i]=1),i}function o(e,t){var n,s,o=e.style;for(t=t.charAt(0).toUpperCase()+t.slice(1),s=0;s<f.length;s++)if(n=f[s]+t,o[n]!==i)return n;return o[t]!==i?t:void 0}function r(e,t){for(var n in t)e.style[o(e,n)||n]=t[n];return e}function a(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)e[s]===i&&(e[s]=n[s])}return e}function l(e){for(var t={x:e.offsetLeft,y:e.offsetTop};e=e.offsetParent;)t.x+=e.offsetLeft,t.y+=e.offsetTop;return t}function c(e,t){return"string"==typeof e?e:e[t%e.length]}function u(e){return"undefined"==typeof this?new u(e):void(this.opts=a(e||{},u.defaults,g))}function d(){function t(t,n){return e("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">',n)}m.addRule(".spin-vml","behavior:url(#default#VML)"),u.prototype.lines=function(e,s){function i(){return r(t("group",{coordsize:u+" "+u,coordorigin:-l+" "+-l}),{width:u,height:u})}function o(e,o,a){n(p,n(r(i(),{rotation:360/s.lines*e+"deg",left:~~o}),n(r(t("roundrect",{arcsize:s.corners}),{width:l,height:s.width,left:s.radius,top:-s.width>>1,filter:a}),t("fill",{color:c(s.color,e),opacity:s.opacity}),t("stroke",{opacity:0}))))}var a,l=s.length+s.width,u=2*l,d=2*-(s.width+s.length)+"px",p=r(i(),{position:"absolute",top:d,left:d});if(s.shadow)for(a=1;a<=s.lines;a++)o(a,-2,"progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)");for(a=1;a<=s.lines;a++)o(a);return n(e,p)},u.prototype.opacity=function(e,t,n,s){var i=e.firstChild;s=s.shadow&&s.lines||0,i&&t+s<i.childNodes.length&&(i=i.childNodes[t+s],i=i&&i.firstChild,i=i&&i.firstChild,i&&(i.opacity=n))}}var p,f=["webkit","Moz","ms","O"],h={},m=function(){var s=e("style",{type:"text/css"});return n(t.getElementsByTagName("head")[0],s),s.sheet||s.styleSheet}(),g={lines:12,length:7,width:5,radius:10,rotate:0,corners:1,color:"#000",direction:1,speed:1,trail:100,opacity:.25,fps:20,zIndex:2e9,className:"spinner",top:"auto",left:"auto",position:"relative"};u.defaults={},a(u.prototype,{spin:function(t){this.stop();var n,s,i=this,o=i.opts,a=i.el=r(e(0,{className:o.className}),{position:o.position,width:0,zIndex:o.zIndex}),c=o.radius+o.length+o.width;if(t&&(t.insertBefore(a,t.firstChild||null),s=l(t),n=l(a),r(a,{left:("auto"==o.left?s.x-n.x+(t.offsetWidth>>1):parseInt(o.left,10)+c)+"px",top:("auto"==o.top?s.y-n.y+(t.offsetHeight>>1):parseInt(o.top,10)+c)+"px"})),a.setAttribute("role","progressbar"),i.lines(a,i.opts),!p){var u,d=0,f=(o.lines-1)*(1-o.direction)/2,h=o.fps,m=h/o.speed,g=(1-o.opacity)/(m*o.trail/100),v=m/o.lines;!function e(){d++;for(var t=0;t<o.lines;t++)u=Math.max(1-(d+(o.lines-t)*v)%m*g,o.opacity),i.opacity(a,t*o.direction+f,u,o);i.timeout=i.el&&setTimeout(e,~~(1e3/h))}()}return i},stop:function(){var e=this.el;return e&&(clearTimeout(this.timeout),e.parentNode&&e.parentNode.removeChild(e),this.el=i),this},lines:function(t,i){function o(t,n){return r(e(),{position:"absolute",width:i.length+i.width+"px",height:i.width+"px",background:t,boxShadow:n,transformOrigin:"left",transform:"rotate("+~~(360/i.lines*l+i.rotate)+"deg) translate("+i.radius+"px,0)",borderRadius:(i.corners*i.width>>1)+"px"})}for(var a,l=0,u=(i.lines-1)*(1-i.direction)/2;l<i.lines;l++)a=r(e(),{position:"absolute",top:1+~(i.width/2)+"px",transform:i.hwaccel?"translate3d(0,0,0)":"",opacity:i.opacity,animation:p&&s(i.opacity,i.trail,u+l*i.direction,i.lines)+" "+1/i.speed+"s linear infinite"}),i.shadow&&n(a,r(o("#000","0 0 4px #000"),{top:"2px"})),n(t,n(a,o(c(i.color,l),"0 0 1px rgba(0,0,0,.1)")));return t},opacity:function(e,t,n){t<e.childNodes.length&&(e.childNodes[t].style.opacity=n)}});var v=r(e("group"),{behavior:"url(#default#VML)"});return!o(v,"transform")&&v.adj?d():p=o(v,"animation"),u});var Lt,At,It=s(e),Nt=s(t),Rt="quirks"===n.hash.replace("#",""),Pt=wt.csstransforms3d,Dt=Pt&&!Rt,Mt=Pt||"CSS1Compat"===t.compatMode,Ot=_t.ok,Ft=navigator.userAgent.match(/Android|webOS|iPhone|iPad|iPod|BlackBerry|Windows Phone/i),Ht=!Dt||Ft,Bt=navigator.msPointerEnabled,jt="onwheel"in t.createElement("div")?"wheel":t.onmousewheel!==i?"mousewheel":"DOMMouseScroll",qt=250,Ut=300,Vt=1400,zt=5e3,Wt=2,$t=64,Gt=500,Xt=333,Yt="$stageFrame",Kt="$navDotFrame",Zt="$navThumbFrame",Jt="auto",Qt=o([.1,0,.25,1]),en=99999,tn="50%",nn={width:null,minwidth:null,maxwidth:"100%",height:null,minheight:null,maxheight:null,ratio:null,margin:Wt,glimpse:0,fit:"contain",position:tn,thumbposition:tn,nav:"dots",navposition:"bottom",navwidth:null,thumbwidth:$t,thumbheight:$t,thumbmargin:Wt,thumbborderwidth:Wt,thumbfit:"cover",allowfullscreen:!1,transition:"slide",clicktransition:null,transitionduration:Ut,captions:!0,hash:!1,startindex:0,loop:!1,autoplay:!1,stopautoplayontouch:!0,keyboard:!1,arrows:!0,click:!0,swipe:!0,trackpad:!1,enableifsingleframe:!1,controlsonstart:!0,shuffle:!1,direction:"ltr",shadows:!0,spinner:null},sn={left:!0,right:!0,down:!1,up:!1,space:!1,home:!1,end:!1};R.stop=function(e){R.ii[e]=!1};var on,rn,an,ln;jQuery.Fotorama=function(e,i){function o(){s.each(kn,function(e,t){if(!t.i){t.i=fs++;var n=S(t.video,!0);if(n){var s={};t.video=n,t.img||t.thumb?t.thumbsReady=!0:s=T(t,kn,cs),L(kn,{img:s.img,thumb:s.thumb},t.i,cs)}}})}function r(e){return Jn[e]||cs.fullScreen}function l(e){var t="keydown."+le,n=le+us,s="keydown."+n,o="resize."+n+" orientationchange."+n;e?(Nt.on(s,function(e){var t,n;An&&27===e.keyCode?(t=!0,fn(An,!0,!0)):(cs.fullScreen||i.keyboard&&!cs.index)&&(27===e.keyCode?(t=!0,cs.cancelFullScreen()):e.shiftKey&&32===e.keyCode&&r("space")||37===e.keyCode&&r("left")||38===e.keyCode&&r("up")?n="<":32===e.keyCode&&r("space")||39===e.keyCode&&r("right")||40===e.keyCode&&r("down")?n=">":36===e.keyCode&&r("home")?n="<<":35===e.keyCode&&r("end")&&(n=">>")),(t||n)&&K(e),n&&cs.show({index:n,slow:e.altKey,user:!0})}),cs.index||Nt.off(t).on(t,"textarea, input, select",function(e){!At.hasClass(ce)&&e.stopPropagation()}),It.on(o,cs.resize)):(Nt.off(s),It.off(o))}function c(t){t!==c.f&&(t?(e.html("").addClass(le+" "+ds).append(vs).before(ms).before(gs),re(cs)):(vs.detach(),ms.detach(),gs.detach(),e.html(hs.urtext).removeClass(ds),ae(cs)),l(t),c.f=t)}function p(){kn=cs.data=kn||q(i.data)||A(e),Sn=cs.size=kn.length,!En.ok&&i.shuffle&&j(kn),o(),Os=E(Os),Sn&&c(!0)}function h(){var e=2>Sn&&!i.enableifsingleframe||An;Bs.noMove=e||Wn,Bs.noSwipe=e||!i.swipe,!Yn&&ys.toggleClass(Te,!i.click&&!Bs.noMove&&!Bs.noSwipe),Bt&&vs.toggleClass(be,!Bs.noSwipe)}function y(e){e===!0&&(e=""),i.autoplay=Math.max(+e||zt,1.5*Xn)}function w(){function e(e,n){t[e?"add":"remove"].push(n)}cs.options=i=V(i),Wn="crossfade"===i.transition||"dissolve"===i.transition,Bn=i.loop&&(Sn>2||Wn&&(!Yn||"slide"!==Yn)),Xn=+i.transitionduration||Ut,Zn="rtl"===i.direction,Jn=s.extend({},i.keyboard&&sn,i.keyboard);var t={add:[],remove:[]};Sn>1||i.enableifsingleframe?(jn=i.nav,Un="top"===i.navposition,t.remove.push(Ye),xs.toggle(!!i.arrows)):(jn=!1,xs.hide()),Ve(),Ln=new kt(s.extend(St,i.spinner,Tt,{direction:Zn?-1:1})),Rt(),Pt(),i.autoplay&&y(i.autoplay),$n=f(i.thumbwidth)||$t,Gn=f(i.thumbheight)||$t,js.ok=Us.ok=i.trackpad&&!Ht,h(),on(i,[Hs]),qn="thumbs"===jn,qn?(dt(Sn,"navThumb"),Tn=Ls,ls=Zt,M(ms,s.Fotorama.jst.style({w:$n,h:Gn,b:i.thumbborderwidth,m:i.thumbmargin,s:us,q:!Mt})),ks.addClass(Fe).removeClass(Oe)):"dots"===jn?(dt(Sn,"navDot"),Tn=Ts,ls=Kt,ks.addClass(Oe).removeClass(Fe)):(jn=!1,ks.removeClass(Fe+" "+Oe)),jn&&(Un?Es.insertBefore(bs):Es.insertAfter(bs),Ct.nav=!1,Ct(Tn,Ss,"nav")),Vn=i.allowfullscreen,Vn?(Is.prependTo(bs),zn=Ot&&"native"===Vn):(Is.detach(),zn=!1),e(Wn,he),e(!Wn,me),e(!i.captions,_e),e(Zn,ye),e("always"!==i.arrows,Ce),Kn=i.shadows&&!Ht,e(!Kn,ve),vs.addClass(t.add.join(" ")).removeClass(t.remove.join(" ")),Fs=s.extend({},i)}function x(e){return 0>e?(Sn+e%Sn)%Sn:e>=Sn?e%Sn:e}function E(e){return a(e,0,Sn-1)}function k(e){return Bn?x(e):E(e)}function I(e){return!!(e>0||Bn)&&e-1}function $(e){return!!(Sn-1>e||Bn)&&e+1}function J(){Bs.min=Bn?-1/0:-v(Sn-1,Hs.w,i.margin,Rn),Bs.max=Bn?1/0:-v(0,Hs.w,i.margin,Rn),Bs.snap=Hs.w+i.margin}function te(){qs.min=Math.min(0,Hs.nw-Ss.width()),qs.max=0,Ss.toggleClass(Te,!(qs.noMove=qs.min===qs.max))}function ne(e,t,n){if("number"==typeof e){e=new Array(e);var i=!0}return s.each(e,function(e,s){if(i&&(s=e),"number"==typeof s){var o=kn[x(s)];if(o){var r="$"+t+"Frame",a=o[r];n.call(this,e,s,o,a,r,a&&a.data())}}})}function oe(e,t,n,s){(!Qn||"*"===Qn&&s===Hn)&&(e=g(i.width)||g(e)||Gt,t=g(i.height)||g(t)||Xt,cs.resize({width:e,ratio:i.ratio||n||e/t},0,s!==Hn&&"*"))}function qe(e,t,n,o,r,a){ne(e,t,function(e,l,c,u,d,p){function f(e){var t=x(l);rn(e,{index:t,src:C,frame:kn[t]})}function h(){y.remove(),s.Fotorama.cache[C]="error",c.html&&"stage"===t||!E||E===C?(!C||c.html||v?"stage"===t&&(u.trigger("f:load").removeClass(et+" "+Qe).addClass(tt),f("load"),oe()):(u.trigger("f:error").removeClass(et).addClass(Qe),f("error")),p.state="error",!(Sn>1&&kn[l]===c)||c.html||c.deleted||c.video||v||(c.deleted=!0,cs.splice(l,1))):(c[_]=C=E,qe([l],t,n,o,r,!0))}function m(){s.Fotorama.measures[C]=w.measures=s.Fotorama.measures[C]||{width:b.width,height:b.height,ratio:b.width/b.height},oe(w.measures.width,w.measures.height,w.measures.ratio,l),y.off("load error").addClass(ot+(v?" "+rt:"")).prependTo(u),D(y,(s.isFunction(n)?n():n)||Hs,o||c.fit||i.fit,r||c.position||i.position),s.Fotorama.cache[C]=p.state="loaded",setTimeout(function(){u.trigger("f:load").removeClass(et+" "+Qe).addClass(tt+" "+(v?nt:st)),"stage"===t?f("load"):(c.thumbratio===Jt||!c.thumbratio&&i.thumbratio===Jt)&&(c.thumbratio=w.measures.ratio,Cn())},0)}function g(){var e=10;R(function(){return!rs||!e--&&!Ht},function(){m()})}if(u){var v=cs.fullScreen&&c.full&&c.full!==c.img&&!p.$full&&"stage"===t;if(!p.$img||a||v){var b=new Image,y=s(b),w=y.data();p[v?"$full":"$img"]=y;var _="stage"===t?v?"full":"img":"thumb",C=c[_],E=v?null:c["stage"===t?"thumb":"img"];if("navThumb"===t&&(u=p.$wrap),!C)return void h();s.Fotorama.cache[C]?!function e(){"error"===s.Fotorama.cache[C]?h():"loaded"===s.Fotorama.cache[C]?setTimeout(g,0):setTimeout(e,100)}():(s.Fotorama.cache[C]="*",y.on("load",g).on("error",h)),p.state="",b.src=C}}})}function Ue(e){Ms.append(Ln.spin().el).appendTo(e)}function Ve(){Ms.detach(),Ln&&Ln.stop()}function ze(){var e=In[Yt];e&&!e.data().state&&(Ue(e),e.on("f:load f:error",function(){e.off("f:load f:error"),Ve()}))}function it(e){X(e,yn),Y(e,function(){setTimeout(function(){U(ks)},0),Vt({time:Xn,guessIndex:s(this).data().eq,minMax:qs})})}function dt(e,t){ne(e,t,function(e,n,i,o,r,a){if(!o){o=i[r]=vs[r].clone(),a=o.data(),a.data=i;var l=o[0];"stage"===t?(i.html&&s('<div class="'+ut+'"></div>').append(i._html?s(i.html).removeAttr("id").html(i._html):i.html).appendTo(o),i.caption&&s(B(ht,B(mt,i.caption))).appendTo(o),i.video&&o.addClass(ke).append(Rs.clone()),Y(l,function(){setTimeout(function(){U(bs)},0),gn({index:a.eq,user:!0})}),ws=ws.add(o)):"navDot"===t?(it(l),Ts=Ts.add(o)):"navThumb"===t&&(it(l),a.$wrap=o.children(":first"),Ls=Ls.add(o),i.video&&a.$wrap.append(Rs.clone()))}})}function bt(e,t,n,s){return e&&e.length&&D(e,t,n,s)}function yt(e){ne(e,"stage",function(e,t,n,o,r,a){if(o){var l=x(t),c=n.fit||i.fit,u=n.position||i.position;a.eq=l,zs[Yt][l]=o.css(s.extend({left:Wn?0:v(t,Hs.w,i.margin,Rn)},Wn&&d(0))),N(o[0])&&(o.appendTo(ys),fn(n.$video)),bt(a.$img,Hs,c,u),bt(a.$full,Hs,c,u)}})}function wt(e,t){if("thumbs"===jn&&!isNaN(e)){var n=-e,o=-e+Hs.nw;Ls.each(function(){var e=s(this),r=e.data(),a=r.eq,l=function(){return{h:Gn,w:r.w}},c=l(),u=kn[a]||{},d=u.thumbfit||i.thumbfit,p=u.thumbposition||i.thumbposition;c.w=r.w,r.l+r.w<n||r.l>o||bt(r.$img,c,d,p)||t&&qe([a],"navThumb",l,d,p)})}}function Ct(e,t,n){if(!Ct[n]){var o="nav"===n&&qn,r=0;t.append(e.filter(function(){for(var e,t=s(this),n=t.data(),i=0,o=kn.length;o>i;i++)if(n.data===kn[i]){e=!0,n.eq=i;break}return e||t.remove()&&!1}).sort(function(e,t){return s(e).data().eq-s(t).data().eq}).each(function(){if(o){var e=s(this),t=e.data(),n=Math.round(Gn*t.data.thumbratio)||$n;t.l=r,t.w=n,e.css({width:n}),r+=n+i.thumbmargin}})),Ct[n]=!0}}function xt(e){return e-Ws>Hs.w/3}function Et(e){return!(Bn||Os+e&&Os-Sn+e||An)}function Rt(){var e=Et(0),t=Et(1);_s.toggleClass(Ie,e).attr(G(e)),Cs.toggleClass(Ie,t).attr(G(t))}function Pt(){js.ok&&(js.prevent={"<":Et(0),">":Et(1)})}function Ft(e){var t,n,s=e.data();return qn?(t=s.l,n=s.w):(t=e.position().left,n=e.width()),{c:t+n/2,min:-t+10*i.thumbmargin,max:-t+Hs.w-n-10*i.thumbmargin}}function jt(e){var t=In[ls].data();Q(As,{time:1.2*e,pos:t.l,width:t.w-2*i.thumbborderwidth})}function Vt(e){var t=kn[e.guessIndex][ls];if(t){var n=qs.min!==qs.max,s=e.minMax||n&&Ft(In[ls]),i=n&&(e.keep&&Vt.l?Vt.l:a((e.coo||Hs.nw/2)-Ft(t).c,s.min,s.max)),o=n&&a(i,qs.min,qs.max),r=1.1*e.time;Q(Ss,{time:r,pos:o||0,onEnd:function(){wt(o,!0)}}),pn(ks,O(o,qs.min,qs.max)),Vt.l=i}}function Wt(){Qt(ls),Vs[ls].push(In[ls].addClass(Xe))}function Qt(e){for(var t=Vs[e];t.length;)t.shift().removeClass(Xe)}function tn(e){var t=zs[e];s.each(Nn,function(e,n){delete t[x(n)]}),s.each(t,function(e,n){delete t[e],n.detach()})}function nn(e){Rn=Pn=Os;var t=In[Yt];t&&(Qt(Yt),Vs[Yt].push(t.addClass(Xe)),e||cs.show.onEnd(!0),_(ys,0,!0),tn(Yt),yt(Nn),J(),te())}function on(e,t){e&&s.each(t,function(t,n){n&&s.extend(n,{width:e.width||n.width,height:e.height,minwidth:e.minwidth,maxwidth:e.maxwidth,minheight:e.minheight,maxheight:e.maxheight,ratio:z(e.ratio)})})}function rn(t,n){e.trigger(le+":"+t,[cs,n])}function an(){clearTimeout(ln.t),rs=1,i.stopautoplayontouch?cs.stopAutoplay():ss=!0}function ln(){rs&&(i.stopautoplayontouch||(cn(),un()),ln.t=setTimeout(function(){rs=0},Ut+qt))}function cn(){ss=!(!An&&!is)}function un(){if(clearTimeout(un.t),R.stop(un.w),!i.autoplay||ss)return void(cs.autoplay&&(cs.autoplay=!1,rn("stopautoplay")));cs.autoplay||(cs.autoplay=!0,rn("startautoplay"));var e=Os,t=In[Yt].data();un.w=R(function(){return t.state||e!==Os},function(){un.t=setTimeout(function(){if(!ss&&e===Os){var t=Fn,n=kn[t][Yt].data();un.w=R(function(){return n.state||t!==Fn},function(){ss||t!==Fn||cs.show(Bn?Z(!Zn):Fn)})}},i.autoplay)})}function dn(){cs.fullScreen&&(cs.fullScreen=!1,Ot&&_t.cancel(ps),At.removeClass(ce),Lt.removeClass(ce),e.removeClass(Ze).insertAfter(gs),Hs=s.extend({},os),fn(An,!0,!0),bn("x",!1),cs.resize(),qe(Nn,"stage"),U(It,ts,es),rn("fullscreenexit"))}function pn(e,t){Kn&&(e.removeClass($e+" "+Ge),t&&!An&&e.addClass(t.replace(/^|\s/g," "+We+"--")))}function fn(e,t,n){t&&(vs.removeClass(fe),An=!1,h()),e&&e!==An&&(e.remove(),rn("unloadvideo")),n&&(cn(),un())}function hn(e){vs.toggleClass(ge,e)}function mn(e){if(!Bs.flow){var t=e?e.pageX:mn.x,n=t&&!Et(xt(t))&&i.click;mn.p!==n&&bs.toggleClass(Le,n)&&(mn.p=n,mn.x=t)}}function gn(e){clearTimeout(gn.t),i.clicktransition&&i.clicktransition!==i.transition?setTimeout(function(){var t=i.transition;cs.setOptions({transition:i.clicktransition}),Yn=t,gn.t=setTimeout(function(){cs.show(e)},10)},0):cs.show(e)}function vn(e,t){var n=e.target,o=s(n);o.hasClass(pt)?cs.playVideo():n===Ns?cs.toggleFullScreen():An?n===Ds&&fn(An,!0,!0):t?hn():i.click&&gn({index:e.shiftKey||Z(xt(e._x)),slow:e.altKey,user:!0})}function bn(e,t){Bs[e]=qs[e]=t}function yn(e){var t=s(this).data().eq;gn({index:t,slow:e.altKey,user:!0,coo:e._x-ks.offset().left})}function wn(e){gn({index:xs.index(this)?">":"<",slow:e.altKey,user:!0})}function _n(e){Y(e,function(){setTimeout(function(){U(bs)},0),hn(!1)})}function Cn(){if(p(),w(),!Cn.i){Cn.i=!0;var e=i.startindex;(e||i.hash&&n.hash)&&(Hn=F(e||n.hash.replace(/^#/,""),kn,0===cs.index||e,e)),Os=Rn=Pn=Dn=Hn=k(Hn)||0}if(Sn){if(xn())return;An&&fn(An,!0),Nn=[],tn(Yt),Cn.ok=!0,cs.show({index:Os,time:0}),cs.resize()}else cs.destroy()}function xn(){return!xn.f===Zn?(xn.f=Zn,Os=Sn-1-Os,cs.reverse(),!0):void 0}function En(){En.ok||(En.ok=!0,rn("ready"))}Lt=s("html"),At=s("body");var kn,Sn,Tn,Ln,An,In,Nn,Rn,Pn,Dn,Mn,On,Fn,Hn,Bn,jn,qn,Un,Vn,zn,Wn,$n,Gn,Xn,Yn,Kn,Zn,Jn,Qn,es,ts,ns,ss,is,os,rs,as,ls,cs=this,us=s.now(),ds=le+us,ps=e[0],fs=1,hs=e.data(),ms=s("<style></style>"),gs=s(B(Ke)),vs=s(B(ue)),bs=s(B(xe)).appendTo(vs),ys=(bs[0],s(B(Se)).appendTo(bs)),ws=s(),_s=s(B(Ae+" "+Ne+vt)),Cs=s(B(Ae+" "+Re+vt)),xs=_s.add(Cs).appendTo(bs),Es=s(B(De)),ks=s(B(Pe)).appendTo(Es),Ss=s(B(Me)).appendTo(ks),Ts=s(),Ls=s(),As=(ys.data(),
+Ss.data(),s(B(ct)).appendTo(Ss)),Is=s(B(Je+vt)),Ns=Is[0],Rs=s(B(pt)),Ps=s(B(ft)).appendTo(bs),Ds=Ps[0],Ms=s(B(gt)),Os=!1,Fs={},Hs={},Bs={},js={},qs={},Us={},Vs={},zs={},Ws=0,$s=[];vs[Yt]=s(B(Ee)),vs[Zt]=s(B(He+" "+je+vt,B(lt))),vs[Kt]=s(B(He+" "+Be+vt,B(at))),Vs[Yt]=[],Vs[Zt]=[],Vs[Kt]=[],zs[Yt]={},vs.addClass(Dt?pe:de).toggleClass(ge,!i.controlsonstart),hs.fotorama=this,cs.startAutoplay=function(e){return cs.autoplay?this:(ss=is=!1,y(e||i.autoplay),un(),this)},cs.stopAutoplay=function(){return cs.autoplay&&(ss=is=!0,un()),this},cs.show=function(e){var t;"object"!=typeof e?(t=e,e={}):t=e.index,t=">"===t?Pn+1:"<"===t?Pn-1:"<<"===t?0:">>"===t?Sn-1:t,t=isNaN(t)?F(t,kn,!0):t,t="undefined"==typeof t?Os||0:t,cs.activeIndex=Os=k(t),Mn=I(Os),On=$(Os),Fn=x(Os+(Zn?-1:1)),Nn=[Os,Mn,On],Pn=Bn?t:Os;var n=Math.abs(Dn-Pn),s=C(e.time,function(){return Math.min(Xn*(1+(n-1)/12),2*Xn)}),o=e.overPos;e.slow&&(s*=10);var r=In;cs.activeFrame=In=kn[Os];var l=r===In&&!e.user;fn(An,In.i!==kn[x(Rn)].i),dt(Nn,"stage"),yt(Ht?[Pn]:[Pn,I(Pn),$(Pn)]),bn("go",!0),l||rn("show",{user:e.user,time:s}),ss=!0;var c=cs.show.onEnd=function(t){if(!c.ok){if(c.ok=!0,t||nn(!0),l||rn("showend",{user:e.user}),!t&&Yn&&Yn!==i.transition)return cs.setOptions({transition:Yn}),void(Yn=!1);ze(),qe(Nn,"stage"),bn("go",!1),Pt(),mn(),cn(),un()}};if(Wn){var u=In[Yt],d=Os!==Dn?kn[Dn][Yt]:null;ee(u,d,ws,{time:s,method:i.transition,onEnd:c},$s)}else Q(ys,{pos:-v(Pn,Hs.w,i.margin,Rn),overPos:o,time:s,onEnd:c});if(Rt(),jn){Wt();var p=E(Os+a(Pn-Dn,-1,1));Vt({time:s,coo:p!==Os&&e.coo,guessIndex:"undefined"!=typeof e.coo?p:Os,keep:l}),qn&&jt(s)}return ns="undefined"!=typeof Dn&&Dn!==Os,Dn=Os,i.hash&&ns&&!cs.eq&&P(In.id||Os+1),this},cs.requestFullScreen=function(){return Vn&&!cs.fullScreen&&(es=It.scrollTop(),ts=It.scrollLeft(),U(It),bn("x",!0),os=s.extend({},Hs),e.addClass(Ze).appendTo(At.addClass(ce)),Lt.addClass(ce),fn(An,!0,!0),cs.fullScreen=!0,zn&&_t.request(ps),cs.resize(),qe(Nn,"stage"),ze(),rn("fullscreenenter")),this},cs.cancelFullScreen=function(){return zn&&_t.is()?_t.cancel(t):dn(),this},cs.toggleFullScreen=function(){return cs[(cs.fullScreen?"cancel":"request")+"FullScreen"]()},W(t,_t.event,function(){!kn||_t.is()||An||dn()}),cs.resize=function(e){if(!kn)return this;var t=arguments[1]||0,n=arguments[2];on(cs.fullScreen?{width:"100%",maxwidth:null,minwidth:null,height:"100%",maxheight:null,minheight:null}:V(e),[Hs,n||cs.fullScreen||i]);var s=Hs.width,o=Hs.height,r=Hs.ratio,l=It.height()-(jn?ks.height():0);return g(s)&&(vs.addClass(we).css({width:s,minWidth:Hs.minwidth||0,maxWidth:Hs.maxwidth||en}),s=Hs.W=Hs.w=vs.width(),Hs.nw=jn&&m(i.navwidth,s)||s,i.glimpse&&(Hs.w-=Math.round(2*(m(i.glimpse,s)||0))),ys.css({width:Hs.w,marginLeft:(Hs.W-Hs.w)/2}),o=m(o,l),o=o||r&&s/r,o&&(s=Math.round(s),o=Hs.h=Math.round(a(o,m(Hs.minheight,l),m(Hs.maxheight,l))),bs.stop().animate({width:s,height:o},t,function(){vs.removeClass(we)}),nn(),jn&&(ks.stop().animate({width:Hs.nw},t),Vt({guessIndex:Os,time:t,keep:!0}),qn&&Ct.nav&&jt(t)),Qn=n||!0,En())),Ws=bs.offset().left,this},cs.setOptions=function(e){return s.extend(i,e),Cn(),this},cs.shuffle=function(){return kn&&j(kn)&&Cn(),this},cs.destroy=function(){return cs.cancelFullScreen(),cs.stopAutoplay(),kn=cs.data=null,c(),Nn=[],tn(Yt),Cn.ok=!1,this},cs.playVideo=function(){var e=In,t=e.video,n=Os;return"object"==typeof t&&e.videoReady&&(zn&&cs.fullScreen&&cs.cancelFullScreen(),R(function(){return!_t.is()||n!==Os},function(){n===Os&&(e.$video=e.$video||s(s.Fotorama.jst.video(t)),e.$video.appendTo(e[Yt]),vs.addClass(fe),An=e.$video,h(),xs.blur(),Is.blur(),rn("loadvideo"))})),this},cs.stopVideo=function(){return fn(An,!0,!0),this},bs.on("mousemove",mn),Bs=se(ys,{onStart:an,onMove:function(e,t){pn(bs,t.edge)},onTouchEnd:ln,onEnd:function(e){pn(bs);var t=(Bt&&!as||e.touch)&&i.arrows&&"always"!==i.arrows;if(e.moved||t&&e.pos!==e.newPos&&!e.control){var n=b(e.newPos,Hs.w,i.margin,Rn);cs.show({index:n,time:Wn?Xn:e.time,overPos:e.overPos,user:!0})}else e.aborted||e.control||vn(e.startEvent,t)},timeLow:1,timeHigh:1,friction:2,select:"."+Ye+", ."+Ye+" *",$wrap:bs}),qs=se(Ss,{onStart:an,onMove:function(e,t){pn(ks,t.edge)},onTouchEnd:ln,onEnd:function(e){function t(){Vt.l=e.newPos,cn(),un(),wt(e.newPos,!0)}if(e.moved)e.pos!==e.newPos?(ss=!0,Q(Ss,{time:e.time,pos:e.newPos,overPos:e.overPos,onEnd:t}),wt(e.newPos),Kn&&pn(ks,O(e.newPos,qs.min,qs.max))):t();else{var n=e.$target.closest("."+He,Ss)[0];n&&yn.call(n,e.startEvent)}},timeLow:.5,timeHigh:2,friction:5,$wrap:ks}),js=ie(bs,{shift:!0,onEnd:function(e,t){an(),ln(),cs.show({index:t,slow:e.altKey})}}),Us=ie(ks,{onEnd:function(e,t){an(),ln();var n=_(Ss)+.25*t;Ss.css(u(a(n,qs.min,qs.max))),Kn&&pn(ks,O(n,qs.min,qs.max)),Us.prevent={"<":n>=qs.max,">":n<=qs.min},clearTimeout(Us.t),Us.t=setTimeout(function(){Vt.l=n,wt(n,!0)},qt),wt(n)}}),vs.hover(function(){setTimeout(function(){rs||hn(!(as=!0))},0)},function(){as&&hn(!(as=!1))}),H(xs,function(e){K(e),wn.call(this,e)},{onStart:function(){an(),Bs.control=!0},onTouchEnd:ln}),xs.each(function(){X(this,function(e){wn.call(this,e)}),_n(this)}),X(Ns,cs.toggleFullScreen),_n(Ns),s.each("load push pop shift unshift reverse sort splice".split(" "),function(e,t){cs[t]=function(){return kn=kn||[],"load"!==t?Array.prototype[t].apply(kn,arguments):arguments[0]&&"object"==typeof arguments[0]&&arguments[0].length&&(kn=q(arguments[0])),Cn(),cs}}),Cn()},s.fn.fotorama=function(t){return this.each(function(){var n=this,i=s(this),o=i.data(),r=o.fotorama;r?r.setOptions(t,!0):R(function(){return!I(n)},function(){o.urtext=i.html(),new s.Fotorama(i,s.extend({},nn,e.fotoramaDefaults,t,o))})})},s.Fotorama.instances=[],s.Fotorama.cache={},s.Fotorama.measures={},s=s||{},s.Fotorama=s.Fotorama||{},s.Fotorama.jst=s.Fotorama.jst||{},s.Fotorama.jst.style=function(e){var t,n="";return yt.escape,n+=".fotorama"+(null==(t=e.s)?"":t)+" .fotorama__nav--thumbs .fotorama__nav__frame{\npadding:"+(null==(t=e.m)?"":t)+"px;\nheight:"+(null==(t=e.h)?"":t)+"px}\n.fotorama"+(null==(t=e.s)?"":t)+" .fotorama__thumb-border{\nheight:"+(null==(t=e.h-e.b*(e.q?0:2))?"":t)+"px;\nborder-width:"+(null==(t=e.b)?"":t)+"px;\nmargin-top:"+(null==(t=e.m)?"":t)+"px}"},s.Fotorama.jst.video=function(e){function t(){n+=s.call(arguments,"")}var n="",s=(yt.escape,Array.prototype.join);return n+='<div class="fotorama__video"><iframe src="',t(("youtube"==e.type?e.p+"youtube.com/embed/"+e.id+"?autoplay=1":"vimeo"==e.type?e.p+"player.vimeo.com/video/"+e.id+"?autoplay=1&badge=0":e.id)+(e.s&&"custom"!=e.type?"&"+e.s:"")),n+='" frameborder="0" allowfullscreen></iframe></div>\n'},s(function(){s("."+le+':not([data-auto="false"])').fotorama()})}(window,document,location,"undefined"!=typeof jQuery&&jQuery)},function(e,t,n){var s,i,o;/*!
+	 * jQuery Validation Plugin v1.17.0
+	 *
+	 * https://jqueryvalidation.org/
+	 *
+	 * Copyright (c) 2017 Jörn Zaefferer
+	 * Released under the MIT license
+	 */
+!function(r){i=[n(1)],s=r,o="function"==typeof s?s.apply(t,i):s,!(void 0!==o&&(e.exports=o))}(function(e){e.extend(e.fn,{validate:function(t){if(!this.length)return void(t&&t.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var n=e.data(this[0],"validator");return n?n:(this.attr("novalidate","novalidate"),n=new e.validator(t,this[0]),e.data(this[0],"validator",n),n.settings.onsubmit&&(this.on("click.validate",":submit",function(t){n.submitButton=t.currentTarget,e(this).hasClass("cancel")&&(n.cancelSubmit=!0),void 0!==e(this).attr("formnovalidate")&&(n.cancelSubmit=!0)}),this.on("submit.validate",function(t){function s(){var s,i;return n.submitButton&&(n.settings.submitHandler||n.formSubmitted)&&(s=e("<input type='hidden'/>").attr("name",n.submitButton.name).val(e(n.submitButton).val()).appendTo(n.currentForm)),!n.settings.submitHandler||(i=n.settings.submitHandler.call(n,n.currentForm,t),s&&s.remove(),void 0!==i&&i)}return n.settings.debug&&t.preventDefault(),n.cancelSubmit?(n.cancelSubmit=!1,s()):n.form()?n.pendingRequest?(n.formSubmitted=!0,!1):s():(n.focusInvalid(),!1)})),n)},valid:function(){var t,n,s;return e(this[0]).is("form")?t=this.validate().form():(s=[],t=!0,n=e(this[0].form).validate(),this.each(function(){t=n.element(this)&&t,t||(s=s.concat(n.errorList))}),n.errorList=s),t},rules:function(t,n){var s,i,o,r,a,l,c=this[0];if(null!=c&&(!c.form&&c.hasAttribute("contenteditable")&&(c.form=this.closest("form")[0],c.name=this.attr("name")),null!=c.form)){if(t)switch(s=e.data(c.form,"validator").settings,i=s.rules,o=e.validator.staticRules(c),t){case"add":e.extend(o,e.validator.normalizeRule(n)),delete o.messages,i[c.name]=o,n.messages&&(s.messages[c.name]=e.extend(s.messages[c.name],n.messages));break;case"remove":return n?(l={},e.each(n.split(/\s/),function(e,t){l[t]=o[t],delete o[t]}),l):(delete i[c.name],o)}return r=e.validator.normalizeRules(e.extend({},e.validator.classRules(c),e.validator.attributeRules(c),e.validator.dataRules(c),e.validator.staticRules(c)),c),r.required&&(a=r.required,delete r.required,r=e.extend({required:a},r)),r.remote&&(a=r.remote,delete r.remote,r=e.extend(r,{remote:a})),r}}}),e.extend(e.expr.pseudos||e.expr[":"],{blank:function(t){return!e.trim(""+e(t).val())},filled:function(t){var n=e(t).val();return null!==n&&!!e.trim(""+n)},unchecked:function(t){return!e(t).prop("checked")}}),e.validator=function(t,n){this.settings=e.extend(!0,{},e.validator.defaults,t),this.currentForm=n,this.init()},e.validator.format=function(t,n){return 1===arguments.length?function(){var n=e.makeArray(arguments);return n.unshift(t),e.validator.format.apply(this,n)}:void 0===n?t:(arguments.length>2&&n.constructor!==Array&&(n=e.makeArray(arguments).slice(1)),n.constructor!==Array&&(n=[n]),e.each(n,function(e,n){t=t.replace(new RegExp("\\{"+e+"\\}","g"),function(){return n})}),t)},e.extend(e.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",pendingClass:"pending",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:e([]),errorLabelContainer:e([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(e){this.lastActive=e,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,e,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(e)))},onfocusout:function(e){this.checkable(e)||!(e.name in this.submitted)&&this.optional(e)||this.element(e)},onkeyup:function(t,n){var s=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===n.which&&""===this.elementValue(t)||e.inArray(n.keyCode,s)!==-1||(t.name in this.submitted||t.name in this.invalid)&&this.element(t)},onclick:function(e){e.name in this.submitted?this.element(e):e.parentNode.name in this.submitted&&this.element(e.parentNode)},highlight:function(t,n,s){"radio"===t.type?this.findByName(t.name).addClass(n).removeClass(s):e(t).addClass(n).removeClass(s)},unhighlight:function(t,n,s){"radio"===t.type?this.findByName(t.name).removeClass(n).addClass(s):e(t).removeClass(n).addClass(s)}},setDefaults:function(t){e.extend(e.validator.defaults,t)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",equalTo:"Please enter the same value again.",maxlength:e.validator.format("Please enter no more than {0} characters."),minlength:e.validator.format("Please enter at least {0} characters."),rangelength:e.validator.format("Please enter a value between {0} and {1} characters long."),range:e.validator.format("Please enter a value between {0} and {1}."),max:e.validator.format("Please enter a value less than or equal to {0}."),min:e.validator.format("Please enter a value greater than or equal to {0}."),step:e.validator.format("Please enter a multiple of {0}.")},autoCreateRanges:!1,prototype:{init:function(){function t(t){!this.form&&this.hasAttribute("contenteditable")&&(this.form=e(this).closest("form")[0],this.name=e(this).attr("name"));var n=e.data(this.form,"validator"),s="on"+t.type.replace(/^validate/,""),i=n.settings;i[s]&&!e(this).is(i.ignore)&&i[s].call(n,this,t)}this.labelContainer=e(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||e(this.currentForm),this.containers=e(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var n,s=this.groups={};e.each(this.settings.groups,function(t,n){"string"==typeof n&&(n=n.split(/\s/)),e.each(n,function(e,n){s[n]=t})}),n=this.settings.rules,e.each(n,function(t,s){n[t]=e.validator.normalizeRule(s)}),e(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox'], [contenteditable], [type='button']",t).on("click.validate","select, option, [type='radio'], [type='checkbox']",t),this.settings.invalidHandler&&e(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler)},form:function(){return this.checkForm(),e.extend(this.submitted,this.errorMap),this.invalid=e.extend({},this.errorMap),this.valid()||e(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var e=0,t=this.currentElements=this.elements();t[e];e++)this.check(t[e]);return this.valid()},element:function(t){var n,s,i=this.clean(t),o=this.validationTargetFor(i),r=this,a=!0;return void 0===o?delete this.invalid[i.name]:(this.prepareElement(o),this.currentElements=e(o),s=this.groups[o.name],s&&e.each(this.groups,function(e,t){t===s&&e!==o.name&&(i=r.validationTargetFor(r.clean(r.findByName(e))),i&&i.name in r.invalid&&(r.currentElements.push(i),a=r.check(i)&&a))}),n=this.check(o)!==!1,a=a&&n,n?this.invalid[o.name]=!1:this.invalid[o.name]=!0,this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e(t).attr("aria-invalid",!n)),a},showErrors:function(t){if(t){var n=this;e.extend(this.errorMap,t),this.errorList=e.map(this.errorMap,function(e,t){return{message:e,element:n.findByName(t)[0]}}),this.successList=e.grep(this.successList,function(e){return!(e.name in t)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){e.fn.resetForm&&e(this.currentForm).resetForm(),this.invalid={},this.submitted={},this.prepareForm(),this.hideErrors();var t=this.elements().removeData("previousValue").removeAttr("aria-invalid");this.resetElements(t)},resetElements:function(e){var t;if(this.settings.unhighlight)for(t=0;e[t];t++)this.settings.unhighlight.call(this,e[t],this.settings.errorClass,""),this.findByName(e[t].name).removeClass(this.settings.validClass);else e.removeClass(this.settings.errorClass).removeClass(this.settings.validClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(e){var t,n=0;for(t in e)void 0!==e[t]&&null!==e[t]&&e[t]!==!1&&n++;return n},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(e){e.not(this.containers).text(""),this.addWrapper(e).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{e(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(e){}},findLastActive:function(){var t=this.lastActive;return t&&1===e.grep(this.errorList,function(e){return e.element.name===t.name}).length&&t},elements:function(){var t=this,n={};return e(this.currentForm).find("input, select, textarea, [contenteditable]").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){var s=this.name||e(this).attr("name");return!s&&t.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.hasAttribute("contenteditable")&&(this.form=e(this).closest("form")[0],this.name=s),!(s in n||!t.objectLength(e(this).rules()))&&(n[s]=!0,!0)})},clean:function(t){return e(t)[0]},errors:function(){var t=this.settings.errorClass.split(" ").join(".");return e(this.settings.errorElement+"."+t,this.errorContext)},resetInternals:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=e([]),this.toHide=e([])},reset:function(){this.resetInternals(),this.currentElements=e([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(e){this.reset(),this.toHide=this.errorsFor(e)},elementValue:function(t){var n,s,i=e(t),o=t.type;return"radio"===o||"checkbox"===o?this.findByName(t.name).filter(":checked").val():"number"===o&&"undefined"!=typeof t.validity?t.validity.badInput?"NaN":i.val():(n=t.hasAttribute("contenteditable")?i.text():i.val(),"file"===o?"C:\\fakepath\\"===n.substr(0,12)?n.substr(12):(s=n.lastIndexOf("/"),s>=0?n.substr(s+1):(s=n.lastIndexOf("\\"),s>=0?n.substr(s+1):n)):"string"==typeof n?n.replace(/\r/g,""):n)},check:function(t){t=this.validationTargetFor(this.clean(t));var n,s,i,o,r=e(t).rules(),a=e.map(r,function(e,t){return t}).length,l=!1,c=this.elementValue(t);if("function"==typeof r.normalizer?o=r.normalizer:"function"==typeof this.settings.normalizer&&(o=this.settings.normalizer),o){if(c=o.call(t,c),"string"!=typeof c)throw new TypeError("The normalizer should return a string value.");delete r.normalizer}for(s in r){i={method:s,parameters:r[s]};try{if(n=e.validator.methods[s].call(this,c,t,i.parameters),"dependency-mismatch"===n&&1===a){l=!0;continue}if(l=!1,"pending"===n)return void(this.toHide=this.toHide.not(this.errorsFor(t)));if(!n)return this.formatAndAdd(t,i),!1}catch(e){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+t.id+", check the '"+i.method+"' method.",e),e instanceof TypeError&&(e.message+=".  Exception occurred when checking element "+t.id+", check the '"+i.method+"' method."),e}}if(!l)return this.objectLength(r)&&this.successList.push(t),!0},customDataMessage:function(t,n){return e(t).data("msg"+n.charAt(0).toUpperCase()+n.substring(1).toLowerCase())||e(t).data("msg")},customMessage:function(e,t){var n=this.settings.messages[e];return n&&(n.constructor===String?n:n[t])},findDefined:function(){for(var e=0;e<arguments.length;e++)if(void 0!==arguments[e])return arguments[e]},defaultMessage:function(t,n){"string"==typeof n&&(n={method:n});var s=this.findDefined(this.customMessage(t.name,n.method),this.customDataMessage(t,n.method),!this.settings.ignoreTitle&&t.title||void 0,e.validator.messages[n.method],"<strong>Warning: No message defined for "+t.name+"</strong>"),i=/\$?\{(\d+)\}/g;return"function"==typeof s?s=s.call(this,n.parameters,t):i.test(s)&&(s=e.validator.format(s.replace(i,"{$1}"),n.parameters)),s},formatAndAdd:function(e,t){var n=this.defaultMessage(e,t);this.errorList.push({message:n,element:e,method:t.method}),this.errorMap[e.name]=n,this.submitted[e.name]=n},addWrapper:function(e){return this.settings.wrapper&&(e=e.add(e.parent(this.settings.wrapper))),e},defaultShowErrors:function(){var e,t,n;for(e=0;this.errorList[e];e++)n=this.errorList[e],this.settings.highlight&&this.settings.highlight.call(this,n.element,this.settings.errorClass,this.settings.validClass),this.showLabel(n.element,n.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(e=0;this.successList[e];e++)this.showLabel(this.successList[e]);if(this.settings.unhighlight)for(e=0,t=this.validElements();t[e];e++)this.settings.unhighlight.call(this,t[e],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return e(this.errorList).map(function(){return this.element})},showLabel:function(t,n){var s,i,o,r,a=this.errorsFor(t),l=this.idOrName(t),c=e(t).attr("aria-describedby");a.length?(a.removeClass(this.settings.validClass).addClass(this.settings.errorClass),a.html(n)):(a=e("<"+this.settings.errorElement+">").attr("id",l+"-error").addClass(this.settings.errorClass).html(n||""),s=a,this.settings.wrapper&&(s=a.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(s):this.settings.errorPlacement?this.settings.errorPlacement.call(this,s,e(t)):s.insertAfter(t),a.is("label")?a.attr("for",l):0===a.parents("label[for='"+this.escapeCssMeta(l)+"']").length&&(o=a.attr("id"),c?c.match(new RegExp("\\b"+this.escapeCssMeta(o)+"\\b"))||(c+=" "+o):c=o,e(t).attr("aria-describedby",c),i=this.groups[t.name],i&&(r=this,e.each(r.groups,function(t,n){n===i&&e("[name='"+r.escapeCssMeta(t)+"']",r.currentForm).attr("aria-describedby",a.attr("id"))})))),!n&&this.settings.success&&(a.text(""),"string"==typeof this.settings.success?a.addClass(this.settings.success):this.settings.success(a,t)),this.toShow=this.toShow.add(a)},errorsFor:function(t){var n=this.escapeCssMeta(this.idOrName(t)),s=e(t).attr("aria-describedby"),i="label[for='"+n+"'], label[for='"+n+"'] *";return s&&(i=i+", #"+this.escapeCssMeta(s).replace(/\s+/g,", #")),this.errors().filter(i)},escapeCssMeta:function(e){return e.replace(/([\\!"#$%&'()*+,.\/:;<=>?@\[\]^`{|}~])/g,"\\$1")},idOrName:function(e){return this.groups[e.name]||(this.checkable(e)?e.name:e.id||e.name)},validationTargetFor:function(t){return this.checkable(t)&&(t=this.findByName(t.name)),e(t).not(this.settings.ignore)[0]},checkable:function(e){return/radio|checkbox/i.test(e.type)},findByName:function(t){return e(this.currentForm).find("[name='"+this.escapeCssMeta(t)+"']")},getLength:function(t,n){switch(n.nodeName.toLowerCase()){case"select":return e("option:selected",n).length;case"input":if(this.checkable(n))return this.findByName(n.name).filter(":checked").length}return t.length},depend:function(e,t){return!this.dependTypes[typeof e]||this.dependTypes[typeof e](e,t)},dependTypes:{boolean:function(e){return e},string:function(t,n){return!!e(t,n.form).length},function:function(e,t){return e(t)}},optional:function(t){var n=this.elementValue(t);return!e.validator.methods.required.call(this,n,t)&&"dependency-mismatch"},startRequest:function(t){this.pending[t.name]||(this.pendingRequest++,e(t).addClass(this.settings.pendingClass),this.pending[t.name]=!0)},stopRequest:function(t,n){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[t.name],e(t).removeClass(this.settings.pendingClass),n&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(e(this.currentForm).submit(),this.submitButton&&e("input:hidden[name='"+this.submitButton.name+"']",this.currentForm).remove(),this.formSubmitted=!1):!n&&0===this.pendingRequest&&this.formSubmitted&&(e(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(t,n){return n="string"==typeof n&&n||"remote",e.data(t,"previousValue")||e.data(t,"previousValue",{old:null,valid:!0,message:this.defaultMessage(t,{method:n})})},destroy:function(){this.resetForm(),e(this.currentForm).off(".validate").removeData("validator").find(".validate-equalTo-blur").off(".validate-equalTo").removeClass("validate-equalTo-blur")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(t,n){t.constructor===String?this.classRuleSettings[t]=n:e.extend(this.classRuleSettings,t)},classRules:function(t){var n={},s=e(t).attr("class");return s&&e.each(s.split(" "),function(){this in e.validator.classRuleSettings&&e.extend(n,e.validator.classRuleSettings[this])}),n},normalizeAttributeRule:function(e,t,n,s){/min|max|step/.test(n)&&(null===t||/number|range|text/.test(t))&&(s=Number(s),isNaN(s)&&(s=void 0)),s||0===s?e[n]=s:t===n&&"range"!==t&&(e[n]=!0)},attributeRules:function(t){var n,s,i={},o=e(t),r=t.getAttribute("type");for(n in e.validator.methods)"required"===n?(s=t.getAttribute(n),""===s&&(s=!0),s=!!s):s=o.attr(n),this.normalizeAttributeRule(i,r,n,s);return i.maxlength&&/-1|2147483647|524288/.test(i.maxlength)&&delete i.maxlength,i},dataRules:function(t){var n,s,i={},o=e(t),r=t.getAttribute("type");for(n in e.validator.methods)s=o.data("rule"+n.charAt(0).toUpperCase()+n.substring(1).toLowerCase()),this.normalizeAttributeRule(i,r,n,s);return i},staticRules:function(t){var n={},s=e.data(t.form,"validator");return s.settings.rules&&(n=e.validator.normalizeRule(s.settings.rules[t.name])||{}),n},normalizeRules:function(t,n){return e.each(t,function(s,i){if(i===!1)return void delete t[s];if(i.param||i.depends){var o=!0;switch(typeof i.depends){case"string":o=!!e(i.depends,n.form).length;break;case"function":o=i.depends.call(n,n)}o?t[s]=void 0===i.param||i.param:(e.data(n.form,"validator").resetElements(e(n)),delete t[s])}}),e.each(t,function(s,i){t[s]=e.isFunction(i)&&"normalizer"!==s?i(n):i}),e.each(["minlength","maxlength"],function(){t[this]&&(t[this]=Number(t[this]))}),e.each(["rangelength","range"],function(){var n;t[this]&&(e.isArray(t[this])?t[this]=[Number(t[this][0]),Number(t[this][1])]:"string"==typeof t[this]&&(n=t[this].replace(/[\[\]]/g,"").split(/[\s,]+/),t[this]=[Number(n[0]),Number(n[1])]))}),e.validator.autoCreateRanges&&(null!=t.min&&null!=t.max&&(t.range=[t.min,t.max],delete t.min,delete t.max),null!=t.minlength&&null!=t.maxlength&&(t.rangelength=[t.minlength,t.maxlength],delete t.minlength,delete t.maxlength)),t},normalizeRule:function(t){if("string"==typeof t){var n={};e.each(t.split(/\s/),function(){n[this]=!0}),t=n}return t},addMethod:function(t,n,s){e.validator.methods[t]=n,e.validator.messages[t]=void 0!==s?s:e.validator.messages[t],n.length<3&&e.validator.addClassRules(t,e.validator.normalizeRule(t))},methods:{required:function(t,n,s){if(!this.depend(s,n))return"dependency-mismatch";if("select"===n.nodeName.toLowerCase()){var i=e(n).val();return i&&i.length>0}return this.checkable(n)?this.getLength(t,n)>0:t.length>0},email:function(e,t){return this.optional(t)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(e)},url:function(e,t){return this.optional(t)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[\/?#]\S*)?$/i.test(e)},date:function(e,t){return this.optional(t)||!/Invalid|NaN/.test(new Date(e).toString())},dateISO:function(e,t){return this.optional(t)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(e)},number:function(e,t){return this.optional(t)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(e)},digits:function(e,t){return this.optional(t)||/^\d+$/.test(e)},minlength:function(t,n,s){var i=e.isArray(t)?t.length:this.getLength(t,n);return this.optional(n)||i>=s},maxlength:function(t,n,s){var i=e.isArray(t)?t.length:this.getLength(t,n);return this.optional(n)||i<=s},rangelength:function(t,n,s){var i=e.isArray(t)?t.length:this.getLength(t,n);return this.optional(n)||i>=s[0]&&i<=s[1]},min:function(e,t,n){return this.optional(t)||e>=n},max:function(e,t,n){return this.optional(t)||e<=n},range:function(e,t,n){return this.optional(t)||e>=n[0]&&e<=n[1]},step:function(t,n,s){var i,o=e(n).attr("type"),r="Step attribute on input type "+o+" is not supported.",a=["text","number","range"],l=new RegExp("\\b"+o+"\\b"),c=o&&!l.test(a.join()),u=function(e){var t=(""+e).match(/(?:\.(\d+))?$/);return t&&t[1]?t[1].length:0},d=function(e){return Math.round(e*Math.pow(10,i))},p=!0;if(c)throw new Error(r);return i=u(s),(u(t)>i||d(t)%d(s)!==0)&&(p=!1),this.optional(n)||p},equalTo:function(t,n,s){var i=e(s);return this.settings.onfocusout&&i.not(".validate-equalTo-blur").length&&i.addClass("validate-equalTo-blur").on("blur.validate-equalTo",function(){e(n).valid()}),t===i.val()},remote:function(t,n,s,i){if(this.optional(n))return"dependency-mismatch";i="string"==typeof i&&i||"remote";var o,r,a,l=this.previousValue(n,i);return this.settings.messages[n.name]||(this.settings.messages[n.name]={}),l.originalMessage=l.originalMessage||this.settings.messages[n.name][i],this.settings.messages[n.name][i]=l.message,s="string"==typeof s&&{url:s}||s,a=e.param(e.extend({data:t},s.data)),l.old===a?l.valid:(l.old=a,o=this,this.startRequest(n),r={},r[n.name]=t,e.ajax(e.extend(!0,{mode:"abort",port:"validate"+n.name,dataType:"json",data:r,context:o.currentForm,success:function(e){var s,r,a,c=e===!0||"true"===e;o.settings.messages[n.name][i]=l.originalMessage,c?(a=o.formSubmitted,o.resetInternals(),o.toHide=o.errorsFor(n),o.formSubmitted=a,o.successList.push(n),o.invalid[n.name]=!1,o.showErrors()):(s={},r=e||o.defaultMessage(n,{method:i,parameters:t}),s[n.name]=l.message=r,o.invalid[n.name]=!0,o.showErrors(s)),l.valid=c,o.stopRequest(n,c)}},s)),"pending")}}});var t,n={};return e.ajaxPrefilter?e.ajaxPrefilter(function(e,t,s){var i=e.port;"abort"===e.mode&&(n[i]&&n[i].abort(),n[i]=s)}):(t=e.ajax,e.ajax=function(s){var i=("mode"in s?s:e.ajaxSettings).mode,o=("port"in s?s:e.ajaxSettings).port;return"abort"===i?(n[o]&&n[o].abort(),n[o]=t.apply(this,arguments),n[o]):t.apply(this,arguments)}),e})},function(e,t){/**
+	 * material-design-lite - Material Design Components in CSS, JS and HTML
+	 * @version v1.3.0
+	 * @license Apache-2.0
+	 * @copyright 2015 Google, Inc.
+	 * @link https://github.com/google/material-design-lite
+	 */
+!function(){"use strict";function e(e,t){if(e){if(t.element_.classList.contains(t.CssClasses_.MDL_JS_RIPPLE_EFFECT)){var n=document.createElement("span");n.classList.add(t.CssClasses_.MDL_RIPPLE_CONTAINER),n.classList.add(t.CssClasses_.MDL_JS_RIPPLE_EFFECT);var s=document.createElement("span");s.classList.add(t.CssClasses_.MDL_RIPPLE),n.appendChild(s),e.appendChild(n)}e.addEventListener("click",function(n){if("#"===e.getAttribute("href").charAt(0)){n.preventDefault();var s=e.href.split("#")[1],i=t.element_.querySelector("#"+s);t.resetTabState_(),t.resetPanelState_(),e.classList.add(t.CssClasses_.ACTIVE_CLASS),i.classList.add(t.CssClasses_.ACTIVE_CLASS)}})}}function t(e,t,n,s){function i(){var i=e.href.split("#")[1],o=s.content_.querySelector("#"+i);s.resetTabState_(t),s.resetPanelState_(n),e.classList.add(s.CssClasses_.IS_ACTIVE),o.classList.add(s.CssClasses_.IS_ACTIVE)}if(s.tabBar_.classList.contains(s.CssClasses_.JS_RIPPLE_EFFECT)){var o=document.createElement("span");o.classList.add(s.CssClasses_.RIPPLE_CONTAINER),o.classList.add(s.CssClasses_.JS_RIPPLE_EFFECT);var r=document.createElement("span");r.classList.add(s.CssClasses_.RIPPLE),o.appendChild(r),e.appendChild(o)}s.tabBar_.classList.contains(s.CssClasses_.TAB_MANUAL_SWITCH)||e.addEventListener("click",function(t){"#"===e.getAttribute("href").charAt(0)&&(t.preventDefault(),i())}),e.show=i}var n={upgradeDom:function(e,t){},upgradeElement:function(e,t){},upgradeElements:function(e){},upgradeAllRegistered:function(){},registerUpgradedCallback:function(e,t){},register:function(e){},downgradeElements:function(e){}};n=function(){function e(e,t){for(var n=0;n<p.length;n++)if(p[n].className===e)return"undefined"!=typeof t&&(p[n]=t),p[n];return!1}function t(e){var t=e.getAttribute("data-upgraded");return null===t?[""]:t.split(",")}function n(e,n){var s=t(e);return s.indexOf(n)!==-1}function s(e,t,n){if("CustomEvent"in window&&"function"==typeof window.CustomEvent)return new CustomEvent(e,{bubbles:t,cancelable:n});var s=document.createEvent("Events");return s.initEvent(e,t,n),s}function i(t,n){if("undefined"==typeof t&&"undefined"==typeof n)for(var s=0;s<p.length;s++)i(p[s].className,p[s].cssClass);else{var r=t;if("undefined"==typeof n){var a=e(r);a&&(n=a.cssClass)}for(var l=document.querySelectorAll("."+n),c=0;c<l.length;c++)o(l[c],r)}}function o(i,o){if(!("object"==typeof i&&i instanceof Element))throw new Error("Invalid argument provided to upgrade MDL element.");var r=s("mdl-componentupgrading",!0,!0);if(i.dispatchEvent(r),!r.defaultPrevented){var a=t(i),l=[];if(o)n(i,o)||l.push(e(o));else{var c=i.classList;p.forEach(function(e){c.contains(e.cssClass)&&l.indexOf(e)===-1&&!n(i,e.className)&&l.push(e)})}for(var u,d=0,m=l.length;d<m;d++){if(u=l[d],!u)throw new Error("Unable to find a registered component for the given class.");a.push(u.className),i.setAttribute("data-upgraded",a.join(","));var g=new u.classConstructor(i);g[h]=u,f.push(g);for(var v=0,b=u.callbacks.length;v<b;v++)u.callbacks[v](i);u.widget&&(i[u.className]=g);var y=s("mdl-componentupgraded",!0,!1);i.dispatchEvent(y)}}}function r(e){Array.isArray(e)||(e=e instanceof Element?[e]:Array.prototype.slice.call(e));for(var t,n=0,s=e.length;n<s;n++)t=e[n],t instanceof HTMLElement&&(o(t),t.children.length>0&&r(t.children))}function a(t){var n="undefined"==typeof t.widget&&"undefined"==typeof t.widget,s=!0;n||(s=t.widget||t.widget);var i={classConstructor:t.constructor||t.constructor,className:t.classAsString||t.classAsString,cssClass:t.cssClass||t.cssClass,widget:s,callbacks:[]};if(p.forEach(function(e){if(e.cssClass===i.cssClass)throw new Error("The provided cssClass has already been registered: "+e.cssClass);if(e.className===i.className)throw new Error("The provided className has already been registered")}),t.constructor.prototype.hasOwnProperty(h))throw new Error("MDL component classes must not have "+h+" defined as a property.");var o=e(t.classAsString,i);o||p.push(i)}function l(t,n){var s=e(t);s&&s.callbacks.push(n)}function c(){for(var e=0;e<p.length;e++)i(p[e].className)}function u(e){if(e){var t=f.indexOf(e);f.splice(t,1);var n=e.element_.getAttribute("data-upgraded").split(","),i=n.indexOf(e[h].classAsString);n.splice(i,1),e.element_.setAttribute("data-upgraded",n.join(","));var o=s("mdl-componentdowngraded",!0,!1);e.element_.dispatchEvent(o)}}function d(e){var t=function(e){f.filter(function(t){return t.element_===e}).forEach(u)};if(e instanceof Array||e instanceof NodeList)for(var n=0;n<e.length;n++)t(e[n]);else{if(!(e instanceof Node))throw new Error("Invalid argument provided to downgrade MDL nodes.");t(e)}}var p=[],f=[],h="mdlComponentConfigInternal_";return{upgradeDom:i,upgradeElement:o,upgradeElements:r,upgradeAllRegistered:c,registerUpgradedCallback:l,register:a,downgradeElements:d}}(),n.ComponentConfigPublic,n.ComponentConfig,n.Component,n.upgradeDom=n.upgradeDom,n.upgradeElement=n.upgradeElement,n.upgradeElements=n.upgradeElements,n.upgradeAllRegistered=n.upgradeAllRegistered,n.registerUpgradedCallback=n.registerUpgradedCallback,n.register=n.register,n.downgradeElements=n.downgradeElements,window.componentHandler=n,window.componentHandler=n,window.addEventListener("load",function(){"classList"in document.createElement("div")&&"querySelector"in document&&"addEventListener"in window&&Array.prototype.forEach?(document.documentElement.classList.add("mdl-js"),n.upgradeAllRegistered()):(n.upgradeElement=function(){},n.register=function(){})}),Date.now||(Date.now=function(){return(new Date).getTime()},Date.now=Date.now);for(var s=["webkit","moz"],i=0;i<s.length&&!window.requestAnimationFrame;++i){var o=s[i];window.requestAnimationFrame=window[o+"RequestAnimationFrame"],window.cancelAnimationFrame=window[o+"CancelAnimationFrame"]||window[o+"CancelRequestAnimationFrame"],window.requestAnimationFrame=window.requestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame}if(/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent)||!window.requestAnimationFrame||!window.cancelAnimationFrame){var r=0;window.requestAnimationFrame=function(e){var t=Date.now(),n=Math.max(r+16,t);return setTimeout(function(){e(r=n)},n-t)},window.cancelAnimationFrame=clearTimeout,window.requestAnimationFrame=window.requestAnimationFrame,window.cancelAnimationFrame=window.cancelAnimationFrame}var a=function(e){this.element_=e,this.init()};window.MaterialButton=a,a.prototype.Constant_={},a.prototype.CssClasses_={RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_CONTAINER:"mdl-button__ripple-container",RIPPLE:"mdl-ripple"},a.prototype.blurHandler_=function(e){e&&this.element_.blur()},a.prototype.disable=function(){this.element_.disabled=!0},a.prototype.disable=a.prototype.disable,a.prototype.enable=function(){this.element_.disabled=!1},a.prototype.enable=a.prototype.enable,a.prototype.init=function(){if(this.element_){if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){var e=document.createElement("span");e.classList.add(this.CssClasses_.RIPPLE_CONTAINER),this.rippleElement_=document.createElement("span"),this.rippleElement_.classList.add(this.CssClasses_.RIPPLE),e.appendChild(this.rippleElement_),this.boundRippleBlurHandler=this.blurHandler_.bind(this),this.rippleElement_.addEventListener("mouseup",this.boundRippleBlurHandler),this.element_.appendChild(e)}this.boundButtonBlurHandler=this.blurHandler_.bind(this),this.element_.addEventListener("mouseup",this.boundButtonBlurHandler),this.element_.addEventListener("mouseleave",this.boundButtonBlurHandler)}},n.register({constructor:a,classAsString:"MaterialButton",cssClass:"mdl-js-button",widget:!0});var l=function(e){this.element_=e,this.init()};window.MaterialCheckbox=l,l.prototype.Constant_={TINY_TIMEOUT:.001},l.prototype.CssClasses_={INPUT:"mdl-checkbox__input",BOX_OUTLINE:"mdl-checkbox__box-outline",FOCUS_HELPER:"mdl-checkbox__focus-helper",TICK_OUTLINE:"mdl-checkbox__tick-outline",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-checkbox__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked",IS_UPGRADED:"is-upgraded"},l.prototype.onChange_=function(e){this.updateClasses_()},l.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},l.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},l.prototype.onMouseUp_=function(e){this.blur_()},l.prototype.updateClasses_=function(){this.checkDisabled(),this.checkToggleState()},l.prototype.blur_=function(){window.setTimeout(function(){this.inputElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},l.prototype.checkToggleState=function(){this.inputElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},l.prototype.checkToggleState=l.prototype.checkToggleState,l.prototype.checkDisabled=function(){this.inputElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},l.prototype.checkDisabled=l.prototype.checkDisabled,l.prototype.disable=function(){this.inputElement_.disabled=!0,this.updateClasses_()},l.prototype.disable=l.prototype.disable,l.prototype.enable=function(){this.inputElement_.disabled=!1,this.updateClasses_()},l.prototype.enable=l.prototype.enable,l.prototype.check=function(){this.inputElement_.checked=!0,this.updateClasses_()},l.prototype.check=l.prototype.check,l.prototype.uncheck=function(){this.inputElement_.checked=!1,this.updateClasses_()},l.prototype.uncheck=l.prototype.uncheck,l.prototype.init=function(){if(this.element_){this.inputElement_=this.element_.querySelector("."+this.CssClasses_.INPUT);var e=document.createElement("span");e.classList.add(this.CssClasses_.BOX_OUTLINE);var t=document.createElement("span");t.classList.add(this.CssClasses_.FOCUS_HELPER);var n=document.createElement("span");if(n.classList.add(this.CssClasses_.TICK_OUTLINE),e.appendChild(n),this.element_.appendChild(t),this.element_.appendChild(e),this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),this.rippleContainerElement_=document.createElement("span"),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CONTAINER),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_EFFECT),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CENTER),this.boundRippleMouseUp=this.onMouseUp_.bind(this),this.rippleContainerElement_.addEventListener("mouseup",this.boundRippleMouseUp);var s=document.createElement("span");s.classList.add(this.CssClasses_.RIPPLE),this.rippleContainerElement_.appendChild(s),this.element_.appendChild(this.rippleContainerElement_)}this.boundInputOnChange=this.onChange_.bind(this),this.boundInputOnFocus=this.onFocus_.bind(this),this.boundInputOnBlur=this.onBlur_.bind(this),this.boundElementMouseUp=this.onMouseUp_.bind(this),this.inputElement_.addEventListener("change",this.boundInputOnChange),this.inputElement_.addEventListener("focus",this.boundInputOnFocus),this.inputElement_.addEventListener("blur",this.boundInputOnBlur),this.element_.addEventListener("mouseup",this.boundElementMouseUp),this.updateClasses_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},n.register({constructor:l,classAsString:"MaterialCheckbox",cssClass:"mdl-js-checkbox",widget:!0});var c=function(e){this.element_=e,this.init()};window.MaterialIconToggle=c,c.prototype.Constant_={TINY_TIMEOUT:.001},c.prototype.CssClasses_={INPUT:"mdl-icon-toggle__input",JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-icon-toggle__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked"},c.prototype.onChange_=function(e){this.updateClasses_()},c.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},c.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},c.prototype.onMouseUp_=function(e){this.blur_()},c.prototype.updateClasses_=function(){this.checkDisabled(),this.checkToggleState()},c.prototype.blur_=function(){window.setTimeout(function(){this.inputElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},c.prototype.checkToggleState=function(){this.inputElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},c.prototype.checkToggleState=c.prototype.checkToggleState,c.prototype.checkDisabled=function(){this.inputElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},c.prototype.checkDisabled=c.prototype.checkDisabled,c.prototype.disable=function(){this.inputElement_.disabled=!0,this.updateClasses_()},c.prototype.disable=c.prototype.disable,c.prototype.enable=function(){this.inputElement_.disabled=!1,this.updateClasses_()},c.prototype.enable=c.prototype.enable,c.prototype.check=function(){this.inputElement_.checked=!0,this.updateClasses_()},c.prototype.check=c.prototype.check,c.prototype.uncheck=function(){this.inputElement_.checked=!1,this.updateClasses_()},c.prototype.uncheck=c.prototype.uncheck,c.prototype.init=function(){if(this.element_){if(this.inputElement_=this.element_.querySelector("."+this.CssClasses_.INPUT),this.element_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),this.rippleContainerElement_=document.createElement("span"),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CONTAINER),this.rippleContainerElement_.classList.add(this.CssClasses_.JS_RIPPLE_EFFECT),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CENTER),this.boundRippleMouseUp=this.onMouseUp_.bind(this),this.rippleContainerElement_.addEventListener("mouseup",this.boundRippleMouseUp);var e=document.createElement("span");e.classList.add(this.CssClasses_.RIPPLE),this.rippleContainerElement_.appendChild(e),this.element_.appendChild(this.rippleContainerElement_)}this.boundInputOnChange=this.onChange_.bind(this),this.boundInputOnFocus=this.onFocus_.bind(this),this.boundInputOnBlur=this.onBlur_.bind(this),this.boundElementOnMouseUp=this.onMouseUp_.bind(this),this.inputElement_.addEventListener("change",this.boundInputOnChange),this.inputElement_.addEventListener("focus",this.boundInputOnFocus),this.inputElement_.addEventListener("blur",this.boundInputOnBlur),this.element_.addEventListener("mouseup",this.boundElementOnMouseUp),this.updateClasses_(),this.element_.classList.add("is-upgraded")}},n.register({constructor:c,classAsString:"MaterialIconToggle",cssClass:"mdl-js-icon-toggle",widget:!0});var u=function(e){this.element_=e,this.init()};window.MaterialMenu=u,u.prototype.Constant_={TRANSITION_DURATION_SECONDS:.3,TRANSITION_DURATION_FRACTION:.8,CLOSE_TIMEOUT:150},u.prototype.Keycodes_={ENTER:13,ESCAPE:27,SPACE:32,UP_ARROW:38,DOWN_ARROW:40},u.prototype.CssClasses_={CONTAINER:"mdl-menu__container",OUTLINE:"mdl-menu__outline",ITEM:"mdl-menu__item",ITEM_RIPPLE_CONTAINER:"mdl-menu__item-ripple-container",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE:"mdl-ripple",IS_UPGRADED:"is-upgraded",IS_VISIBLE:"is-visible",IS_ANIMATING:"is-animating",BOTTOM_LEFT:"mdl-menu--bottom-left",BOTTOM_RIGHT:"mdl-menu--bottom-right",TOP_LEFT:"mdl-menu--top-left",TOP_RIGHT:"mdl-menu--top-right",UNALIGNED:"mdl-menu--unaligned"},u.prototype.init=function(){if(this.element_){var e=document.createElement("div");e.classList.add(this.CssClasses_.CONTAINER),this.element_.parentElement.insertBefore(e,this.element_),this.element_.parentElement.removeChild(this.element_),e.appendChild(this.element_),this.container_=e;var t=document.createElement("div");t.classList.add(this.CssClasses_.OUTLINE),this.outline_=t,e.insertBefore(t,this.element_);var n=this.element_.getAttribute("for")||this.element_.getAttribute("data-mdl-for"),s=null;n&&(s=document.getElementById(n),s&&(this.forElement_=s,s.addEventListener("click",this.handleForClick_.bind(this)),s.addEventListener("keydown",this.handleForKeyboardEvent_.bind(this))));var i=this.element_.querySelectorAll("."+this.CssClasses_.ITEM);this.boundItemKeydown_=this.handleItemKeyboardEvent_.bind(this),this.boundItemClick_=this.handleItemClick_.bind(this);for(var o=0;o<i.length;o++)i[o].addEventListener("click",this.boundItemClick_),i[o].tabIndex="-1",i[o].addEventListener("keydown",this.boundItemKeydown_);if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT))for(this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),o=0;o<i.length;o++){var r=i[o],a=document.createElement("span");a.classList.add(this.CssClasses_.ITEM_RIPPLE_CONTAINER);var l=document.createElement("span");l.classList.add(this.CssClasses_.RIPPLE),a.appendChild(l),r.appendChild(a),r.classList.add(this.CssClasses_.RIPPLE_EFFECT)}this.element_.classList.contains(this.CssClasses_.BOTTOM_LEFT)&&this.outline_.classList.add(this.CssClasses_.BOTTOM_LEFT),this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)&&this.outline_.classList.add(this.CssClasses_.BOTTOM_RIGHT),this.element_.classList.contains(this.CssClasses_.TOP_LEFT)&&this.outline_.classList.add(this.CssClasses_.TOP_LEFT),this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)&&this.outline_.classList.add(this.CssClasses_.TOP_RIGHT),this.element_.classList.contains(this.CssClasses_.UNALIGNED)&&this.outline_.classList.add(this.CssClasses_.UNALIGNED),e.classList.add(this.CssClasses_.IS_UPGRADED)}},u.prototype.handleForClick_=function(e){if(this.element_&&this.forElement_){var t=this.forElement_.getBoundingClientRect(),n=this.forElement_.parentElement.getBoundingClientRect();this.element_.classList.contains(this.CssClasses_.UNALIGNED)||(this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)?(this.container_.style.right=n.right-t.right+"px",this.container_.style.top=this.forElement_.offsetTop+this.forElement_.offsetHeight+"px"):this.element_.classList.contains(this.CssClasses_.TOP_LEFT)?(this.container_.style.left=this.forElement_.offsetLeft+"px",this.container_.style.bottom=n.bottom-t.top+"px"):this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?(this.container_.style.right=n.right-t.right+"px",this.container_.style.bottom=n.bottom-t.top+"px"):(this.container_.style.left=this.forElement_.offsetLeft+"px",this.container_.style.top=this.forElement_.offsetTop+this.forElement_.offsetHeight+"px"))}this.toggle(e)},u.prototype.handleForKeyboardEvent_=function(e){if(this.element_&&this.container_&&this.forElement_){var t=this.element_.querySelectorAll("."+this.CssClasses_.ITEM+":not([disabled])");t&&t.length>0&&this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)&&(e.keyCode===this.Keycodes_.UP_ARROW?(e.preventDefault(),t[t.length-1].focus()):e.keyCode===this.Keycodes_.DOWN_ARROW&&(e.preventDefault(),t[0].focus()))}},u.prototype.handleItemKeyboardEvent_=function(e){if(this.element_&&this.container_){var t=this.element_.querySelectorAll("."+this.CssClasses_.ITEM+":not([disabled])");if(t&&t.length>0&&this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)){var n=Array.prototype.slice.call(t).indexOf(e.target);if(e.keyCode===this.Keycodes_.UP_ARROW)e.preventDefault(),n>0?t[n-1].focus():t[t.length-1].focus();else if(e.keyCode===this.Keycodes_.DOWN_ARROW)e.preventDefault(),t.length>n+1?t[n+1].focus():t[0].focus();else if(e.keyCode===this.Keycodes_.SPACE||e.keyCode===this.Keycodes_.ENTER){e.preventDefault();var s=new MouseEvent("mousedown");e.target.dispatchEvent(s),s=new MouseEvent("mouseup"),e.target.dispatchEvent(s),e.target.click()}else e.keyCode===this.Keycodes_.ESCAPE&&(e.preventDefault(),this.hide())}}},u.prototype.handleItemClick_=function(e){e.target.hasAttribute("disabled")?e.stopPropagation():(this.closing_=!0,window.setTimeout(function(e){this.hide(),this.closing_=!1}.bind(this),this.Constant_.CLOSE_TIMEOUT))},u.prototype.applyClip_=function(e,t){this.element_.classList.contains(this.CssClasses_.UNALIGNED)?this.element_.style.clip="":this.element_.classList.contains(this.CssClasses_.BOTTOM_RIGHT)?this.element_.style.clip="rect(0 "+t+"px 0 "+t+"px)":this.element_.classList.contains(this.CssClasses_.TOP_LEFT)?this.element_.style.clip="rect("+e+"px 0 "+e+"px 0)":this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?this.element_.style.clip="rect("+e+"px "+t+"px "+e+"px "+t+"px)":this.element_.style.clip=""},u.prototype.removeAnimationEndListener_=function(e){e.target.classList.remove(u.prototype.CssClasses_.IS_ANIMATING)},u.prototype.addAnimationEndListener_=function(){this.element_.addEventListener("transitionend",this.removeAnimationEndListener_),this.element_.addEventListener("webkitTransitionEnd",this.removeAnimationEndListener_)},u.prototype.show=function(e){if(this.element_&&this.container_&&this.outline_){var t=this.element_.getBoundingClientRect().height,n=this.element_.getBoundingClientRect().width;this.container_.style.width=n+"px",this.container_.style.height=t+"px",this.outline_.style.width=n+"px",this.outline_.style.height=t+"px";for(var s=this.Constant_.TRANSITION_DURATION_SECONDS*this.Constant_.TRANSITION_DURATION_FRACTION,i=this.element_.querySelectorAll("."+this.CssClasses_.ITEM),o=0;o<i.length;o++){var r=null;r=this.element_.classList.contains(this.CssClasses_.TOP_LEFT)||this.element_.classList.contains(this.CssClasses_.TOP_RIGHT)?(t-i[o].offsetTop-i[o].offsetHeight)/t*s+"s":i[o].offsetTop/t*s+"s",i[o].style.transitionDelay=r}this.applyClip_(t,n),window.requestAnimationFrame(function(){this.element_.classList.add(this.CssClasses_.IS_ANIMATING),this.element_.style.clip="rect(0 "+n+"px "+t+"px 0)",this.container_.classList.add(this.CssClasses_.IS_VISIBLE)}.bind(this)),this.addAnimationEndListener_();var a=function(t){t===e||this.closing_||t.target.parentNode===this.element_||(document.removeEventListener("click",a),this.hide())}.bind(this);document.addEventListener("click",a)}},u.prototype.show=u.prototype.show,u.prototype.hide=function(){if(this.element_&&this.container_&&this.outline_){for(var e=this.element_.querySelectorAll("."+this.CssClasses_.ITEM),t=0;t<e.length;t++)e[t].style.removeProperty("transition-delay");var n=this.element_.getBoundingClientRect(),s=n.height,i=n.width;this.element_.classList.add(this.CssClasses_.IS_ANIMATING),this.applyClip_(s,i),this.container_.classList.remove(this.CssClasses_.IS_VISIBLE),this.addAnimationEndListener_()}},u.prototype.hide=u.prototype.hide,u.prototype.toggle=function(e){this.container_.classList.contains(this.CssClasses_.IS_VISIBLE)?this.hide():this.show(e)},u.prototype.toggle=u.prototype.toggle,n.register({constructor:u,classAsString:"MaterialMenu",cssClass:"mdl-js-menu",widget:!0});var d=function(e){this.element_=e,this.init()};window.MaterialProgress=d,d.prototype.Constant_={},d.prototype.CssClasses_={INDETERMINATE_CLASS:"mdl-progress__indeterminate"},d.prototype.setProgress=function(e){this.element_.classList.contains(this.CssClasses_.INDETERMINATE_CLASS)||(this.progressbar_.style.width=e+"%")},d.prototype.setProgress=d.prototype.setProgress,d.prototype.setBuffer=function(e){this.bufferbar_.style.width=e+"%",this.auxbar_.style.width=100-e+"%"},d.prototype.setBuffer=d.prototype.setBuffer,d.prototype.init=function(){if(this.element_){var e=document.createElement("div");e.className="progressbar bar bar1",this.element_.appendChild(e),this.progressbar_=e,e=document.createElement("div"),e.className="bufferbar bar bar2",this.element_.appendChild(e),this.bufferbar_=e,e=document.createElement("div"),e.className="auxbar bar bar3",this.element_.appendChild(e),this.auxbar_=e,this.progressbar_.style.width="0%",this.bufferbar_.style.width="100%",this.auxbar_.style.width="0%",this.element_.classList.add("is-upgraded")}},n.register({constructor:d,classAsString:"MaterialProgress",cssClass:"mdl-js-progress",widget:!0});var p=function(e){this.element_=e,this.init()};window.MaterialRadio=p,p.prototype.Constant_={TINY_TIMEOUT:.001},p.prototype.CssClasses_={IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked",IS_UPGRADED:"is-upgraded",JS_RADIO:"mdl-js-radio",RADIO_BTN:"mdl-radio__button",RADIO_OUTER_CIRCLE:"mdl-radio__outer-circle",RADIO_INNER_CIRCLE:"mdl-radio__inner-circle",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-radio__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple"},p.prototype.onChange_=function(e){for(var t=document.getElementsByClassName(this.CssClasses_.JS_RADIO),n=0;n<t.length;n++){var s=t[n].querySelector("."+this.CssClasses_.RADIO_BTN);s.getAttribute("name")===this.btnElement_.getAttribute("name")&&"undefined"!=typeof t[n].MaterialRadio&&t[n].MaterialRadio.updateClasses_()}},p.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},p.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},p.prototype.onMouseup_=function(e){this.blur_()},p.prototype.updateClasses_=function(){this.checkDisabled(),this.checkToggleState()},p.prototype.blur_=function(){window.setTimeout(function(){this.btnElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},p.prototype.checkDisabled=function(){this.btnElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},p.prototype.checkDisabled=p.prototype.checkDisabled,p.prototype.checkToggleState=function(){this.btnElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},p.prototype.checkToggleState=p.prototype.checkToggleState,p.prototype.disable=function(){this.btnElement_.disabled=!0,this.updateClasses_()},p.prototype.disable=p.prototype.disable,p.prototype.enable=function(){this.btnElement_.disabled=!1,this.updateClasses_()},p.prototype.enable=p.prototype.enable,p.prototype.check=function(){this.btnElement_.checked=!0,this.onChange_(null)},p.prototype.check=p.prototype.check,p.prototype.uncheck=function(){this.btnElement_.checked=!1,this.onChange_(null)},p.prototype.uncheck=p.prototype.uncheck,p.prototype.init=function(){if(this.element_){this.btnElement_=this.element_.querySelector("."+this.CssClasses_.RADIO_BTN),this.boundChangeHandler_=this.onChange_.bind(this),this.boundFocusHandler_=this.onChange_.bind(this),this.boundBlurHandler_=this.onBlur_.bind(this),this.boundMouseUpHandler_=this.onMouseup_.bind(this);var e=document.createElement("span");e.classList.add(this.CssClasses_.RADIO_OUTER_CIRCLE);var t=document.createElement("span");t.classList.add(this.CssClasses_.RADIO_INNER_CIRCLE),this.element_.appendChild(e),this.element_.appendChild(t);var n;if(this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),n=document.createElement("span"),n.classList.add(this.CssClasses_.RIPPLE_CONTAINER),n.classList.add(this.CssClasses_.RIPPLE_EFFECT),n.classList.add(this.CssClasses_.RIPPLE_CENTER),n.addEventListener("mouseup",this.boundMouseUpHandler_);var s=document.createElement("span");s.classList.add(this.CssClasses_.RIPPLE),n.appendChild(s),this.element_.appendChild(n)}this.btnElement_.addEventListener("change",this.boundChangeHandler_),this.btnElement_.addEventListener("focus",this.boundFocusHandler_),this.btnElement_.addEventListener("blur",this.boundBlurHandler_),this.element_.addEventListener("mouseup",this.boundMouseUpHandler_),this.updateClasses_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},n.register({constructor:p,classAsString:"MaterialRadio",cssClass:"mdl-js-radio",widget:!0});var f=function(e){this.element_=e,this.isIE_=window.navigator.msPointerEnabled,this.init()};window.MaterialSlider=f,f.prototype.Constant_={},f.prototype.CssClasses_={IE_CONTAINER:"mdl-slider__ie-container",SLIDER_CONTAINER:"mdl-slider__container",BACKGROUND_FLEX:"mdl-slider__background-flex",BACKGROUND_LOWER:"mdl-slider__background-lower",BACKGROUND_UPPER:"mdl-slider__background-upper",IS_LOWEST_VALUE:"is-lowest-value",IS_UPGRADED:"is-upgraded"},f.prototype.onInput_=function(e){this.updateValueStyles_()},f.prototype.onChange_=function(e){this.updateValueStyles_()},f.prototype.onMouseUp_=function(e){e.target.blur()},f.prototype.onContainerMouseDown_=function(e){if(e.target===this.element_.parentElement){e.preventDefault();var t=new MouseEvent("mousedown",{target:e.target,buttons:e.buttons,clientX:e.clientX,clientY:this.element_.getBoundingClientRect().y});this.element_.dispatchEvent(t)}},f.prototype.updateValueStyles_=function(){var e=(this.element_.value-this.element_.min)/(this.element_.max-this.element_.min);0===e?this.element_.classList.add(this.CssClasses_.IS_LOWEST_VALUE):this.element_.classList.remove(this.CssClasses_.IS_LOWEST_VALUE),this.isIE_||(this.backgroundLower_.style.flex=e,this.backgroundLower_.style.webkitFlex=e,this.backgroundUpper_.style.flex=1-e,this.backgroundUpper_.style.webkitFlex=1-e)},f.prototype.disable=function(){this.element_.disabled=!0},f.prototype.disable=f.prototype.disable,f.prototype.enable=function(){this.element_.disabled=!1},f.prototype.enable=f.prototype.enable,f.prototype.change=function(e){"undefined"!=typeof e&&(this.element_.value=e),this.updateValueStyles_()},f.prototype.change=f.prototype.change,f.prototype.init=function(){if(this.element_){if(this.isIE_){var e=document.createElement("div");e.classList.add(this.CssClasses_.IE_CONTAINER),this.element_.parentElement.insertBefore(e,this.element_),this.element_.parentElement.removeChild(this.element_),e.appendChild(this.element_)}else{var t=document.createElement("div");t.classList.add(this.CssClasses_.SLIDER_CONTAINER),this.element_.parentElement.insertBefore(t,this.element_),this.element_.parentElement.removeChild(this.element_),t.appendChild(this.element_);var n=document.createElement("div");n.classList.add(this.CssClasses_.BACKGROUND_FLEX),t.appendChild(n),this.backgroundLower_=document.createElement("div"),this.backgroundLower_.classList.add(this.CssClasses_.BACKGROUND_LOWER),n.appendChild(this.backgroundLower_),this.backgroundUpper_=document.createElement("div"),this.backgroundUpper_.classList.add(this.CssClasses_.BACKGROUND_UPPER),n.appendChild(this.backgroundUpper_)}this.boundInputHandler=this.onInput_.bind(this),this.boundChangeHandler=this.onChange_.bind(this),this.boundMouseUpHandler=this.onMouseUp_.bind(this),this.boundContainerMouseDownHandler=this.onContainerMouseDown_.bind(this),this.element_.addEventListener("input",this.boundInputHandler),this.element_.addEventListener("change",this.boundChangeHandler),this.element_.addEventListener("mouseup",this.boundMouseUpHandler),this.element_.parentElement.addEventListener("mousedown",this.boundContainerMouseDownHandler),this.updateValueStyles_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},n.register({constructor:f,classAsString:"MaterialSlider",cssClass:"mdl-js-slider",widget:!0});var h=function(e){if(this.element_=e,this.textElement_=this.element_.querySelector("."+this.cssClasses_.MESSAGE),this.actionElement_=this.element_.querySelector("."+this.cssClasses_.ACTION),!this.textElement_)throw new Error("There must be a message element for a snackbar.");if(!this.actionElement_)throw new Error("There must be an action element for a snackbar.");this.active=!1,this.actionHandler_=void 0,this.message_=void 0,this.actionText_=void 0,this.queuedNotifications_=[],this.setActionHidden_(!0)};window.MaterialSnackbar=h,h.prototype.Constant_={ANIMATION_LENGTH:250},h.prototype.cssClasses_={SNACKBAR:"mdl-snackbar",MESSAGE:"mdl-snackbar__text",ACTION:"mdl-snackbar__action",ACTIVE:"mdl-snackbar--active"},h.prototype.displaySnackbar_=function(){this.element_.setAttribute("aria-hidden","true"),
+this.actionHandler_&&(this.actionElement_.textContent=this.actionText_,this.actionElement_.addEventListener("click",this.actionHandler_),this.setActionHidden_(!1)),this.textElement_.textContent=this.message_,this.element_.classList.add(this.cssClasses_.ACTIVE),this.element_.setAttribute("aria-hidden","false"),setTimeout(this.cleanup_.bind(this),this.timeout_)},h.prototype.showSnackbar=function(e){if(void 0===e)throw new Error("Please provide a data object with at least a message to display.");if(void 0===e.message)throw new Error("Please provide a message to be displayed.");if(e.actionHandler&&!e.actionText)throw new Error("Please provide action text with the handler.");this.active?this.queuedNotifications_.push(e):(this.active=!0,this.message_=e.message,e.timeout?this.timeout_=e.timeout:this.timeout_=2750,e.actionHandler&&(this.actionHandler_=e.actionHandler),e.actionText&&(this.actionText_=e.actionText),this.displaySnackbar_())},h.prototype.showSnackbar=h.prototype.showSnackbar,h.prototype.checkQueue_=function(){this.queuedNotifications_.length>0&&this.showSnackbar(this.queuedNotifications_.shift())},h.prototype.cleanup_=function(){this.element_.classList.remove(this.cssClasses_.ACTIVE),setTimeout(function(){this.element_.setAttribute("aria-hidden","true"),this.textElement_.textContent="",Boolean(this.actionElement_.getAttribute("aria-hidden"))||(this.setActionHidden_(!0),this.actionElement_.textContent="",this.actionElement_.removeEventListener("click",this.actionHandler_)),this.actionHandler_=void 0,this.message_=void 0,this.actionText_=void 0,this.active=!1,this.checkQueue_()}.bind(this),this.Constant_.ANIMATION_LENGTH)},h.prototype.setActionHidden_=function(e){e?this.actionElement_.setAttribute("aria-hidden","true"):this.actionElement_.removeAttribute("aria-hidden")},n.register({constructor:h,classAsString:"MaterialSnackbar",cssClass:"mdl-js-snackbar",widget:!0});var m=function(e){this.element_=e,this.init()};window.MaterialSpinner=m,m.prototype.Constant_={MDL_SPINNER_LAYER_COUNT:4},m.prototype.CssClasses_={MDL_SPINNER_LAYER:"mdl-spinner__layer",MDL_SPINNER_CIRCLE_CLIPPER:"mdl-spinner__circle-clipper",MDL_SPINNER_CIRCLE:"mdl-spinner__circle",MDL_SPINNER_GAP_PATCH:"mdl-spinner__gap-patch",MDL_SPINNER_LEFT:"mdl-spinner__left",MDL_SPINNER_RIGHT:"mdl-spinner__right"},m.prototype.createLayer=function(e){var t=document.createElement("div");t.classList.add(this.CssClasses_.MDL_SPINNER_LAYER),t.classList.add(this.CssClasses_.MDL_SPINNER_LAYER+"-"+e);var n=document.createElement("div");n.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER),n.classList.add(this.CssClasses_.MDL_SPINNER_LEFT);var s=document.createElement("div");s.classList.add(this.CssClasses_.MDL_SPINNER_GAP_PATCH);var i=document.createElement("div");i.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE_CLIPPER),i.classList.add(this.CssClasses_.MDL_SPINNER_RIGHT);for(var o=[n,s,i],r=0;r<o.length;r++){var a=document.createElement("div");a.classList.add(this.CssClasses_.MDL_SPINNER_CIRCLE),o[r].appendChild(a)}t.appendChild(n),t.appendChild(s),t.appendChild(i),this.element_.appendChild(t)},m.prototype.createLayer=m.prototype.createLayer,m.prototype.stop=function(){this.element_.classList.remove("is-active")},m.prototype.stop=m.prototype.stop,m.prototype.start=function(){this.element_.classList.add("is-active")},m.prototype.start=m.prototype.start,m.prototype.init=function(){if(this.element_){for(var e=1;e<=this.Constant_.MDL_SPINNER_LAYER_COUNT;e++)this.createLayer(e);this.element_.classList.add("is-upgraded")}},n.register({constructor:m,classAsString:"MaterialSpinner",cssClass:"mdl-js-spinner",widget:!0});var g=function(e){this.element_=e,this.init()};window.MaterialSwitch=g,g.prototype.Constant_={TINY_TIMEOUT:.001},g.prototype.CssClasses_={INPUT:"mdl-switch__input",TRACK:"mdl-switch__track",THUMB:"mdl-switch__thumb",FOCUS_HELPER:"mdl-switch__focus-helper",RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE_CONTAINER:"mdl-switch__ripple-container",RIPPLE_CENTER:"mdl-ripple--center",RIPPLE:"mdl-ripple",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_CHECKED:"is-checked"},g.prototype.onChange_=function(e){this.updateClasses_()},g.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},g.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},g.prototype.onMouseUp_=function(e){this.blur_()},g.prototype.updateClasses_=function(){this.checkDisabled(),this.checkToggleState()},g.prototype.blur_=function(){window.setTimeout(function(){this.inputElement_.blur()}.bind(this),this.Constant_.TINY_TIMEOUT)},g.prototype.checkDisabled=function(){this.inputElement_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},g.prototype.checkDisabled=g.prototype.checkDisabled,g.prototype.checkToggleState=function(){this.inputElement_.checked?this.element_.classList.add(this.CssClasses_.IS_CHECKED):this.element_.classList.remove(this.CssClasses_.IS_CHECKED)},g.prototype.checkToggleState=g.prototype.checkToggleState,g.prototype.disable=function(){this.inputElement_.disabled=!0,this.updateClasses_()},g.prototype.disable=g.prototype.disable,g.prototype.enable=function(){this.inputElement_.disabled=!1,this.updateClasses_()},g.prototype.enable=g.prototype.enable,g.prototype.on=function(){this.inputElement_.checked=!0,this.updateClasses_()},g.prototype.on=g.prototype.on,g.prototype.off=function(){this.inputElement_.checked=!1,this.updateClasses_()},g.prototype.off=g.prototype.off,g.prototype.init=function(){if(this.element_){this.inputElement_=this.element_.querySelector("."+this.CssClasses_.INPUT);var e=document.createElement("div");e.classList.add(this.CssClasses_.TRACK);var t=document.createElement("div");t.classList.add(this.CssClasses_.THUMB);var n=document.createElement("span");if(n.classList.add(this.CssClasses_.FOCUS_HELPER),t.appendChild(n),this.element_.appendChild(e),this.element_.appendChild(t),this.boundMouseUpHandler=this.onMouseUp_.bind(this),this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT)){this.element_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS),this.rippleContainerElement_=document.createElement("span"),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CONTAINER),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_EFFECT),this.rippleContainerElement_.classList.add(this.CssClasses_.RIPPLE_CENTER),this.rippleContainerElement_.addEventListener("mouseup",this.boundMouseUpHandler);var s=document.createElement("span");s.classList.add(this.CssClasses_.RIPPLE),this.rippleContainerElement_.appendChild(s),this.element_.appendChild(this.rippleContainerElement_)}this.boundChangeHandler=this.onChange_.bind(this),this.boundFocusHandler=this.onFocus_.bind(this),this.boundBlurHandler=this.onBlur_.bind(this),this.inputElement_.addEventListener("change",this.boundChangeHandler),this.inputElement_.addEventListener("focus",this.boundFocusHandler),this.inputElement_.addEventListener("blur",this.boundBlurHandler),this.element_.addEventListener("mouseup",this.boundMouseUpHandler),this.updateClasses_(),this.element_.classList.add("is-upgraded")}},n.register({constructor:g,classAsString:"MaterialSwitch",cssClass:"mdl-js-switch",widget:!0});var v=function(e){this.element_=e,this.init()};window.MaterialTabs=v,v.prototype.Constant_={},v.prototype.CssClasses_={TAB_CLASS:"mdl-tabs__tab",PANEL_CLASS:"mdl-tabs__panel",ACTIVE_CLASS:"is-active",UPGRADED_CLASS:"is-upgraded",MDL_JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",MDL_RIPPLE_CONTAINER:"mdl-tabs__ripple-container",MDL_RIPPLE:"mdl-ripple",MDL_JS_RIPPLE_EFFECT_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events"},v.prototype.initTabs_=function(){this.element_.classList.contains(this.CssClasses_.MDL_JS_RIPPLE_EFFECT)&&this.element_.classList.add(this.CssClasses_.MDL_JS_RIPPLE_EFFECT_IGNORE_EVENTS),this.tabs_=this.element_.querySelectorAll("."+this.CssClasses_.TAB_CLASS),this.panels_=this.element_.querySelectorAll("."+this.CssClasses_.PANEL_CLASS);for(var t=0;t<this.tabs_.length;t++)new e(this.tabs_[t],this);this.element_.classList.add(this.CssClasses_.UPGRADED_CLASS)},v.prototype.resetTabState_=function(){for(var e=0;e<this.tabs_.length;e++)this.tabs_[e].classList.remove(this.CssClasses_.ACTIVE_CLASS)},v.prototype.resetPanelState_=function(){for(var e=0;e<this.panels_.length;e++)this.panels_[e].classList.remove(this.CssClasses_.ACTIVE_CLASS)},v.prototype.init=function(){this.element_&&this.initTabs_()},n.register({constructor:v,classAsString:"MaterialTabs",cssClass:"mdl-js-tabs"});var b=function(e){this.element_=e,this.maxRows=this.Constant_.NO_MAX_ROWS,this.init()};window.MaterialTextfield=b,b.prototype.Constant_={NO_MAX_ROWS:-1,MAX_ROWS_ATTRIBUTE:"maxrows"},b.prototype.CssClasses_={LABEL:"mdl-textfield__label",INPUT:"mdl-textfield__input",IS_DIRTY:"is-dirty",IS_FOCUSED:"is-focused",IS_DISABLED:"is-disabled",IS_INVALID:"is-invalid",IS_UPGRADED:"is-upgraded",HAS_PLACEHOLDER:"has-placeholder"},b.prototype.onKeyDown_=function(e){var t=e.target.value.split("\n").length;13===e.keyCode&&t>=this.maxRows&&e.preventDefault()},b.prototype.onFocus_=function(e){this.element_.classList.add(this.CssClasses_.IS_FOCUSED)},b.prototype.onBlur_=function(e){this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},b.prototype.onReset_=function(e){this.updateClasses_()},b.prototype.updateClasses_=function(){this.checkDisabled(),this.checkValidity(),this.checkDirty(),this.checkFocus()},b.prototype.checkDisabled=function(){this.input_.disabled?this.element_.classList.add(this.CssClasses_.IS_DISABLED):this.element_.classList.remove(this.CssClasses_.IS_DISABLED)},b.prototype.checkDisabled=b.prototype.checkDisabled,b.prototype.checkFocus=function(){Boolean(this.element_.querySelector(":focus"))?this.element_.classList.add(this.CssClasses_.IS_FOCUSED):this.element_.classList.remove(this.CssClasses_.IS_FOCUSED)},b.prototype.checkFocus=b.prototype.checkFocus,b.prototype.checkValidity=function(){this.input_.validity&&(this.input_.validity.valid?this.element_.classList.remove(this.CssClasses_.IS_INVALID):this.element_.classList.add(this.CssClasses_.IS_INVALID))},b.prototype.checkValidity=b.prototype.checkValidity,b.prototype.checkDirty=function(){this.input_.value&&this.input_.value.length>0?this.element_.classList.add(this.CssClasses_.IS_DIRTY):this.element_.classList.remove(this.CssClasses_.IS_DIRTY)},b.prototype.checkDirty=b.prototype.checkDirty,b.prototype.disable=function(){this.input_.disabled=!0,this.updateClasses_()},b.prototype.disable=b.prototype.disable,b.prototype.enable=function(){this.input_.disabled=!1,this.updateClasses_()},b.prototype.enable=b.prototype.enable,b.prototype.change=function(e){this.input_.value=e||"",this.updateClasses_()},b.prototype.change=b.prototype.change,b.prototype.init=function(){if(this.element_&&(this.label_=this.element_.querySelector("."+this.CssClasses_.LABEL),this.input_=this.element_.querySelector("."+this.CssClasses_.INPUT),this.input_)){this.input_.hasAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE)&&(this.maxRows=parseInt(this.input_.getAttribute(this.Constant_.MAX_ROWS_ATTRIBUTE),10),isNaN(this.maxRows)&&(this.maxRows=this.Constant_.NO_MAX_ROWS)),this.input_.hasAttribute("placeholder")&&this.element_.classList.add(this.CssClasses_.HAS_PLACEHOLDER),this.boundUpdateClassesHandler=this.updateClasses_.bind(this),this.boundFocusHandler=this.onFocus_.bind(this),this.boundBlurHandler=this.onBlur_.bind(this),this.boundResetHandler=this.onReset_.bind(this),this.input_.addEventListener("input",this.boundUpdateClassesHandler),this.input_.addEventListener("focus",this.boundFocusHandler),this.input_.addEventListener("blur",this.boundBlurHandler),this.input_.addEventListener("reset",this.boundResetHandler),this.maxRows!==this.Constant_.NO_MAX_ROWS&&(this.boundKeyDownHandler=this.onKeyDown_.bind(this),this.input_.addEventListener("keydown",this.boundKeyDownHandler));var e=this.element_.classList.contains(this.CssClasses_.IS_INVALID);this.updateClasses_(),this.element_.classList.add(this.CssClasses_.IS_UPGRADED),e&&this.element_.classList.add(this.CssClasses_.IS_INVALID),this.input_.hasAttribute("autofocus")&&(this.element_.focus(),this.checkFocus())}},n.register({constructor:b,classAsString:"MaterialTextfield",cssClass:"mdl-js-textfield",widget:!0});var y=function(e){this.element_=e,this.init()};window.MaterialTooltip=y,y.prototype.Constant_={},y.prototype.CssClasses_={IS_ACTIVE:"is-active",BOTTOM:"mdl-tooltip--bottom",LEFT:"mdl-tooltip--left",RIGHT:"mdl-tooltip--right",TOP:"mdl-tooltip--top"},y.prototype.handleMouseEnter_=function(e){var t=e.target.getBoundingClientRect(),n=t.left+t.width/2,s=t.top+t.height/2,i=-1*(this.element_.offsetWidth/2),o=-1*(this.element_.offsetHeight/2);this.element_.classList.contains(this.CssClasses_.LEFT)||this.element_.classList.contains(this.CssClasses_.RIGHT)?(n=t.width/2,s+o<0?(this.element_.style.top="0",this.element_.style.marginTop="0"):(this.element_.style.top=s+"px",this.element_.style.marginTop=o+"px")):n+i<0?(this.element_.style.left="0",this.element_.style.marginLeft="0"):(this.element_.style.left=n+"px",this.element_.style.marginLeft=i+"px"),this.element_.classList.contains(this.CssClasses_.TOP)?this.element_.style.top=t.top-this.element_.offsetHeight-10+"px":this.element_.classList.contains(this.CssClasses_.RIGHT)?this.element_.style.left=t.left+t.width+10+"px":this.element_.classList.contains(this.CssClasses_.LEFT)?this.element_.style.left=t.left-this.element_.offsetWidth-10+"px":this.element_.style.top=t.top+t.height+10+"px",this.element_.classList.add(this.CssClasses_.IS_ACTIVE)},y.prototype.hideTooltip_=function(){this.element_.classList.remove(this.CssClasses_.IS_ACTIVE)},y.prototype.init=function(){if(this.element_){var e=this.element_.getAttribute("for")||this.element_.getAttribute("data-mdl-for");e&&(this.forElement_=document.getElementById(e)),this.forElement_&&(this.forElement_.hasAttribute("tabindex")||this.forElement_.setAttribute("tabindex","0"),this.boundMouseEnterHandler=this.handleMouseEnter_.bind(this),this.boundMouseLeaveAndScrollHandler=this.hideTooltip_.bind(this),this.forElement_.addEventListener("mouseenter",this.boundMouseEnterHandler,!1),this.forElement_.addEventListener("touchend",this.boundMouseEnterHandler,!1),this.forElement_.addEventListener("mouseleave",this.boundMouseLeaveAndScrollHandler,!1),window.addEventListener("scroll",this.boundMouseLeaveAndScrollHandler,!0),window.addEventListener("touchstart",this.boundMouseLeaveAndScrollHandler))}},n.register({constructor:y,classAsString:"MaterialTooltip",cssClass:"mdl-tooltip"});var w=function(e){this.element_=e,this.init()};window.MaterialLayout=w,w.prototype.Constant_={MAX_WIDTH:"(max-width: 1024px)",TAB_SCROLL_PIXELS:100,RESIZE_TIMEOUT:100,MENU_ICON:"&#xE5D2;",CHEVRON_LEFT:"chevron_left",CHEVRON_RIGHT:"chevron_right"},w.prototype.Keycodes_={ENTER:13,ESCAPE:27,SPACE:32},w.prototype.Mode_={STANDARD:0,SEAMED:1,WATERFALL:2,SCROLL:3},w.prototype.CssClasses_={CONTAINER:"mdl-layout__container",HEADER:"mdl-layout__header",DRAWER:"mdl-layout__drawer",CONTENT:"mdl-layout__content",DRAWER_BTN:"mdl-layout__drawer-button",ICON:"material-icons",JS_RIPPLE_EFFECT:"mdl-js-ripple-effect",RIPPLE_CONTAINER:"mdl-layout__tab-ripple-container",RIPPLE:"mdl-ripple",RIPPLE_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",HEADER_SEAMED:"mdl-layout__header--seamed",HEADER_WATERFALL:"mdl-layout__header--waterfall",HEADER_SCROLL:"mdl-layout__header--scroll",FIXED_HEADER:"mdl-layout--fixed-header",OBFUSCATOR:"mdl-layout__obfuscator",TAB_BAR:"mdl-layout__tab-bar",TAB_CONTAINER:"mdl-layout__tab-bar-container",TAB:"mdl-layout__tab",TAB_BAR_BUTTON:"mdl-layout__tab-bar-button",TAB_BAR_LEFT_BUTTON:"mdl-layout__tab-bar-left-button",TAB_BAR_RIGHT_BUTTON:"mdl-layout__tab-bar-right-button",TAB_MANUAL_SWITCH:"mdl-layout__tab-manual-switch",PANEL:"mdl-layout__tab-panel",HAS_DRAWER:"has-drawer",HAS_TABS:"has-tabs",HAS_SCROLLING_HEADER:"has-scrolling-header",CASTING_SHADOW:"is-casting-shadow",IS_COMPACT:"is-compact",IS_SMALL_SCREEN:"is-small-screen",IS_DRAWER_OPEN:"is-visible",IS_ACTIVE:"is-active",IS_UPGRADED:"is-upgraded",IS_ANIMATING:"is-animating",ON_LARGE_SCREEN:"mdl-layout--large-screen-only",ON_SMALL_SCREEN:"mdl-layout--small-screen-only"},w.prototype.contentScrollHandler_=function(){if(!this.header_.classList.contains(this.CssClasses_.IS_ANIMATING)){var e=!this.element_.classList.contains(this.CssClasses_.IS_SMALL_SCREEN)||this.element_.classList.contains(this.CssClasses_.FIXED_HEADER);this.content_.scrollTop>0&&!this.header_.classList.contains(this.CssClasses_.IS_COMPACT)?(this.header_.classList.add(this.CssClasses_.CASTING_SHADOW),this.header_.classList.add(this.CssClasses_.IS_COMPACT),e&&this.header_.classList.add(this.CssClasses_.IS_ANIMATING)):this.content_.scrollTop<=0&&this.header_.classList.contains(this.CssClasses_.IS_COMPACT)&&(this.header_.classList.remove(this.CssClasses_.CASTING_SHADOW),this.header_.classList.remove(this.CssClasses_.IS_COMPACT),e&&this.header_.classList.add(this.CssClasses_.IS_ANIMATING))}},w.prototype.keyboardEventHandler_=function(e){e.keyCode===this.Keycodes_.ESCAPE&&this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)&&this.toggleDrawer()},w.prototype.screenSizeHandler_=function(){this.screenSizeMediaQuery_.matches?this.element_.classList.add(this.CssClasses_.IS_SMALL_SCREEN):(this.element_.classList.remove(this.CssClasses_.IS_SMALL_SCREEN),this.drawer_&&(this.drawer_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN),this.obfuscator_.classList.remove(this.CssClasses_.IS_DRAWER_OPEN)))},w.prototype.drawerToggleHandler_=function(e){if(e&&"keydown"===e.type){if(e.keyCode!==this.Keycodes_.SPACE&&e.keyCode!==this.Keycodes_.ENTER)return;e.preventDefault()}this.toggleDrawer()},w.prototype.headerTransitionEndHandler_=function(){this.header_.classList.remove(this.CssClasses_.IS_ANIMATING)},w.prototype.headerClickHandler_=function(){this.header_.classList.contains(this.CssClasses_.IS_COMPACT)&&(this.header_.classList.remove(this.CssClasses_.IS_COMPACT),this.header_.classList.add(this.CssClasses_.IS_ANIMATING))},w.prototype.resetTabState_=function(e){for(var t=0;t<e.length;t++)e[t].classList.remove(this.CssClasses_.IS_ACTIVE)},w.prototype.resetPanelState_=function(e){for(var t=0;t<e.length;t++)e[t].classList.remove(this.CssClasses_.IS_ACTIVE)},w.prototype.toggleDrawer=function(){var e=this.element_.querySelector("."+this.CssClasses_.DRAWER_BTN);this.drawer_.classList.toggle(this.CssClasses_.IS_DRAWER_OPEN),this.obfuscator_.classList.toggle(this.CssClasses_.IS_DRAWER_OPEN),this.drawer_.classList.contains(this.CssClasses_.IS_DRAWER_OPEN)?(this.drawer_.setAttribute("aria-hidden","false"),e.setAttribute("aria-expanded","true")):(this.drawer_.setAttribute("aria-hidden","true"),e.setAttribute("aria-expanded","false"))},w.prototype.toggleDrawer=w.prototype.toggleDrawer,w.prototype.init=function(){if(this.element_){var e=document.createElement("div");e.classList.add(this.CssClasses_.CONTAINER);var n=this.element_.querySelector(":focus");this.element_.parentElement.insertBefore(e,this.element_),this.element_.parentElement.removeChild(this.element_),e.appendChild(this.element_),n&&n.focus();for(var s=this.element_.childNodes,i=s.length,o=0;o<i;o++){var r=s[o];r.classList&&r.classList.contains(this.CssClasses_.HEADER)&&(this.header_=r),r.classList&&r.classList.contains(this.CssClasses_.DRAWER)&&(this.drawer_=r),r.classList&&r.classList.contains(this.CssClasses_.CONTENT)&&(this.content_=r)}window.addEventListener("pageshow",function(e){e.persisted&&(this.element_.style.overflowY="hidden",requestAnimationFrame(function(){this.element_.style.overflowY=""}.bind(this)))}.bind(this),!1),this.header_&&(this.tabBar_=this.header_.querySelector("."+this.CssClasses_.TAB_BAR));var a=this.Mode_.STANDARD;if(this.header_&&(this.header_.classList.contains(this.CssClasses_.HEADER_SEAMED)?a=this.Mode_.SEAMED:this.header_.classList.contains(this.CssClasses_.HEADER_WATERFALL)?(a=this.Mode_.WATERFALL,this.header_.addEventListener("transitionend",this.headerTransitionEndHandler_.bind(this)),this.header_.addEventListener("click",this.headerClickHandler_.bind(this))):this.header_.classList.contains(this.CssClasses_.HEADER_SCROLL)&&(a=this.Mode_.SCROLL,e.classList.add(this.CssClasses_.HAS_SCROLLING_HEADER)),a===this.Mode_.STANDARD?(this.header_.classList.add(this.CssClasses_.CASTING_SHADOW),this.tabBar_&&this.tabBar_.classList.add(this.CssClasses_.CASTING_SHADOW)):a===this.Mode_.SEAMED||a===this.Mode_.SCROLL?(this.header_.classList.remove(this.CssClasses_.CASTING_SHADOW),this.tabBar_&&this.tabBar_.classList.remove(this.CssClasses_.CASTING_SHADOW)):a===this.Mode_.WATERFALL&&(this.content_.addEventListener("scroll",this.contentScrollHandler_.bind(this)),this.contentScrollHandler_())),this.drawer_){var l=this.element_.querySelector("."+this.CssClasses_.DRAWER_BTN);if(!l){l=document.createElement("div"),l.setAttribute("aria-expanded","false"),l.setAttribute("role","button"),l.setAttribute("tabindex","0"),l.classList.add(this.CssClasses_.DRAWER_BTN);var c=document.createElement("i");c.classList.add(this.CssClasses_.ICON),c.innerHTML=this.Constant_.MENU_ICON,l.appendChild(c)}this.drawer_.classList.contains(this.CssClasses_.ON_LARGE_SCREEN)?l.classList.add(this.CssClasses_.ON_LARGE_SCREEN):this.drawer_.classList.contains(this.CssClasses_.ON_SMALL_SCREEN)&&l.classList.add(this.CssClasses_.ON_SMALL_SCREEN),l.addEventListener("click",this.drawerToggleHandler_.bind(this)),l.addEventListener("keydown",this.drawerToggleHandler_.bind(this)),this.element_.classList.add(this.CssClasses_.HAS_DRAWER),this.element_.classList.contains(this.CssClasses_.FIXED_HEADER)?this.header_.insertBefore(l,this.header_.firstChild):this.element_.insertBefore(l,this.content_);var u=document.createElement("div");u.classList.add(this.CssClasses_.OBFUSCATOR),this.element_.appendChild(u),u.addEventListener("click",this.drawerToggleHandler_.bind(this)),this.obfuscator_=u,this.drawer_.addEventListener("keydown",this.keyboardEventHandler_.bind(this)),this.drawer_.setAttribute("aria-hidden","true")}if(this.screenSizeMediaQuery_=window.matchMedia(this.Constant_.MAX_WIDTH),this.screenSizeMediaQuery_.addListener(this.screenSizeHandler_.bind(this)),this.screenSizeHandler_(),this.header_&&this.tabBar_){this.element_.classList.add(this.CssClasses_.HAS_TABS);var d=document.createElement("div");d.classList.add(this.CssClasses_.TAB_CONTAINER),this.header_.insertBefore(d,this.tabBar_),this.header_.removeChild(this.tabBar_);var p=document.createElement("div");p.classList.add(this.CssClasses_.TAB_BAR_BUTTON),p.classList.add(this.CssClasses_.TAB_BAR_LEFT_BUTTON);var f=document.createElement("i");f.classList.add(this.CssClasses_.ICON),f.textContent=this.Constant_.CHEVRON_LEFT,p.appendChild(f),p.addEventListener("click",function(){this.tabBar_.scrollLeft-=this.Constant_.TAB_SCROLL_PIXELS}.bind(this));var h=document.createElement("div");h.classList.add(this.CssClasses_.TAB_BAR_BUTTON),h.classList.add(this.CssClasses_.TAB_BAR_RIGHT_BUTTON);var m=document.createElement("i");m.classList.add(this.CssClasses_.ICON),m.textContent=this.Constant_.CHEVRON_RIGHT,h.appendChild(m),h.addEventListener("click",function(){this.tabBar_.scrollLeft+=this.Constant_.TAB_SCROLL_PIXELS}.bind(this)),d.appendChild(p),d.appendChild(this.tabBar_),d.appendChild(h);var g=function(){this.tabBar_.scrollLeft>0?p.classList.add(this.CssClasses_.IS_ACTIVE):p.classList.remove(this.CssClasses_.IS_ACTIVE),this.tabBar_.scrollLeft<this.tabBar_.scrollWidth-this.tabBar_.offsetWidth?h.classList.add(this.CssClasses_.IS_ACTIVE):h.classList.remove(this.CssClasses_.IS_ACTIVE)}.bind(this);this.tabBar_.addEventListener("scroll",g),g();var v=function(){this.resizeTimeoutId_&&clearTimeout(this.resizeTimeoutId_),this.resizeTimeoutId_=setTimeout(function(){g(),this.resizeTimeoutId_=null}.bind(this),this.Constant_.RESIZE_TIMEOUT)}.bind(this);window.addEventListener("resize",v),this.tabBar_.classList.contains(this.CssClasses_.JS_RIPPLE_EFFECT)&&this.tabBar_.classList.add(this.CssClasses_.RIPPLE_IGNORE_EVENTS);for(var b=this.tabBar_.querySelectorAll("."+this.CssClasses_.TAB),y=this.content_.querySelectorAll("."+this.CssClasses_.PANEL),w=0;w<b.length;w++)new t(b[w],b,y,this)}this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}},window.MaterialLayoutTab=t,n.register({constructor:w,classAsString:"MaterialLayout",cssClass:"mdl-js-layout"});var _=function(e){this.element_=e,this.init()};window.MaterialDataTable=_,_.prototype.Constant_={},_.prototype.CssClasses_={DATA_TABLE:"mdl-data-table",SELECTABLE:"mdl-data-table--selectable",SELECT_ELEMENT:"mdl-data-table__select",IS_SELECTED:"is-selected",IS_UPGRADED:"is-upgraded"},_.prototype.selectRow_=function(e,t,n){return t?function(){e.checked?t.classList.add(this.CssClasses_.IS_SELECTED):t.classList.remove(this.CssClasses_.IS_SELECTED)}.bind(this):n?function(){var t,s;if(e.checked)for(t=0;t<n.length;t++)s=n[t].querySelector("td").querySelector(".mdl-checkbox"),s.MaterialCheckbox.check(),n[t].classList.add(this.CssClasses_.IS_SELECTED);else for(t=0;t<n.length;t++)s=n[t].querySelector("td").querySelector(".mdl-checkbox"),s.MaterialCheckbox.uncheck(),n[t].classList.remove(this.CssClasses_.IS_SELECTED)}.bind(this):void 0},_.prototype.createCheckbox_=function(e,t){var s=document.createElement("label"),i=["mdl-checkbox","mdl-js-checkbox","mdl-js-ripple-effect",this.CssClasses_.SELECT_ELEMENT];s.className=i.join(" ");var o=document.createElement("input");return o.type="checkbox",o.classList.add("mdl-checkbox__input"),e?(o.checked=e.classList.contains(this.CssClasses_.IS_SELECTED),o.addEventListener("change",this.selectRow_(o,e))):t&&o.addEventListener("change",this.selectRow_(o,null,t)),s.appendChild(o),n.upgradeElement(s,"MaterialCheckbox"),s},_.prototype.init=function(){if(this.element_){var e=this.element_.querySelector("th"),t=Array.prototype.slice.call(this.element_.querySelectorAll("tbody tr")),n=Array.prototype.slice.call(this.element_.querySelectorAll("tfoot tr")),s=t.concat(n);if(this.element_.classList.contains(this.CssClasses_.SELECTABLE)){var i=document.createElement("th"),o=this.createCheckbox_(null,s);i.appendChild(o),e.parentElement.insertBefore(i,e);for(var r=0;r<s.length;r++){var a=s[r].querySelector("td");if(a){var l=document.createElement("td");if("TBODY"===s[r].parentNode.nodeName.toUpperCase()){var c=this.createCheckbox_(s[r]);l.appendChild(c)}s[r].insertBefore(l,a)}}this.element_.classList.add(this.CssClasses_.IS_UPGRADED)}}},n.register({constructor:_,classAsString:"MaterialDataTable",cssClass:"mdl-js-data-table"});var C=function(e){this.element_=e,this.init()};window.MaterialRipple=C,C.prototype.Constant_={INITIAL_SCALE:"scale(0.0001, 0.0001)",INITIAL_SIZE:"1px",INITIAL_OPACITY:"0.4",FINAL_OPACITY:"0",FINAL_SCALE:""},C.prototype.CssClasses_={RIPPLE_CENTER:"mdl-ripple--center",RIPPLE_EFFECT_IGNORE_EVENTS:"mdl-js-ripple-effect--ignore-events",RIPPLE:"mdl-ripple",IS_ANIMATING:"is-animating",IS_VISIBLE:"is-visible"},C.prototype.downHandler_=function(e){if(!this.rippleElement_.style.width&&!this.rippleElement_.style.height){var t=this.element_.getBoundingClientRect();this.boundHeight=t.height,this.boundWidth=t.width,this.rippleSize_=2*Math.sqrt(t.width*t.width+t.height*t.height)+2,this.rippleElement_.style.width=this.rippleSize_+"px",this.rippleElement_.style.height=this.rippleSize_+"px"}if(this.rippleElement_.classList.add(this.CssClasses_.IS_VISIBLE),"mousedown"===e.type&&this.ignoringMouseDown_)this.ignoringMouseDown_=!1;else{"touchstart"===e.type&&(this.ignoringMouseDown_=!0);var n=this.getFrameCount();if(n>0)return;this.setFrameCount(1);var s,i,o=e.currentTarget.getBoundingClientRect();if(0===e.clientX&&0===e.clientY)s=Math.round(o.width/2),i=Math.round(o.height/2);else{var r=void 0!==e.clientX?e.clientX:e.touches[0].clientX,a=void 0!==e.clientY?e.clientY:e.touches[0].clientY;s=Math.round(r-o.left),i=Math.round(a-o.top)}this.setRippleXY(s,i),this.setRippleStyles(!0),window.requestAnimationFrame(this.animFrameHandler.bind(this))}},C.prototype.upHandler_=function(e){e&&2!==e.detail&&window.setTimeout(function(){this.rippleElement_.classList.remove(this.CssClasses_.IS_VISIBLE)}.bind(this),0)},C.prototype.init=function(){if(this.element_){var e=this.element_.classList.contains(this.CssClasses_.RIPPLE_CENTER);this.element_.classList.contains(this.CssClasses_.RIPPLE_EFFECT_IGNORE_EVENTS)||(this.rippleElement_=this.element_.querySelector("."+this.CssClasses_.RIPPLE),this.frameCount_=0,this.rippleSize_=0,this.x_=0,this.y_=0,this.ignoringMouseDown_=!1,this.boundDownHandler=this.downHandler_.bind(this),this.element_.addEventListener("mousedown",this.boundDownHandler),this.element_.addEventListener("touchstart",this.boundDownHandler),this.boundUpHandler=this.upHandler_.bind(this),this.element_.addEventListener("mouseup",this.boundUpHandler),this.element_.addEventListener("mouseleave",this.boundUpHandler),this.element_.addEventListener("touchend",this.boundUpHandler),this.element_.addEventListener("blur",this.boundUpHandler),this.getFrameCount=function(){return this.frameCount_},this.setFrameCount=function(e){this.frameCount_=e},this.getRippleElement=function(){return this.rippleElement_},this.setRippleXY=function(e,t){this.x_=e,this.y_=t},this.setRippleStyles=function(t){if(null!==this.rippleElement_){var n,s,i,o="translate("+this.x_+"px, "+this.y_+"px)";t?(s=this.Constant_.INITIAL_SCALE,i=this.Constant_.INITIAL_SIZE):(s=this.Constant_.FINAL_SCALE,i=this.rippleSize_+"px",e&&(o="translate("+this.boundWidth/2+"px, "+this.boundHeight/2+"px)")),n="translate(-50%, -50%) "+o+s,this.rippleElement_.style.webkitTransform=n,this.rippleElement_.style.msTransform=n,this.rippleElement_.style.transform=n,t?this.rippleElement_.classList.remove(this.CssClasses_.IS_ANIMATING):this.rippleElement_.classList.add(this.CssClasses_.IS_ANIMATING)}},this.animFrameHandler=function(){this.frameCount_-- >0?window.requestAnimationFrame(this.animFrameHandler.bind(this)):this.setRippleStyles(!1)})}},n.register({constructor:C,classAsString:"MaterialRipple",cssClass:"mdl-js-ripple-effect",widget:!1})}()},function(e,t,n){var s,i,o;/*! nouislider - 10.1.0 - 2017-07-28 17:11:18 */
+!function(n){i=[],s=n,o="function"==typeof s?s.apply(t,i):s,!(void 0!==o&&(e.exports=o))}(function(){"use strict";function e(e){return"object"==typeof e&&"function"==typeof e.to&&"function"==typeof e.from}function t(e){e.parentElement.removeChild(e)}function n(e){e.preventDefault()}function s(e){return e.filter(function(e){return!this[e]&&(this[e]=!0)},{})}function i(e,t){return Math.round(e/t)*t}function o(e,t){var n=e.getBoundingClientRect(),s=e.ownerDocument,i=s.documentElement,o=h(s);return/webkit.*Chrome.*Mobile/i.test(navigator.userAgent)&&(o.x=0),t?n.top+o.y-i.clientTop:n.left+o.x-i.clientLeft}function r(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}function a(e,t,n){n>0&&(d(e,t),setTimeout(function(){p(e,t)},n))}function l(e){return Math.max(Math.min(e,100),0)}function c(e){return Array.isArray(e)?e:[e]}function u(e){e=String(e);var t=e.split(".");return t.length>1?t[1].length:0}function d(e,t){e.classList?e.classList.add(t):e.className+=" "+t}function p(e,t){e.classList?e.classList.remove(t):e.className=e.className.replace(new RegExp("(^|\\b)"+t.split(" ").join("|")+"(\\b|$)","gi")," ")}function f(e,t){return e.classList?e.classList.contains(t):new RegExp("\\b"+t+"\\b").test(e.className)}function h(e){var t=void 0!==window.pageXOffset,n="CSS1Compat"===(e.compatMode||""),s=t?window.pageXOffset:n?e.documentElement.scrollLeft:e.body.scrollLeft,i=t?window.pageYOffset:n?e.documentElement.scrollTop:e.body.scrollTop;return{x:s,y:i}}function m(){return window.navigator.pointerEnabled?{start:"pointerdown",move:"pointermove",end:"pointerup"}:window.navigator.msPointerEnabled?{start:"MSPointerDown",move:"MSPointerMove",end:"MSPointerUp"}:{start:"mousedown touchstart",move:"mousemove touchmove",end:"mouseup touchend"}}function g(){var e=!1;try{var t=Object.defineProperty({},"passive",{get:function(){e=!0}});window.addEventListener("test",null,t)}catch(e){}return e}function v(){return window.CSS&&CSS.supports&&CSS.supports("touch-action","none")}function b(e,t){return 100/(t-e)}function y(e,t){return 100*t/(e[1]-e[0])}function w(e,t){return y(e,e[0]<0?t+Math.abs(e[0]):t-e[0])}function _(e,t){return t*(e[1]-e[0])/100+e[0]}function C(e,t){for(var n=1;e>=t[n];)n+=1;return n}function x(e,t,n){if(n>=e.slice(-1)[0])return 100;var s,i,o,r,a=C(n,e);return s=e[a-1],i=e[a],o=t[a-1],r=t[a],o+w([s,i],n)/b(o,r)}function E(e,t,n){if(n>=100)return e.slice(-1)[0];var s,i,o,r,a=C(n,t);return s=e[a-1],i=e[a],o=t[a-1],r=t[a],_([s,i],(n-o)*b(o,r))}function k(e,t,n,s){if(100===s)return s;var o,r,a=C(s,e);return n?(o=e[a-1],r=e[a],s-o>(r-o)/2?r:o):t[a-1]?e[a-1]+i(s-e[a-1],t[a-1]):s}function S(e,t,n){var s;if("number"==typeof t&&(t=[t]),"[object Array]"!==Object.prototype.toString.call(t))throw new Error("noUiSlider ("+Q+"): 'range' contains invalid value.");if(s="min"===e?0:"max"===e?100:parseFloat(e),!r(s)||!r(t[0]))throw new Error("noUiSlider ("+Q+"): 'range' value isn't numeric.");n.xPct.push(s),n.xVal.push(t[0]),s?n.xSteps.push(!isNaN(t[1])&&t[1]):isNaN(t[1])||(n.xSteps[0]=t[1]),n.xHighestCompleteStep.push(0)}function T(e,t,n){if(!t)return!0;n.xSteps[e]=y([n.xVal[e],n.xVal[e+1]],t)/b(n.xPct[e],n.xPct[e+1]);var s=(n.xVal[e+1]-n.xVal[e])/n.xNumSteps[e],i=Math.ceil(Number(s.toFixed(3))-1),o=n.xVal[e]+n.xNumSteps[e]*i;n.xHighestCompleteStep[e]=o}function L(e,t,n){this.xPct=[],this.xVal=[],this.xSteps=[n||!1],this.xNumSteps=[!1],this.xHighestCompleteStep=[],this.snap=t;var s,i=[];for(s in e)e.hasOwnProperty(s)&&i.push([e[s],s]);for(i.length&&"object"==typeof i[0][0]?i.sort(function(e,t){return e[0][0]-t[0][0]}):i.sort(function(e,t){return e[0]-t[0]}),s=0;s<i.length;s++)S(i[s][1],i[s][0],this);for(this.xNumSteps=this.xSteps.slice(0),s=0;s<this.xNumSteps.length;s++)T(s,this.xNumSteps[s],this)}function A(t){if(e(t))return!0;throw new Error("noUiSlider ("+Q+"): 'format' requires 'to' and 'from' methods.")}function I(e,t){if(!r(t))throw new Error("noUiSlider ("+Q+"): 'step' is not numeric.");e.singleStep=t}function N(e,t){if("object"!=typeof t||Array.isArray(t))throw new Error("noUiSlider ("+Q+"): 'range' is not an object.");if(void 0===t.min||void 0===t.max)throw new Error("noUiSlider ("+Q+"): Missing 'min' or 'max' in 'range'.");if(t.min===t.max)throw new Error("noUiSlider ("+Q+"): 'range' 'min' and 'max' cannot be equal.");e.spectrum=new L(t,e.snap,e.singleStep)}function R(e,t){if(t=c(t),!Array.isArray(t)||!t.length)throw new Error("noUiSlider ("+Q+"): 'start' option is incorrect.");e.handles=t.length,e.start=t}function P(e,t){if(e.snap=t,"boolean"!=typeof t)throw new Error("noUiSlider ("+Q+"): 'snap' option must be a boolean.")}function D(e,t){if(e.animate=t,"boolean"!=typeof t)throw new Error("noUiSlider ("+Q+"): 'animate' option must be a boolean.")}function M(e,t){if(e.animationDuration=t,"number"!=typeof t)throw new Error("noUiSlider ("+Q+"): 'animationDuration' option must be a number.")}function O(e,t){var n,s=[!1];if("lower"===t?t=[!0,!1]:"upper"===t&&(t=[!1,!0]),t===!0||t===!1){for(n=1;n<e.handles;n++)s.push(t);s.push(!1)}else{if(!Array.isArray(t)||!t.length||t.length!==e.handles+1)throw new Error("noUiSlider ("+Q+"): 'connect' option doesn't match handle count.");s=t}e.connect=s}function F(e,t){switch(t){case"horizontal":e.ort=0;break;case"vertical":e.ort=1;break;default:throw new Error("noUiSlider ("+Q+"): 'orientation' option is invalid.")}}function H(e,t){if(!r(t))throw new Error("noUiSlider ("+Q+"): 'margin' option must be numeric.");if(0!==t&&(e.margin=e.spectrum.getMargin(t),!e.margin))throw new Error("noUiSlider ("+Q+"): 'margin' option is only supported on linear sliders.")}function B(e,t){if(!r(t))throw new Error("noUiSlider ("+Q+"): 'limit' option must be numeric.");if(e.limit=e.spectrum.getMargin(t),!e.limit||e.handles<2)throw new Error("noUiSlider ("+Q+"): 'limit' option is only supported on linear sliders with 2 or more handles.")}function j(e,t){if(!r(t))throw new Error("noUiSlider ("+Q+"): 'padding' option must be numeric.");if(0!==t){if(e.padding=e.spectrum.getMargin(t),!e.padding)throw new Error("noUiSlider ("+Q+"): 'padding' option is only supported on linear sliders.");if(e.padding<0)throw new Error("noUiSlider ("+Q+"): 'padding' option must be a positive number.");if(e.padding>=50)throw new Error("noUiSlider ("+Q+"): 'padding' option must be less than half the range.")}}function q(e,t){switch(t){case"ltr":e.dir=0;break;case"rtl":e.dir=1;break;default:throw new Error("noUiSlider ("+Q+"): 'direction' option was not recognized.")}}function U(e,t){if("string"!=typeof t)throw new Error("noUiSlider ("+Q+"): 'behaviour' must be a string containing options.");var n=t.indexOf("tap")>=0,s=t.indexOf("drag")>=0,i=t.indexOf("fixed")>=0,o=t.indexOf("snap")>=0,r=t.indexOf("hover")>=0;if(i){if(2!==e.handles)throw new Error("noUiSlider ("+Q+"): 'fixed' behaviour must be used with 2 handles");H(e,e.start[1]-e.start[0])}e.events={tap:n||o,drag:s,fixed:i,snap:o,hover:r}}function V(e,t){if(e.multitouch=t,"boolean"!=typeof t)throw new Error("noUiSlider ("+Q+"): 'multitouch' option must be a boolean.")}function z(e,t){if(t!==!1)if(t===!0){e.tooltips=[];for(var n=0;n<e.handles;n++)e.tooltips.push(!0)}else{if(e.tooltips=c(t),e.tooltips.length!==e.handles)throw new Error("noUiSlider ("+Q+"): must pass a formatter for all handles.");e.tooltips.forEach(function(e){if("boolean"!=typeof e&&("object"!=typeof e||"function"!=typeof e.to))throw new Error("noUiSlider ("+Q+"): 'tooltips' must be passed a formatter or 'false'.")})}}function W(e,t){e.ariaFormat=t,A(t)}function $(e,t){e.format=t,A(t)}function G(e,t){if(void 0!==t&&"string"!=typeof t&&t!==!1)throw new Error("noUiSlider ("+Q+"): 'cssPrefix' must be a string or `false`.");e.cssPrefix=t}function X(e,t){if(void 0!==t&&"object"!=typeof t)throw new Error("noUiSlider ("+Q+"): 'cssClasses' must be an object.");if("string"==typeof e.cssPrefix){e.cssClasses={};for(var n in t)t.hasOwnProperty(n)&&(e.cssClasses[n]=e.cssPrefix+t[n])}else e.cssClasses=t}function Y(e,t){if(t!==!0&&t!==!1)throw new Error("noUiSlider ("+Q+"): 'useRequestAnimationFrame' option should be true (default) or false.");e.useRequestAnimationFrame=t}function K(e){var t={margin:0,limit:0,padding:0,animate:!0,animationDuration:300,ariaFormat:ee,format:ee},n={step:{r:!1,t:I},start:{r:!0,t:R},connect:{r:!0,t:O},direction:{r:!0,t:q},snap:{r:!1,t:P},animate:{r:!1,t:D},animationDuration:{r:!1,t:M},range:{r:!0,t:N},orientation:{r:!1,t:F},margin:{r:!1,t:H},limit:{r:!1,t:B},padding:{r:!1,t:j},behaviour:{r:!0,t:U},multitouch:{r:!0,t:V},ariaFormat:{r:!1,t:W},format:{r:!1,t:$},tooltips:{r:!1,t:z},cssPrefix:{r:!1,t:G},cssClasses:{r:!1,t:X},useRequestAnimationFrame:{r:!1,t:Y}},s={connect:!1,direction:"ltr",behaviour:"tap",multitouch:!1,orientation:"horizontal",cssPrefix:"noUi-",cssClasses:{target:"target",base:"base",origin:"origin",handle:"handle",handleLower:"handle-lower",handleUpper:"handle-upper",horizontal:"horizontal",vertical:"vertical",background:"background",connect:"connect",ltr:"ltr",rtl:"rtl",draggable:"draggable",drag:"state-drag",tap:"state-tap",active:"active",tooltip:"tooltip",pips:"pips",pipsHorizontal:"pips-horizontal",pipsVertical:"pips-vertical",marker:"marker",markerHorizontal:"marker-horizontal",markerVertical:"marker-vertical",markerNormal:"marker-normal",markerLarge:"marker-large",markerSub:"marker-sub",value:"value",valueHorizontal:"value-horizontal",valueVertical:"value-vertical",valueNormal:"value-normal",valueLarge:"value-large",valueSub:"value-sub"},useRequestAnimationFrame:!0};e.format&&!e.ariaFormat&&(e.ariaFormat=e.format),Object.keys(n).forEach(function(i){if(void 0===e[i]&&void 0===s[i]){if(n[i].r)throw new Error("noUiSlider ("+Q+"): '"+i+"' is required.");return!0}n[i].t(t,void 0===e[i]?s[i]:e[i])}),t.pips=e.pips;var i=[["left","top"],["right","bottom"]];return t.style=i[t.dir][t.ort],t.styleOposite=i[t.dir?0:1][t.ort],t}function Z(e,i,r){function u(e,t){var n=Ce.createElement("div");return t&&d(n,t),e.appendChild(n),n}function b(e,t){var n=u(e,i.cssClasses.origin),s=u(n,i.cssClasses.handle);return s.setAttribute("data-handle",t),s.setAttribute("tabindex","0"),s.setAttribute("role","slider"),s.setAttribute("aria-orientation",i.ort?"vertical":"horizontal"),0===t?d(s,i.cssClasses.handleLower):t===i.handles-1&&d(s,i.cssClasses.handleUpper),n}function y(e,t){return!!t&&u(e,i.cssClasses.connect)}function w(e,t){le=[],ce=[],ce.push(y(t,e[0]));for(var n=0;n<i.handles;n++)le.push(b(t,n)),ve[n]=n,ce.push(y(t,e[n+1]))}function _(e){d(e,i.cssClasses.target),0===i.dir?d(e,i.cssClasses.ltr):d(e,i.cssClasses.rtl),0===i.ort?d(e,i.cssClasses.horizontal):d(e,i.cssClasses.vertical),ae=u(e,i.cssClasses.base)}function C(e,t){return!!i.tooltips[t]&&u(e.firstChild,i.cssClasses.tooltip)}function x(){var e=le.map(C);ie("update",function(t,n,s){if(e[n]){var o=t[n];i.tooltips[n]!==!0&&(o=i.tooltips[n].to(s[n])),e[n].innerHTML=o}})}function E(){ie("update",function(e,t,n,s,o){ve.forEach(function(e){var t=le[e],s=z(ge,e,0,!0,!0,!0),r=z(ge,e,100,!0,!0,!0),a=o[e],l=i.ariaFormat.to(n[e]);t.children[0].setAttribute("aria-valuemin",s.toFixed(1)),t.children[0].setAttribute("aria-valuemax",r.toFixed(1)),t.children[0].setAttribute("aria-valuenow",a.toFixed(1)),t.children[0].setAttribute("aria-valuetext",l)})})}function k(e,t,n){if("range"===e||"steps"===e)return ye.xVal;if("count"===e){if(!t)throw new Error("noUiSlider ("+Q+"): 'values' required for mode 'count'.");var s,i=100/(t-1),o=0;for(t=[];(s=o++*i)<=100;)t.push(s);e="positions"}return"positions"===e?t.map(function(e){return ye.fromStepping(n?ye.getStep(e):e)}):"values"===e?n?t.map(function(e){return ye.fromStepping(ye.getStep(ye.toStepping(e)))}):t:void 0}function S(e,t,n){function i(e,t){return(e+t).toFixed(7)/1}var o={},r=ye.xVal[0],a=ye.xVal[ye.xVal.length-1],l=!1,c=!1,u=0;return n=s(n.slice().sort(function(e,t){return e-t})),n[0]!==r&&(n.unshift(r),l=!0),n[n.length-1]!==a&&(n.push(a),c=!0),n.forEach(function(s,r){var a,d,p,f,h,m,g,v,b,y,w=s,_=n[r+1];if("steps"===t&&(a=ye.xNumSteps[r]),a||(a=_-w),w!==!1&&void 0!==_)for(a=Math.max(a,1e-7),d=w;d<=_;d=i(d,a)){for(f=ye.toStepping(d),h=f-u,v=h/e,b=Math.round(v),y=h/b,p=1;p<=b;p+=1)m=u+p*y,o[m.toFixed(5)]=["x",0];g=n.indexOf(d)>-1?1:"steps"===t?2:0,!r&&l&&(g=0),d===_&&c||(o[f.toFixed(5)]=[d,g]),u=f}}),o}function T(e,t,n){function s(e,t){var n=t===i.cssClasses.value,s=n?c:p,o=n?a:l;return t+" "+s[i.ort]+" "+o[e]}function o(e,o){o[1]=o[1]&&t?t(o[0],o[1]):o[1];var a=u(r,!1);a.className=s(o[1],i.cssClasses.marker),a.style[i.style]=e+"%",o[1]&&(a=u(r,!1),a.className=s(o[1],i.cssClasses.value),a.style[i.style]=e+"%",a.innerText=n.to(o[0]))}var r=Ce.createElement("div"),a=[i.cssClasses.valueNormal,i.cssClasses.valueLarge,i.cssClasses.valueSub],l=[i.cssClasses.markerNormal,i.cssClasses.markerLarge,i.cssClasses.markerSub],c=[i.cssClasses.valueHorizontal,i.cssClasses.valueVertical],p=[i.cssClasses.markerHorizontal,i.cssClasses.markerVertical];return d(r,i.cssClasses.pips),d(r,0===i.ort?i.cssClasses.pipsHorizontal:i.cssClasses.pipsVertical),Object.keys(e).forEach(function(t){o(t,e[t])}),r}function L(){de&&(t(de),de=null)}function A(e){L();var t=e.mode,n=e.density||1,s=e.filter||!1,i=e.values||!1,o=e.stepped||!1,r=k(t,i,o),a=S(n,t,r),l=e.format||{to:Math.round};return de=me.appendChild(T(a,s,l))}function I(){var e=ae.getBoundingClientRect(),t="offset"+["Width","Height"][i.ort];return 0===i.ort?e.width||ae[t]:e.height||ae[t]}function N(e,t,n,s){var o=function(o){return!me.hasAttribute("disabled")&&(!f(me,i.cssClasses.tap)&&(!!(o=R(o,s.pageOffset,s.target||t))&&(!(e===pe.start&&void 0!==o.buttons&&o.buttons>1)&&((!s.hover||!o.buttons)&&(he||o.preventDefault(),o.calcPoint=o.points[i.ort],void n(o,s))))))},r=[];return e.split(" ").forEach(function(e){t.addEventListener(e,o,!!he&&{passive:!0}),r.push([e,o])}),r}function R(e,t,n){var s,o,r=0===e.type.indexOf("touch"),a=0===e.type.indexOf("mouse"),l=0===e.type.indexOf("pointer");if(0===e.type.indexOf("MSPointer")&&(l=!0),r&&i.multitouch){var c=function(e){return e.target===n||n.contains(e.target)};if("touchstart"===e.type){var u=Array.prototype.filter.call(e.touches,c);if(u.length>1)return!1;s=u[0].pageX,o=u[0].pageY}else{var d=Array.prototype.find.call(e.changedTouches,c);if(!d)return!1;s=d.pageX,o=d.pageY}}else if(r){if(e.touches.length>1)return!1;s=e.changedTouches[0].pageX,o=e.changedTouches[0].pageY}return t=t||h(Ce),(a||l)&&(s=e.clientX+t.x,o=e.clientY+t.y),e.pageOffset=t,e.points=[s,o],e.cursor=a||l,e}function P(e){var t=e-o(ae,i.ort),n=100*t/I();return i.dir?100-n:n}function D(e){var t=100,n=!1;return le.forEach(function(s,i){if(!s.hasAttribute("disabled")){var o=Math.abs(ge[i]-e);o<t&&(n=i,t=o)}}),n}function M(e,t,n,s){var i=n.slice(),o=[!e,e],r=[e,!e];s=s.slice(),e&&s.reverse(),s.length>1?s.forEach(function(e,n){var s=z(i,e,i[e]+t,o[n],r[n],!1);s===!1?t=0:(t=s-i[e],i[e]=s)}):o=r=[!0];var a=!1;s.forEach(function(e,s){a=X(e,n[e]+t,o[s],r[s])||a}),a&&s.forEach(function(e){O("update",e),O("slide",e)})}function O(e,t,n){Object.keys(_e).forEach(function(s){var o=s.split(".")[0];e===o&&_e[s].forEach(function(e){e.call(ue,we.map(i.format.to),t,we.slice(),n||!1,ge.slice())})})}function F(e,t){"mouseout"===e.type&&"HTML"===e.target.nodeName&&null===e.relatedTarget&&B(e,t)}function H(e,t){if(navigator.appVersion.indexOf("MSIE 9")===-1&&0===e.buttons&&0!==t.buttonsProperty)return B(e,t);var n=(i.dir?-1:1)*(e.calcPoint-t.startCalcPoint),s=100*n/t.baseSize;M(n>0,s,t.locations,t.handleNumbers)}function B(e,t){t.handle&&(p(t.handle,i.cssClasses.active),be-=1),t.listeners.forEach(function(e){xe.removeEventListener(e[0],e[1])}),0===be&&(p(me,i.cssClasses.drag),G(),e.cursor&&(Ee.style.cursor="",Ee.removeEventListener("selectstart",n))),t.handleNumbers.forEach(function(e){O("change",e),O("set",e),O("end",e)})}function j(e,t){var s;if(1===t.handleNumbers.length){var o=le[t.handleNumbers[0]];if(o.hasAttribute("disabled"))return!1;s=o.children[0],be+=1,d(s,i.cssClasses.active)}e.stopPropagation();var r=[],a=N(pe.move,xe,H,{target:e.target,handle:s,listeners:r,startCalcPoint:e.calcPoint,baseSize:I(),pageOffset:e.pageOffset,handleNumbers:t.handleNumbers,buttonsProperty:e.buttons,locations:ge.slice()}),l=N(pe.end,xe,B,{target:e.target,handle:s,listeners:r,handleNumbers:t.handleNumbers}),c=N("mouseout",xe,F,{target:e.target,handle:s,listeners:r,handleNumbers:t.handleNumbers});r.push.apply(r,a.concat(l,c)),e.cursor&&(Ee.style.cursor=getComputedStyle(e.target).cursor,le.length>1&&d(me,i.cssClasses.drag),Ee.addEventListener("selectstart",n,!1)),t.handleNumbers.forEach(function(e){O("start",e)})}function q(e){e.stopPropagation();var t=P(e.calcPoint),n=D(t);return n!==!1&&(i.events.snap||a(me,i.cssClasses.tap,i.animationDuration),X(n,t,!0,!0),G(),O("slide",n,!0),O("update",n,!0),O("change",n,!0),O("set",n,!0),void(i.events.snap&&j(e,{handleNumbers:[n]})))}function U(e){var t=P(e.calcPoint),n=ye.getStep(t),s=ye.fromStepping(n);Object.keys(_e).forEach(function(e){"hover"===e.split(".")[0]&&_e[e].forEach(function(e){e.call(ue,s)})})}function V(e){e.fixed||le.forEach(function(e,t){N(pe.start,e.children[0],j,{handleNumbers:[t]})}),e.tap&&N(pe.start,ae,q,{}),e.hover&&N(pe.move,ae,U,{hover:!0}),e.drag&&ce.forEach(function(t,n){if(t!==!1&&0!==n&&n!==ce.length-1){var s=le[n-1],o=le[n],r=[t];d(t,i.cssClasses.draggable),e.fixed&&(r.push(s.children[0]),r.push(o.children[0])),r.forEach(function(e){N(pe.start,e,j,{handles:[s,o],handleNumbers:[n-1,n]})})}})}function z(e,t,n,s,o,r){return le.length>1&&(s&&t>0&&(n=Math.max(n,e[t-1]+i.margin)),o&&t<le.length-1&&(n=Math.min(n,e[t+1]-i.margin))),le.length>1&&i.limit&&(s&&t>0&&(n=Math.min(n,e[t-1]+i.limit)),o&&t<le.length-1&&(n=Math.max(n,e[t+1]-i.limit))),i.padding&&(0===t&&(n=Math.max(n,i.padding)),t===le.length-1&&(n=Math.min(n,100-i.padding))),n=ye.getStep(n),n=l(n),!(n===e[t]&&!r)&&n}function W(e){return e+"%"}function $(e,t){ge[e]=t,we[e]=ye.fromStepping(t);var n=function(){le[e].style[i.style]=W(t),Y(e),Y(e+1)};window.requestAnimationFrame&&i.useRequestAnimationFrame?window.requestAnimationFrame(n):n()}function G(){ve.forEach(function(e){var t=ge[e]>50?-1:1,n=3+(le.length+t*e);le[e].childNodes[0].style.zIndex=n})}function X(e,t,n,s){return t=z(ge,e,t,n,s,!1),t!==!1&&($(e,t),!0)}function Y(e){if(ce[e]){var t=0,n=100;0!==e&&(t=ge[e-1]),e!==ce.length-1&&(n=ge[e]),ce[e].style[i.style]=W(t),ce[e].style[i.styleOposite]=W(100-n)}}function Z(e,t){null!==e&&e!==!1&&("number"==typeof e&&(e=String(e)),e=i.format.from(e),e===!1||isNaN(e)||X(t,ye.toStepping(e),!1,!1))}function J(e,t){var n=c(e),s=void 0===ge[0];t=void 0===t||!!t,n.forEach(Z),i.animate&&!s&&a(me,i.cssClasses.tap,i.animationDuration),ve.forEach(function(e){X(e,ge[e],!0,!1)}),G(),ve.forEach(function(e){O("update",e),null!==n[e]&&t&&O("set",e)})}function ee(e){J(i.start,e)}function te(){var e=we.map(i.format.to);return 1===e.length?e[0]:e}function ne(){for(var e in i.cssClasses)i.cssClasses.hasOwnProperty(e)&&p(me,i.cssClasses[e]);for(;me.firstChild;)me.removeChild(me.firstChild);delete me.noUiSlider}function se(){return ge.map(function(e,t){var n=ye.getNearbySteps(e),s=we[t],i=n.thisStep.step,o=null;i!==!1&&s+i>n.stepAfter.startValue&&(i=n.stepAfter.startValue-s),o=s>n.thisStep.startValue?n.thisStep.step:n.stepBefore.step!==!1&&s-n.stepBefore.highestStep,100===e?i=null:0===e&&(o=null);var r=ye.countStepDecimals();return null!==i&&i!==!1&&(i=Number(i.toFixed(r))),null!==o&&o!==!1&&(o=Number(o.toFixed(r))),[o,i]})}function ie(e,t){_e[e]=_e[e]||[],_e[e].push(t),"update"===e.split(".")[0]&&le.forEach(function(e,t){O("update",t)})}function oe(e){var t=e&&e.split(".")[0],n=t&&e.substring(t.length);Object.keys(_e).forEach(function(e){var s=e.split(".")[0],i=e.substring(s.length);t&&t!==s||n&&n!==i||delete _e[e]})}function re(e,t){var n=te(),s=["margin","limit","padding","range","animate","snap","step","format"];s.forEach(function(t){void 0!==e[t]&&(r[t]=e[t])});var o=K(r);s.forEach(function(t){void 0!==e[t]&&(i[t]=o[t])}),ye=o.spectrum,i.margin=o.margin,i.limit=o.limit,i.padding=o.padding,i.pips&&A(i.pips),ge=[],J(e.start||n,t)}var ae,le,ce,ue,de,pe=m(),fe=v(),he=fe&&g(),me=e,ge=[],ve=[],be=0,ye=i.spectrum,we=[],_e={},Ce=e.ownerDocument,xe=Ce.documentElement,Ee=Ce.body;if(me.noUiSlider)throw new Error("noUiSlider ("+Q+"): Slider was already initialized.");return _(me),w(i.connect,ae),ue={destroy:ne,steps:se,on:ie,off:oe,get:te,set:J,reset:ee,__moveHandles:function(e,t,n){M(e,t,ge,n)},options:r,updateOptions:re,target:me,removePips:L,pips:A},V(i.events),J(i.start),i.pips&&A(i.pips),i.tooltips&&x(),E(),ue}function J(e,t){if(!e||!e.nodeName)throw new Error("noUiSlider ("+Q+"): create requires a single element, got: "+e);var n=K(t,e),s=Z(e,n,t);return e.noUiSlider=s,s}var Q="10.1.0";L.prototype.getMargin=function(e){var t=this.xNumSteps[0];if(t&&e/t%1!==0)throw new Error("noUiSlider ("+Q+"): 'limit', 'margin' and 'padding' must be divisible by step.");return 2===this.xPct.length&&y(this.xVal,e)},L.prototype.toStepping=function(e){return e=x(this.xVal,this.xPct,e)},L.prototype.fromStepping=function(e){return E(this.xVal,this.xPct,e)},L.prototype.getStep=function(e){return e=k(this.xPct,this.xSteps,this.snap,e)},L.prototype.getNearbySteps=function(e){var t=C(e,this.xPct);return{stepBefore:{startValue:this.xVal[t-2],step:this.xNumSteps[t-2],highestStep:this.xHighestCompleteStep[t-2]},thisStep:{startValue:this.xVal[t-1],step:this.xNumSteps[t-1],highestStep:this.xHighestCompleteStep[t-1]},stepAfter:{startValue:this.xVal[t-0],step:this.xNumSteps[t-0],highestStep:this.xHighestCompleteStep[t-0]}}},L.prototype.countStepDecimals=function(){var e=this.xNumSteps.map(u);return Math.max.apply(null,e)},L.prototype.convert=function(e){return this.getStep(this.toStepping(e))};var ee={to:function(e){return void 0!==e&&e.toFixed(2)},from:Number};return{version:Q,create:J}})},function(e,t,n){var s,i;!function(n,o){"use strict";"object"==typeof e&&"object"==typeof e.exports?e.exports=o(n,document):(s=[],i=function(){return o(n,document)}.apply(t,s),!(void 0!==i&&(e.exports=i)))}("undefined"!=typeof window?window:this,function(e,t){"use strict";function n(){var e,n,s,i=navigator.userAgent,o=navigator.appName,r=""+parseFloat(navigator.appVersion),a=parseInt(navigator.appVersion,10),l=!1,c=!1,u=!1,d=!1;return navigator.appVersion.indexOf("Windows NT")!==-1&&navigator.appVersion.indexOf("rv:11")!==-1?(l=!0,o="IE",r="11"):(n=i.indexOf("MSIE"))!==-1?(l=!0,o="IE",r=i.substring(n+5)):(n=i.indexOf("Chrome"))!==-1?(u=!0,o="Chrome",r=i.substring(n+7)):(n=i.indexOf("Safari"))!==-1?(d=!0,o="Safari",r=i.substring(n+7),(n=i.indexOf("Version"))!==-1&&(r=i.substring(n+8))):(n=i.indexOf("Firefox"))!==-1?(c=!0,o="Firefox",r=i.substring(n+8)):(e=i.lastIndexOf(" ")+1)<(n=i.lastIndexOf("/"))&&(o=i.substring(e,n),r=i.substring(n+1),o.toLowerCase()===o.toUpperCase()&&(o=navigator.appName)),(s=r.indexOf(";"))!==-1&&(r=r.substring(0,s)),(s=r.indexOf(" "))!==-1&&(r=r.substring(0,s)),a=parseInt(""+r,10),isNaN(a)&&(r=""+parseFloat(navigator.appVersion),a=parseInt(navigator.appVersion,10)),{name:o,version:a,isIE:l,isFirefox:c,isChrome:u,isSafari:d,isIos:/(iPad|iPhone|iPod)/g.test(navigator.platform),isIphone:/(iPhone|iPod)/g.test(navigator.userAgent),isTouch:"ontouchstart"in t.documentElement}}function s(e,t){var n=e.media;if("video"===e.type)switch(t){case"video/webm":return!(!n.canPlayType||!n.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/no/,""));case"video/mp4":return!(!n.canPlayType||!n.canPlayType('video/mp4; codecs="avc1.42E01E, mp4a.40.2"').replace(/no/,""));case"video/ogg":return!(!n.canPlayType||!n.canPlayType('video/ogg; codecs="theora"').replace(/no/,""))}else if("audio"===e.type)switch(t){case"audio/mpeg":return!(!n.canPlayType||!n.canPlayType("audio/mpeg;").replace(/no/,""));case"audio/ogg":return!(!n.canPlayType||!n.canPlayType('audio/ogg; codecs="vorbis"').replace(/no/,""));case"audio/wav":return!(!n.canPlayType||!n.canPlayType('audio/wav; codecs="1"').replace(/no/,""))}return!1}function i(e){if(!t.querySelectorAll('script[src="'+e+'"]').length){var n=t.createElement("script");n.src=e;var s=t.getElementsByTagName("script")[0];s.parentNode.insertBefore(n,s)}}function o(e,t){return Array.prototype.indexOf&&e.indexOf(t)!==-1}function r(e,t,n){return e.replace(new RegExp(t.replace(/([.*+?\^=!:${}()|\[\]\/\\])/g,"\\$1"),"g"),n)}function a(e,t){e.length||(e=[e]);for(var n=e.length-1;n>=0;n--){var s=n>0?t.cloneNode(!0):t,i=e[n],o=i.parentNode,r=i.nextSibling;return s.appendChild(i),r?o.insertBefore(s,r):o.appendChild(s),s}}function l(e){e&&e.parentNode.removeChild(e)}function c(e,t){e.insertBefore(t,e.firstChild)}function u(e,t){for(var n in t)e.setAttribute(n,M.boolean(t[n])&&t[n]?"":t[n])}function d(e,n,s){var i=t.createElement(e);u(i,s),c(n,i)}function p(e){return e.replace(".","")}function f(e,t,n){if(e)if(e.classList)e.classList[n?"add":"remove"](t);else{var s=(" "+e.className+" ").replace(/\s+/g," ").replace(" "+t+" ","");e.className=s+(n?" "+t:"")}}function h(e,t){return!!e&&(e.classList?e.classList.contains(t):new RegExp("(\\s|^)"+t+"(\\s|$)").test(e.className))}function m(e,n){var s=Element.prototype,i=s.matches||s.webkitMatchesSelector||s.mozMatchesSelector||s.msMatchesSelector||function(e){return[].indexOf.call(t.querySelectorAll(e),this)!==-1};return i.call(e,n)}function g(e,t,n,s,i){n&&b(e,t,function(t){n.apply(e,[t])},i),b(e,t,function(t){s.apply(e,[t])},i)}function v(e,t,n,s,i){var o=t.split(" ");if(M.boolean(i)||(i=!1),e instanceof NodeList)for(var r=0;r<e.length;r++)e[r]instanceof Node&&v(e[r],arguments[1],arguments[2],arguments[3]);else for(var a=0;a<o.length;a++)e[s?"addEventListener":"removeEventListener"](o[a],n,i)}function b(e,t,n,s){e&&v(e,t,n,!0,s)}function y(e,t,n,s){e&&v(e,t,n,!1,s)}function w(e,t,n,s){if(e&&t){M.boolean(n)||(n=!1);var i=new CustomEvent(t,{bubbles:n,detail:s});e.dispatchEvent(i)}}function _(e,t){if(e)return t=M.boolean(t)?t:!e.getAttribute("aria-pressed"),e.setAttribute("aria-pressed",t),t}function C(e,t){return 0===e||0===t||isNaN(e)||isNaN(t)?0:(e/t*100).toFixed(2)}function x(){var e=arguments;if(e.length){if(1===e.length)return e[0];for(var t=Array.prototype.shift.call(e),n=e.length,s=0;s<n;s++){var i=e[s];for(var o in i)i[o]&&i[o].constructor&&i[o].constructor===Object?(t[o]=t[o]||{},x(t[o],i[o])):t[o]=i[o]}return t}}function E(e){var t=/^.*(youtu.be\/|v\/|u\/\w\/|embed\/|watch\?v=|\&v=)([^#\&\?]*).*/;return e.match(t)?RegExp.$2:e}function k(e){var t=/^.*(vimeo.com\/|video\/)(\d+).*/;return e.match(t)?RegExp.$2:e}function S(){var e={supportsFullScreen:!1,isFullScreen:function(){return!1},requestFullScreen:function(){},cancelFullScreen:function(){},fullScreenEventName:"",element:null,prefix:""},n="webkit o moz ms khtml".split(" ");if(M.undefined(t.cancelFullScreen))for(var s=0,i=n.length;s<i;s++){if(e.prefix=n[s],!M.undefined(t[e.prefix+"CancelFullScreen"])){e.supportsFullScreen=!0;break}if(!M.undefined(t.msExitFullscreen)&&t.msFullscreenEnabled){e.prefix="ms",e.supportsFullScreen=!0;break}}else e.supportsFullScreen=!0;return e.supportsFullScreen&&(e.fullScreenEventName="ms"===e.prefix?"MSFullscreenChange":e.prefix+"fullscreenchange",e.isFullScreen=function(e){switch(M.undefined(e)&&(e=t.body),this.prefix){case"":return t.fullscreenElement===e;case"moz":return t.mozFullScreenElement===e;default:return t[this.prefix+"FullscreenElement"]===e}},e.requestFullScreen=function(e){return M.undefined(e)&&(e=t.body),""===this.prefix?e.requestFullScreen():e[this.prefix+("ms"===this.prefix?"RequestFullscreen":"RequestFullScreen")]()},e.cancelFullScreen=function(){return""===this.prefix?t.cancelFullScreen():t[this.prefix+("ms"===this.prefix?"ExitFullscreen":"CancelFullScreen")]()},e.element=function(){return""===this.prefix?t.fullscreenElement:t[this.prefix+"FullscreenElement"]}),e}function T(v,T){function I(e,t,n,s){w(e,t,n,x({},s,{plyr:$e}))}function F(t,n){T.debug&&e.console&&(n=Array.prototype.slice.call(n),M.string(T.logPrefix)&&T.logPrefix.length&&n.unshift(T.logPrefix),console[t].apply(console,n))}function H(){return{url:T.iconUrl,absolute:0===T.iconUrl.indexOf("http")||Ge.browser.isIE&&!e.svg4everybody}}function B(){var e=[],t=H(),n=(t.absolute?"":t.url)+"#"+T.iconPrefix;return o(T.controls,"play-large")&&e.push('<button type="button" data-plyr="play" class="plyr__play-large">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+T.i18n.play+"</span>","</button>"),e.push('<div class="plyr__controls">'),o(T.controls,"restart")&&e.push('<button type="button" data-plyr="restart">','<svg><use xlink:href="'+n+'-restart" /></svg>','<span class="plyr__sr-only">'+T.i18n.restart+"</span>","</button>"),o(T.controls,"rewind")&&e.push('<button type="button" data-plyr="rewind">','<svg><use xlink:href="'+n+'-rewind" /></svg>','<span class="plyr__sr-only">'+T.i18n.rewind+"</span>","</button>"),o(T.controls,"play")&&e.push('<button type="button" data-plyr="play">','<svg><use xlink:href="'+n+'-play" /></svg>','<span class="plyr__sr-only">'+T.i18n.play+"</span>","</button>",'<button type="button" data-plyr="pause">','<svg><use xlink:href="'+n+'-pause" /></svg>','<span class="plyr__sr-only">'+T.i18n.pause+"</span>","</button>"),o(T.controls,"fast-forward")&&e.push('<button type="button" data-plyr="fast-forward">','<svg><use xlink:href="'+n+'-fast-forward" /></svg>','<span class="plyr__sr-only">'+T.i18n.forward+"</span>","</button>"),o(T.controls,"progress")&&(e.push('<span class="plyr__progress">','<label for="seek{id}" class="plyr__sr-only">Seek</label>','<input id="seek{id}" class="plyr__progress--seek" type="range" min="0" max="100" step="0.1" value="0" data-plyr="seek">','<progress class="plyr__progress--played" max="100" value="0" role="presentation"></progress>','<progress class="plyr__progress--buffer" max="100" value="0">',"<span>0</span>% "+T.i18n.buffered,"</progress>"),T.tooltips.seek&&e.push('<span class="plyr__tooltip">00:00</span>'),e.push("</span>")),o(T.controls,"current-time")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+T.i18n.currentTime+"</span>",'<span class="plyr__time--current">00:00</span>',"</span>"),o(T.controls,"duration")&&e.push('<span class="plyr__time">','<span class="plyr__sr-only">'+T.i18n.duration+"</span>",'<span class="plyr__time--duration">00:00</span>',"</span>"),o(T.controls,"mute")&&e.push('<button type="button" data-plyr="mute">','<svg class="icon--muted"><use xlink:href="'+n+'-muted" /></svg>','<svg><use xlink:href="'+n+'-volume" /></svg>','<span class="plyr__sr-only">'+T.i18n.toggleMute+"</span>","</button>"),o(T.controls,"volume")&&e.push('<span class="plyr__volume">','<label for="volume{id}" class="plyr__sr-only">'+T.i18n.volume+"</label>",'<input id="volume{id}" class="plyr__volume--input" type="range" min="'+T.volumeMin+'" max="'+T.volumeMax+'" value="'+T.volume+'" data-plyr="volume">','<progress class="plyr__volume--display" max="'+T.volumeMax+'" value="'+T.volumeMin+'" role="presentation"></progress>',"</span>"),o(T.controls,"captions")&&e.push('<button type="button" data-plyr="captions">','<svg class="icon--captions-on"><use xlink:href="'+n+'-captions-on" /></svg>','<svg><use xlink:href="'+n+'-captions-off" /></svg>','<span class="plyr__sr-only">'+T.i18n.toggleCaptions+"</span>","</button>"),o(T.controls,"fullscreen")&&e.push('<button type="button" data-plyr="fullscreen">','<svg class="icon--exit-fullscreen"><use xlink:href="'+n+'-exit-fullscreen" /></svg>','<svg><use xlink:href="'+n+'-enter-fullscreen" /></svg>','<span class="plyr__sr-only">'+T.i18n.toggleFullscreen+"</span>","</button>"),e.push("</div>"),e.join("")}function j(){if(Ge.supported.full&&("audio"!==Ge.type||T.fullscreen.allowAudio)&&T.fullscreen.enabled){var e=R.supportsFullScreen;e||T.fullscreen.fallback&&!G()?(Ke((e?"Native":"Fallback")+" fullscreen enabled"),e||f(Ge.container,T.classes.fullscreen.fallback,!0),f(Ge.container,T.classes.fullscreen.enabled,!0)):Ke("Fullscreen not supported and fallback disabled"),Ge.buttons&&Ge.buttons.fullscreen&&_(Ge.buttons.fullscreen,!1),X()}}function q(){if("video"===Ge.type){$(T.selectors.captions)||Ge.videoContainer.insertAdjacentHTML("afterbegin",'<div class="'+p(T.selectors.captions)+'"></div>'),
+Ge.usingTextTracks=!1,Ge.media.textTracks&&(Ge.usingTextTracks=!0);for(var e,t="",n=Ge.media.childNodes,s=0;s<n.length;s++)"track"===n[s].nodeName.toLowerCase()&&(e=n[s].kind,"captions"!==e&&"subtitles"!==e||(t=n[s].getAttribute("src")));if(Ge.captionExists=!0,""===t?(Ge.captionExists=!1,Ke("No caption track found")):Ke("Caption track found; URI: "+t),Ge.captionExists){for(var i=Ge.media.textTracks,o=0;o<i.length;o++)i[o].mode="hidden";if(z(Ge),(Ge.browser.isIE&&Ge.browser.version>=10||Ge.browser.isFirefox&&Ge.browser.version>=31)&&(Ke("Detected browser with known TextTrack issues - using manual fallback"),Ge.usingTextTracks=!1),Ge.usingTextTracks){Ke("TextTracks supported");for(var r=0;r<i.length;r++){var a=i[r];"captions"!==a.kind&&"subtitles"!==a.kind||b(a,"cuechange",function(){this.activeCues[0]&&"text"in this.activeCues[0]?U(this.activeCues[0].getCueAsHTML()):U()})}}else if(Ke("TextTracks not supported so rendering captions manually"),Ge.currentCaption="",Ge.captions=[],""!==t){var l=new XMLHttpRequest;l.onreadystatechange=function(){if(4===l.readyState)if(200===l.status){var e,t=[],n=l.responseText,s="\r\n";n.indexOf(s+s)===-1&&(s=n.indexOf("\r\r")!==-1?"\r":"\n"),t=n.split(s+s);for(var i=0;i<t.length;i++){e=t[i],Ge.captions[i]=[];var o=e.split(s),r=0;o[r].indexOf(":")===-1&&(r=1),Ge.captions[i]=[o[r],o[r+1]]}Ge.captions.shift(),Ke("Successfully loaded the caption file via AJAX")}else Ze(T.logPrefix+"There was a problem loading the caption file via AJAX")},l.open("get",t,!0),l.send()}}else f(Ge.container,T.classes.captions.enabled)}}function U(e){var n=$(T.selectors.captions),s=t.createElement("span");n.innerHTML="",M.undefined(e)&&(e=""),M.string(e)?s.innerHTML=e.trim():s.appendChild(e),n.appendChild(s);n.offsetHeight}function V(e){function t(e,t){var n=[];n=e.split(" --> ");for(var s=0;s<n.length;s++)n[s]=n[s].replace(/(\d+:\d+:\d+\.\d+).*/,"$1");return i(n[t])}function n(e){return t(e,0)}function s(e){return t(e,1)}function i(e){if(null===e||void 0===e)return 0;var t,n=[],s=[];return n=e.split(","),s=n[0].split(":"),t=Math.floor(60*s[0]*60)+Math.floor(60*s[1])+Math.floor(s[2])}if(!Ge.usingTextTracks&&"video"===Ge.type&&Ge.supported.full&&(Ge.subcount=0,e=M.number(e)?e:Ge.media.currentTime,Ge.captions[Ge.subcount])){for(;s(Ge.captions[Ge.subcount][0])<e.toFixed(1);)if(Ge.subcount++,Ge.subcount>Ge.captions.length-1){Ge.subcount=Ge.captions.length-1;break}Ge.media.currentTime.toFixed(1)>=n(Ge.captions[Ge.subcount][0])&&Ge.media.currentTime.toFixed(1)<=s(Ge.captions[Ge.subcount][0])?(Ge.currentCaption=Ge.captions[Ge.subcount][1],U(Ge.currentCaption)):U()}}function z(){if(Ge.buttons.captions){f(Ge.container,T.classes.captions.enabled,!0);var e=Ge.storage.captionsEnabled;M.boolean(e)||(e=T.captions.defaultActive),e&&(f(Ge.container,T.classes.captions.active,!0),_(Ge.buttons.captions,!0))}}function W(e){return Ge.container.querySelectorAll(e)}function $(e){return W(e)[0]}function G(){try{return e.self!==e.top}catch(e){return!0}}function X(){function e(e){9===e.which&&Ge.isFullscreen&&(e.target!==s||e.shiftKey?e.target===n&&e.shiftKey&&(e.preventDefault(),s.focus()):(e.preventDefault(),n.focus()))}var t=W("input:not([disabled]), button:not([disabled])"),n=t[0],s=t[t.length-1];b(Ge.container,"keydown",e)}function Y(e,t){if(M.string(t))d(e,Ge.media,{src:t});else if(t.constructor===Array)for(var n=t.length-1;n>=0;n--)d(e,Ge.media,t[n])}function K(){if(T.loadSprite){var e=H();e.absolute?(Ke("AJAX loading absolute SVG sprite"+(Ge.browser.isIE?" (due to IE)":"")),L(e.url,"sprite-plyr")):Ke("Sprite will be used as external resource directly")}var n=T.html;Ke("Injecting custom controls"),n||(n=B()),n=r(n,"{seektime}",T.seekTime),n=r(n,"{id}",Math.floor(1e4*Math.random())),T.title&&(n=r(n,"{title}",T.title));var s;if(M.string(T.selectors.controls.container)&&(s=t.querySelector(T.selectors.controls.container)),M.htmlElement(s)||(s=Ge.container),s.insertAdjacentHTML("beforeend",n),T.tooltips.controls)for(var i=W([T.selectors.controls.wrapper," ",T.selectors.labels," .",T.classes.hidden].join("")),o=i.length-1;o>=0;o--){var a=i[o];f(a,T.classes.hidden,!1),f(a,T.classes.tooltip,!0)}}function Z(){try{return Ge.controls=$(T.selectors.controls.wrapper),Ge.buttons={},Ge.buttons.seek=$(T.selectors.buttons.seek),Ge.buttons.play=W(T.selectors.buttons.play),Ge.buttons.pause=$(T.selectors.buttons.pause),Ge.buttons.restart=$(T.selectors.buttons.restart),Ge.buttons.rewind=$(T.selectors.buttons.rewind),Ge.buttons.forward=$(T.selectors.buttons.forward),Ge.buttons.fullscreen=$(T.selectors.buttons.fullscreen),Ge.buttons.mute=$(T.selectors.buttons.mute),Ge.buttons.captions=$(T.selectors.buttons.captions),Ge.progress={},Ge.progress.container=$(T.selectors.progress.container),Ge.progress.buffer={},Ge.progress.buffer.bar=$(T.selectors.progress.buffer),Ge.progress.buffer.text=Ge.progress.buffer.bar&&Ge.progress.buffer.bar.getElementsByTagName("span")[0],Ge.progress.played=$(T.selectors.progress.played),Ge.progress.tooltip=Ge.progress.container&&Ge.progress.container.querySelector("."+T.classes.tooltip),Ge.volume={},Ge.volume.input=$(T.selectors.volume.input),Ge.volume.display=$(T.selectors.volume.display),Ge.duration=$(T.selectors.duration),Ge.currentTime=$(T.selectors.currentTime),Ge.seekTime=W(T.selectors.seekTime),!0}catch(e){return Ze("It looks like there is a problem with your controls HTML"),Q(!0),!1}}function J(){f(Ge.container,T.selectors.container.replace(".",""),Ge.supported.full)}function Q(e){e&&o(T.types.html5,Ge.type)?Ge.media.setAttribute("controls",""):Ge.media.removeAttribute("controls")}function ee(e){var t=T.i18n.play;if(M.string(T.title)&&T.title.length&&(t+=", "+T.title,Ge.container.setAttribute("aria-label",T.title)),Ge.supported.full&&Ge.buttons.play)for(var n=Ge.buttons.play.length-1;n>=0;n--)Ge.buttons.play[n].setAttribute("aria-label",t);M.htmlElement(e)&&e.setAttribute("title",T.i18n.frameTitle.replace("{title}",T.title))}function te(){var t=null;Ge.storage={},O.supported&&T.storage.enabled&&(e.localStorage.removeItem("plyr-volume"),t=e.localStorage.getItem(T.storage.key),t&&(/^\d+(\.\d+)?$/.test(t)?ne({volume:parseFloat(t)}):Ge.storage=JSON.parse(t)))}function ne(t){O.supported&&T.storage.enabled&&(x(Ge.storage,t),e.localStorage.setItem(T.storage.key,JSON.stringify(Ge.storage)))}function se(){if(!Ge.media)return void Ze("No media element found!");if(Ge.supported.full&&(f(Ge.container,T.classes.type.replace("{0}",Ge.type),!0),o(T.types.embed,Ge.type)&&f(Ge.container,T.classes.type.replace("{0}","video"),!0),f(Ge.container,T.classes.stopped,T.autoplay),f(Ge.container,T.classes.isIos,Ge.browser.isIos),f(Ge.container,T.classes.isTouch,Ge.browser.isTouch),"video"===Ge.type)){var e=t.createElement("div");e.setAttribute("class",T.classes.videoWrapper),a(Ge.media,e),Ge.videoContainer=e}o(T.types.embed,Ge.type)&&ie()}function ie(){var n,s=t.createElement("div"),o=Ge.type+"-"+Math.floor(1e4*Math.random());switch(Ge.type){case"youtube":n=E(Ge.embedId);break;case"vimeo":n=k(Ge.embedId);break;default:n=Ge.embedId}for(var r=W('[id^="'+Ge.type+'-"]'),a=r.length-1;a>=0;a--)l(r[a]);if(f(Ge.media,T.classes.videoWrapper,!0),f(Ge.media,T.classes.embedWrapper,!0),"youtube"===Ge.type)Ge.media.appendChild(s),s.setAttribute("id",o),M.object(e.YT)?re(n,s):(i(T.urls.youtube.api),e.onYouTubeReadyCallbacks=e.onYouTubeReadyCallbacks||[],e.onYouTubeReadyCallbacks.push(function(){re(n,s)}),e.onYouTubeIframeAPIReady=function(){e.onYouTubeReadyCallbacks.forEach(function(e){e()})});else if("vimeo"===Ge.type)if(Ge.supported.full?Ge.media.appendChild(s):s=Ge.media,s.setAttribute("id",o),M.object(e.Vimeo))ae(n,s);else{i(T.urls.vimeo.api);var c=e.setInterval(function(){M.object(e.Vimeo)&&(e.clearInterval(c),ae(n,s))},50)}else if("soundcloud"===Ge.type){var d=t.createElement("iframe");d.loaded=!1,b(d,"load",function(){d.loaded=!0}),u(d,{src:"https://w.soundcloud.com/player/?url=https://api.soundcloud.com/tracks/"+n,id:o}),s.appendChild(d),Ge.media.appendChild(s),e.SC||i(T.urls.soundcloud.api);var p=e.setInterval(function(){e.SC&&d.loaded&&(e.clearInterval(p),le.call(d))},50)}}function oe(){Ge.supported.full&&(ze(),We()),ee($("iframe"))}function re(t,n){Ge.embed=new e.YT.Player(n.id,{videoId:t,playerVars:{autoplay:T.autoplay?1:0,controls:Ge.supported.full?0:1,rel:0,showinfo:0,iv_load_policy:3,cc_load_policy:T.captions.defaultActive?1:0,cc_lang_pref:"en",wmode:"transparent",modestbranding:1,disablekb:1,origin:"*"},events:{onError:function(e){I(Ge.container,"error",!0,{code:e.data,embed:e.target})},onReady:function(t){var n=t.target;Ge.media.play=function(){n.playVideo(),Ge.media.paused=!1},Ge.media.pause=function(){n.pauseVideo(),Ge.media.paused=!0},Ge.media.stop=function(){n.stopVideo(),Ge.media.paused=!0},Ge.media.duration=n.getDuration(),Ge.media.paused=!0,Ge.media.currentTime=0,Ge.media.muted=n.isMuted(),"function"==typeof n.getVideoData&&(T.title=n.getVideoData().title),Ge.supported.full&&Ge.media.querySelector("iframe").setAttribute("tabindex","-1"),oe(),I(Ge.media,"timeupdate"),I(Ge.media,"durationchange"),e.clearInterval(Xe.buffering),Xe.buffering=e.setInterval(function(){Ge.media.buffered=n.getVideoLoadedFraction(),(null===Ge.media.lastBuffered||Ge.media.lastBuffered<Ge.media.buffered)&&I(Ge.media,"progress"),Ge.media.lastBuffered=Ge.media.buffered,1===Ge.media.buffered&&(e.clearInterval(Xe.buffering),I(Ge.media,"canplaythrough"))},200)},onStateChange:function(t){var n=t.target;switch(e.clearInterval(Xe.playing),t.data){case 0:Ge.media.paused=!0,I(Ge.media,"ended");break;case 1:Ge.media.paused=!1,Ge.media.seeking&&I(Ge.media,"seeked"),Ge.media.seeking=!1,I(Ge.media,"play"),I(Ge.media,"playing"),Xe.playing=e.setInterval(function(){Ge.media.currentTime=n.getCurrentTime(),I(Ge.media,"timeupdate")},100),Ge.media.duration!==n.getDuration()&&(Ge.media.duration=n.getDuration(),I(Ge.media,"durationchange"));break;case 2:Ge.media.paused=!0,I(Ge.media,"pause")}I(Ge.container,"statechange",!1,{code:t.data})}}})}function ae(n,s){function i(e){return Object.keys(e).map(function(t){return encodeURIComponent(t)+"="+encodeURIComponent(e[t])}).join("&")}var o={loop:T.loop,autoplay:T.autoplay,byline:!1,portrait:!1,title:!1,speed:!0,transparent:0},r=i(o),a=t.createElement("iframe"),l="https://player.vimeo.com/video/"+n+"?"+r;a.setAttribute("src",l),a.setAttribute("allowfullscreen",""),s.appendChild(a),Ge.embed=new e.Vimeo.Player(a),Ge.media.play=function(){Ge.embed.play(),Ge.media.paused=!1},Ge.media.pause=function(){Ge.embed.pause(),Ge.media.paused=!0},Ge.media.stop=function(){Ge.embed.stop(),Ge.media.paused=!0},Ge.media.paused=!0,Ge.media.currentTime=0,oe(),Ge.embed.getCurrentTime().then(function(e){Ge.media.currentTime=e,I(Ge.media,"timeupdate")}),Ge.embed.getDuration().then(function(e){Ge.media.duration=e,I(Ge.media,"durationchange")}),Ge.embed.on("loaded",function(){M.htmlElement(Ge.embed.element)&&Ge.supported.full&&Ge.embed.element.setAttribute("tabindex","-1")}),Ge.embed.on("play",function(){Ge.media.paused=!1,I(Ge.media,"play"),I(Ge.media,"playing")}),Ge.embed.on("pause",function(){Ge.media.paused=!0,I(Ge.media,"pause")}),Ge.embed.on("timeupdate",function(e){Ge.media.seeking=!1,Ge.media.currentTime=e.seconds,I(Ge.media,"timeupdate")}),Ge.embed.on("progress",function(e){Ge.media.buffered=e.percent,I(Ge.media,"progress"),1===parseInt(e.percent)&&I(Ge.media,"canplaythrough")}),Ge.embed.on("seeked",function(){Ge.media.seeking=!1,I(Ge.media,"seeked"),I(Ge.media,"play")}),Ge.embed.on("ended",function(){Ge.media.paused=!0,I(Ge.media,"ended")})}function le(){Ge.embed=e.SC.Widget(this),Ge.embed.bind(e.SC.Widget.Events.READY,function(){Ge.media.play=function(){Ge.embed.play(),Ge.media.paused=!1},Ge.media.pause=function(){Ge.embed.pause(),Ge.media.paused=!0},Ge.media.stop=function(){Ge.embed.seekTo(0),Ge.embed.pause(),Ge.media.paused=!0},Ge.media.paused=!0,Ge.media.currentTime=0,Ge.embed.getDuration(function(e){Ge.media.duration=e/1e3,oe()}),Ge.embed.getPosition(function(e){Ge.media.currentTime=e,I(Ge.media,"timeupdate")}),Ge.embed.bind(e.SC.Widget.Events.PLAY,function(){Ge.media.paused=!1,I(Ge.media,"play"),I(Ge.media,"playing")}),Ge.embed.bind(e.SC.Widget.Events.PAUSE,function(){Ge.media.paused=!0,I(Ge.media,"pause")}),Ge.embed.bind(e.SC.Widget.Events.PLAY_PROGRESS,function(e){Ge.media.seeking=!1,Ge.media.currentTime=e.currentPosition/1e3,I(Ge.media,"timeupdate")}),Ge.embed.bind(e.SC.Widget.Events.LOAD_PROGRESS,function(e){Ge.media.buffered=e.loadProgress,I(Ge.media,"progress"),1===parseInt(e.loadProgress)&&I(Ge.media,"canplaythrough")}),Ge.embed.bind(e.SC.Widget.Events.FINISH,function(){Ge.media.paused=!0,I(Ge.media,"ended")})})}function ce(){"play"in Ge.media&&Ge.media.play()}function ue(){"pause"in Ge.media&&Ge.media.pause()}function de(e){return M.boolean(e)||(e=Ge.media.paused),e?ce():ue(),e}function pe(e){M.number(e)||(e=T.seekTime),he(Ge.media.currentTime-e)}function fe(e){M.number(e)||(e=T.seekTime),he(Ge.media.currentTime+e)}function he(e){var t=0,n=Ge.media.paused,s=me();M.number(e)?t=e:M.object(e)&&o(["input","change"],e.type)&&(t=e.target.value/e.target.max*s),t<0?t=0:t>s&&(t=s),Re(t);try{Ge.media.currentTime=t.toFixed(4)}catch(e){}if(o(T.types.embed,Ge.type)){switch(Ge.type){case"youtube":Ge.embed.seekTo(t);break;case"vimeo":Ge.embed.setCurrentTime(t.toFixed(0));break;case"soundcloud":Ge.embed.seekTo(1e3*t)}n&&ue(),I(Ge.media,"timeupdate"),Ge.media.seeking=!0,I(Ge.media,"seeking")}Ke("Seeking to "+Ge.media.currentTime+" seconds"),V(t)}function me(){var e=parseInt(T.duration),t=0;return null===Ge.media.duration||isNaN(Ge.media.duration)||(t=Ge.media.duration),isNaN(e)?t:e}function ge(){f(Ge.container,T.classes.playing,!Ge.media.paused),f(Ge.container,T.classes.stopped,Ge.media.paused),De(Ge.media.paused)}function ve(){P={x:e.pageXOffset||0,y:e.pageYOffset||0}}function be(){e.scrollTo(P.x,P.y)}function ye(e){var n=R.supportsFullScreen;if(n){if(!e||e.type!==R.fullScreenEventName)return R.isFullScreen(Ge.container)?R.cancelFullScreen():(ve(),R.requestFullScreen(Ge.container)),void(Ge.isFullscreen=R.isFullScreen(Ge.container));Ge.isFullscreen=R.isFullScreen(Ge.container)}else Ge.isFullscreen=!Ge.isFullscreen,t.body.style.overflow=Ge.isFullscreen?"hidden":"";f(Ge.container,T.classes.fullscreen.active,Ge.isFullscreen),X(Ge.isFullscreen),Ge.buttons&&Ge.buttons.fullscreen&&_(Ge.buttons.fullscreen,Ge.isFullscreen),I(Ge.container,Ge.isFullscreen?"enterfullscreen":"exitfullscreen",!0),!Ge.isFullscreen&&n&&be()}function we(e){if(M.boolean(e)||(e=!Ge.media.muted),_(Ge.buttons.mute,e),Ge.media.muted=e,0===Ge.media.volume&&_e(T.volume),o(T.types.embed,Ge.type)){switch(Ge.type){case"youtube":Ge.embed[Ge.media.muted?"mute":"unMute"]();break;case"vimeo":case"soundcloud":Ge.embed.setVolume(Ge.media.muted?0:parseFloat(T.volume/T.volumeMax))}I(Ge.media,"volumechange")}}function _e(e){var t=T.volumeMax,n=T.volumeMin;if(M.undefined(e)&&(e=Ge.storage.volume),(null===e||isNaN(e))&&(e=T.volume),e>t&&(e=t),e<n&&(e=n),Ge.media.volume=parseFloat(e/t),Ge.volume.display&&(Ge.volume.display.value=e),o(T.types.embed,Ge.type)){switch(Ge.type){case"youtube":Ge.embed.setVolume(100*Ge.media.volume);break;case"vimeo":case"soundcloud":Ge.embed.setVolume(Ge.media.volume)}I(Ge.media,"volumechange")}0===e?Ge.media.muted=!0:Ge.media.muted&&e>0&&we()}function Ce(e){var t=Ge.media.muted?0:Ge.media.volume*T.volumeMax;M.number(e)||(e=T.volumeStep),_e(t+e)}function xe(e){var t=Ge.media.muted?0:Ge.media.volume*T.volumeMax;M.number(e)||(e=T.volumeStep),_e(t-e)}function Ee(){var e=Ge.media.muted?0:Ge.media.volume*T.volumeMax;Ge.supported.full&&(Ge.volume.input&&(Ge.volume.input.value=e),Ge.volume.display&&(Ge.volume.display.value=e)),ne({volume:e}),f(Ge.container,T.classes.muted,0===e),Ge.supported.full&&Ge.buttons.mute&&_(Ge.buttons.mute,0===e)}function ke(e){Ge.supported.full&&Ge.buttons.captions&&(M.boolean(e)||(e=Ge.container.className.indexOf(T.classes.captions.active)===-1),Ge.captionsEnabled=e,_(Ge.buttons.captions,Ge.captionsEnabled),f(Ge.container,T.classes.captions.active,Ge.captionsEnabled),I(Ge.container,Ge.captionsEnabled?"captionsenabled":"captionsdisabled",!0),ne({captionsEnabled:Ge.captionsEnabled}))}function Se(e){var t="waiting"===e.type;clearTimeout(Xe.loading),Xe.loading=setTimeout(function(){f(Ge.container,T.classes.loading,t),De(t)},t?250:0)}function Te(e){if(Ge.supported.full){var t=Ge.progress.played,n=0,s=me();if(e)switch(e.type){case"timeupdate":case"seeking":if(Ge.controls.pressed)return;n=C(Ge.media.currentTime,s),"timeupdate"===e.type&&Ge.buttons.seek&&(Ge.buttons.seek.value=n);break;case"playing":case"progress":t=Ge.progress.buffer,n=function(){var e=Ge.media.buffered;return e&&e.length?C(e.end(0),s):M.number(e)?100*e:0}()}Le(t,n)}}function Le(e,t){if(Ge.supported.full){if(M.undefined(t)&&(t=0),M.undefined(e)){if(!Ge.progress||!Ge.progress.buffer)return;e=Ge.progress.buffer}M.htmlElement(e)?e.value=t:e&&(e.bar&&(e.bar.value=t),e.text&&(e.text.innerHTML=t))}}function Ae(e,t){if(t){isNaN(e)&&(e=0),Ge.secs=parseInt(e%60),Ge.mins=parseInt(e/60%60),Ge.hours=parseInt(e/60/60%60);var n=parseInt(me()/60/60%60)>0;Ge.secs=("0"+Ge.secs).slice(-2),Ge.mins=("0"+Ge.mins).slice(-2),t.innerHTML=(n?Ge.hours+":":"")+Ge.mins+":"+Ge.secs}}function Ie(){if(Ge.supported.full){var e=me()||0;!Ge.duration&&T.displayDuration&&Ge.media.paused&&Ae(e,Ge.currentTime),Ge.duration&&Ae(e,Ge.duration),Pe()}}function Ne(e){Ae(Ge.media.currentTime,Ge.currentTime),e&&"timeupdate"===e.type&&Ge.media.seeking||Te(e)}function Re(e){M.number(e)||(e=0);var t=me(),n=C(e,t);Ge.progress&&Ge.progress.played&&(Ge.progress.played.value=n),Ge.buttons&&Ge.buttons.seek&&(Ge.buttons.seek.value=n)}function Pe(e){var t=me();if(T.tooltips.seek&&Ge.progress.container&&0!==t){var n=Ge.progress.container.getBoundingClientRect(),s=0,i=T.classes.tooltip+"--visible";if(e)s=100/n.width*(e.pageX-n.left);else{if(!h(Ge.progress.tooltip,i))return;s=Ge.progress.tooltip.style.left.replace("%","")}s<0?s=0:s>100&&(s=100),Ae(t/100*s,Ge.progress.tooltip),Ge.progress.tooltip.style.left=s+"%",e&&o(["mouseenter","mouseleave"],e.type)&&f(Ge.progress.tooltip,i,"mouseenter"===e.type)}}function De(t){if(T.hideControls&&"audio"!==Ge.type){var n=0,s=!1,i=t,r=h(Ge.container,T.classes.loading);if(M.boolean(t)||(t&&t.type?(s="enterfullscreen"===t.type,i=o(["mousemove","touchstart","mouseenter","focus"],t.type),o(["mousemove","touchmove"],t.type)&&(n=2e3),"focus"===t.type&&(n=3e3)):i=h(Ge.container,T.classes.hideControls)),e.clearTimeout(Xe.hover),i||Ge.media.paused||r){if(f(Ge.container,T.classes.hideControls,!1),Ge.media.paused||r)return;Ge.browser.isTouch&&(n=3e3)}i&&Ge.media.paused||(Xe.hover=e.setTimeout(function(){(!Ge.controls.pressed&&!Ge.controls.hover||s)&&f(Ge.container,T.classes.hideControls,!0)},n))}}function Me(e){if(!M.undefined(e))return void Oe(e);var t;switch(Ge.type){case"youtube":t=Ge.embed.getVideoUrl();break;case"vimeo":Ge.embed.getVideoUrl.then(function(e){t=e});break;case"soundcloud":Ge.embed.getCurrentSound(function(e){t=e.permalink_url});break;default:t=Ge.media.currentSrc}return t||""}function Oe(e){function n(){if(Ge.embed=null,l(Ge.media),"video"===Ge.type&&Ge.videoContainer&&l(Ge.videoContainer),Ge.container&&Ge.container.removeAttribute("class"),"type"in e&&(Ge.type=e.type,"video"===Ge.type)){var n=e.sources[0];"type"in n&&o(T.types.embed,n.type)&&(Ge.type=n.type)}switch(Ge.supported=A(Ge.type),Ge.type){case"video":Ge.media=t.createElement("video");break;case"audio":Ge.media=t.createElement("audio");break;case"youtube":case"vimeo":case"soundcloud":Ge.media=t.createElement("div"),Ge.embedId=e.sources[0].src}c(Ge.container,Ge.media),M.boolean(e.autoplay)&&(T.autoplay=e.autoplay),o(T.types.html5,Ge.type)&&(T.crossorigin&&Ge.media.setAttribute("crossorigin",""),T.autoplay&&Ge.media.setAttribute("autoplay",""),"poster"in e&&Ge.media.setAttribute("poster",e.poster),T.loop&&Ge.media.setAttribute("loop","")),f(Ge.container,T.classes.fullscreen.active,Ge.isFullscreen),f(Ge.container,T.classes.captions.active,Ge.captionsEnabled),J(),o(T.types.html5,Ge.type)&&Y("source",e.sources),se(),o(T.types.html5,Ge.type)&&("tracks"in e&&Y("track",e.tracks),Ge.media.load()),(o(T.types.html5,Ge.type)||o(T.types.embed,Ge.type)&&!Ge.supported.full)&&(ze(),We()),T.title=e.title,ee()}return M.object(e)&&"sources"in e&&e.sources.length?(f(Ge.container,T.classes.ready,!1),ue(),Re(),Le(),qe(),void Ue(n,!1)):void Ze("Invalid source format")}function Fe(e){"video"===Ge.type&&Ge.media.setAttribute("poster",e)}function He(){f($("."+T.classes.tabFocus),T.classes.tabFocus,!1)}function Be(){function n(){var e=de(),t=Ge.buttons[e?"play":"pause"],n=Ge.buttons[e?"pause":"play"];if(n&&(n=n.length>1?n[n.length-1]:n[0]),n){var s=h(t,T.classes.tabFocus);setTimeout(function(){n.focus(),s&&(f(t,T.classes.tabFocus,!1),f(n,T.classes.tabFocus,!0))},100)}}function s(){var e=t.activeElement;return e=e&&e!==t.body?t.querySelector(":focus"):null}function i(e){return e.keyCode?e.keyCode:e.which}function r(e){for(var t in Ge.buttons){var n=Ge.buttons[t];if(M.nodeList(n))for(var s=0;s<n.length;s++)f(n[s],T.classes.tabFocus,n[s]===e);else f(n,T.classes.tabFocus,n===e)}}function a(e){function t(){var e=Ge.media.duration;M.number(e)&&he(e/10*(n-48))}var n=i(e),s="keydown"===e.type,r=s&&n===c;if(M.number(n))if(s){var a=[48,49,50,51,52,53,54,56,57,32,75,38,40,77,39,37,70,67];switch(o(a,n)&&(e.preventDefault(),e.stopPropagation()),n){case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:r||t();break;case 32:case 75:r||de();break;case 38:Ce();break;case 40:xe();break;case 77:r||we();break;case 39:fe();break;case 37:pe();break;case 70:ye();break;case 67:r||ke()}!R.supportsFullScreen&&Ge.isFullscreen&&27===n&&ye(),c=n}else c=null}var l=Ge.browser.isIE?"change":"input";if(T.keyboardShorcuts.focused){var c=null;T.keyboardShorcuts.global&&b(e,"keydown keyup",function(e){var t=i(e),n=s(),r=[48,49,50,51,52,53,54,56,57,75,77,70,67],l=N().length;1!==l||!o(r,t)||M.htmlElement(n)&&m(n,T.selectors.editable)||a(e)}),b(Ge.container,"keydown keyup",a)}b(e,"keyup",function(e){var t=i(e),n=s();9===t&&r(n)}),b(t.body,"click",He);for(var u in Ge.buttons){var d=Ge.buttons[u];b(d,"blur",function(){f(d,"tab-focus",!1)})}g(Ge.buttons.play,"click",T.listeners.play,n),g(Ge.buttons.pause,"click",T.listeners.pause,n),g(Ge.buttons.restart,"click",T.listeners.restart,he),g(Ge.buttons.rewind,"click",T.listeners.rewind,pe),g(Ge.buttons.forward,"click",T.listeners.forward,fe),g(Ge.buttons.seek,l,T.listeners.seek,he),g(Ge.volume.input,l,T.listeners.volume,function(){_e(Ge.volume.input.value)}),g(Ge.buttons.mute,"click",T.listeners.mute,we),g(Ge.buttons.fullscreen,"click",T.listeners.fullscreen,ye),R.supportsFullScreen&&b(t,R.fullScreenEventName,ye),g(Ge.buttons.captions,"click",T.listeners.captions,ke),b(Ge.progress.container,"mouseenter mouseleave mousemove",Pe),T.hideControls&&(b(Ge.container,"mouseenter mouseleave mousemove touchstart touchend touchcancel touchmove enterfullscreen",De),b(Ge.controls,"mouseenter mouseleave",function(e){Ge.controls.hover="mouseenter"===e.type}),b(Ge.controls,"mousedown mouseup touchstart touchend touchcancel",function(e){Ge.controls.pressed=o(["mousedown","touchstart"],e.type)}),b(Ge.controls,"focus blur",De,!0)),b(Ge.volume.input,"wheel",function(e){e.preventDefault();var t=e.webkitDirectionInvertedFromDevice,n=T.volumeStep/5;(e.deltaY<0||e.deltaX>0)&&(t?xe(n):Ce(n)),(e.deltaY>0||e.deltaX<0)&&(t?Ce(n):xe(n))})}function je(){if(b(Ge.media,"timeupdate seeking",Ne),b(Ge.media,"timeupdate",V),b(Ge.media,"durationchange loadedmetadata",Ie),b(Ge.media,"ended",function(){"video"===Ge.type&&T.showPosterOnEnd&&("video"===Ge.type&&U(),he(),Ge.media.load())}),b(Ge.media,"progress playing",Te),b(Ge.media,"volumechange",Ee),b(Ge.media,"play pause ended",ge),b(Ge.media,"waiting canplay seeked",Se),T.clickToPlay&&"audio"!==Ge.type){var e=$("."+T.classes.videoWrapper);if(!e)return;e.style.cursor="pointer",b(e,"click",function(){T.hideControls&&Ge.browser.isTouch&&!Ge.media.paused||(Ge.media.paused?ce():Ge.media.ended?(he(),ce()):ue())})}T.disableContextMenu&&b(Ge.media,"contextmenu",function(e){e.preventDefault()}),b(Ge.media,T.events.concat(["keyup","keydown"]).join(" "),function(e){I(Ge.container,e.type,!0)})}function qe(){if(o(T.types.html5,Ge.type)){for(var e=Ge.media.querySelectorAll("source"),t=0;t<e.length;t++)l(e[t]);Ge.media.setAttribute("src",T.blankUrl),Ge.media.load(),Ke("Cancelled network requests")}}function Ue(n,s){function i(){clearTimeout(Xe.cleanUp),M.boolean(s)||(s=!0),M.function(n)&&n.call(Ye),s&&(Ge.init=!1,Ge.container.parentNode.replaceChild(Ye,Ge.container),Ge.container=null,t.body.style.overflow="",y(t.body,"click",He),I(Ye,"destroyed",!0))}if(!Ge.init)return null;switch(Ge.type){case"youtube":e.clearInterval(Xe.buffering),e.clearInterval(Xe.playing),Ge.embed.destroy(),i();break;case"vimeo":Ge.embed.unload().then(i),Xe.cleanUp=e.setTimeout(i,200);break;case"video":case"audio":Q(!0),i()}}function Ve(){if(Ge.init)return null;if(R=S(),Ge.browser=n(),M.htmlElement(Ge.media)){te();var e=v.tagName.toLowerCase();"div"===e?(Ge.type=v.getAttribute("data-type"),Ge.embedId=v.getAttribute("data-video-id"),v.removeAttribute("data-type"),v.removeAttribute("data-video-id")):(Ge.type=e,T.crossorigin=null!==v.getAttribute("crossorigin"),T.autoplay=T.autoplay||null!==v.getAttribute("autoplay"),T.loop=T.loop||null!==v.getAttribute("loop")),Ge.supported=A(Ge.type),Ge.supported.basic&&(Ge.container=a(v,t.createElement("div")),Ge.container.setAttribute("tabindex",0),J(),Ke(""+Ge.browser.name+" "+Ge.browser.version),se(),(o(T.types.html5,Ge.type)||o(T.types.embed,Ge.type)&&!Ge.supported.full)&&(ze(),We(),ee()),Ge.init=!0)}}function ze(){if(!Ge.supported.full)return Ze("Basic support only",Ge.type),l($(T.selectors.controls.wrapper)),l($(T.selectors.buttons.play)),void Q(!0);var e=!W(T.selectors.controls.wrapper).length;e&&K(),Z()&&(e&&Be(),je(),Q(),j(),q(),_e(),Ee(),Ne(),ge(),Ie())}function We(){e.setTimeout(function(){I(Ge.media,"ready")},0),f(Ge.media,D.classes.setup,!0),f(Ge.container,T.classes.ready,!0),Ge.media.plyr=$e,T.autoplay&&ce()}var $e,Ge=this,Xe={};Ge.media=v;var Ye=v.cloneNode(!0),Ke=function(){F("log",arguments)},Ze=function(){F("warn",arguments)};return Ke("Config",T),$e={getOriginal:function(){return Ye},getContainer:function(){return Ge.container},getEmbed:function(){return Ge.embed},getMedia:function(){return Ge.media},getType:function(){return Ge.type},getDuration:me,getCurrentTime:function(){return Ge.media.currentTime},getVolume:function(){return Ge.media.volume},isMuted:function(){return Ge.media.muted},isReady:function(){return h(Ge.container,T.classes.ready)},isLoading:function(){return h(Ge.container,T.classes.loading)},isPaused:function(){return Ge.media.paused},on:function(e,t){return b(Ge.container,e,t),this},play:ce,pause:ue,stop:function(){ue(),he()},restart:he,rewind:pe,forward:fe,seek:he,source:Me,poster:Fe,setVolume:_e,togglePlay:de,toggleMute:we,toggleCaptions:ke,toggleFullscreen:ye,toggleControls:De,isFullscreen:function(){return Ge.isFullscreen||!1},support:function(e){return s(Ge,e)},destroy:Ue},Ve(),Ge.init?$e:null}function L(e,n){var s=new XMLHttpRequest;if(!M.string(n)||!M.htmlElement(t.querySelector("#"+n))){var i=t.createElement("div");i.setAttribute("hidden",""),M.string(n)&&i.setAttribute("id",n),t.body.insertBefore(i,t.body.childNodes[0]),"withCredentials"in s&&(s.open("GET",e,!0),s.onload=function(){i.innerHTML=s.responseText},s.send())}}function A(e){var s=n(),i=s.isIE&&s.version<=9,o=s.isIos,r=s.isIphone,a=!!t.createElement("audio").canPlayType,l=!!t.createElement("video").canPlayType,c=!1,u=!1;switch(e){case"video":c=l,u=c&&!i&&!r;break;case"audio":c=a,u=c&&!i;break;case"vimeo":c=!0,u=!i&&!o;break;case"youtube":c=!0,u=!i&&!o,o&&!r&&s.version>=10&&(u=!0);break;case"soundcloud":c=!0,u=!i&&!r;break;default:c=a&&l,u=c&&!i}return{basic:c,full:u}}function I(e,n){function s(e,t){h(t,D.classes.hook)||i.push({target:e,media:t})}var i=[],o=[],r=[D.selectors.html5,D.selectors.embed].join(",");if(M.string(e)?e=t.querySelectorAll(e):M.htmlElement(e)?e=[e]:M.nodeList(e)||M.array(e)||M.string(e)||(M.undefined(n)&&M.object(e)&&(n=e),e=t.querySelectorAll(r)),M.nodeList(e)&&(e=Array.prototype.slice.call(e)),!A().basic||!e.length)return!1;for(var a=0;a<e.length;a++){var l=e[a],c=l.querySelectorAll(r);if(c.length)for(var u=0;u<c.length;u++)s(l,c[u]);else m(l,r)&&s(l,l)}return i.forEach(function(e){var t=e.target,s=e.media,i=!1;s===t&&(i=!0);var r={};try{r=JSON.parse(t.getAttribute("data-plyr"))}catch(e){}var a=x({},D,n,r);if(!a.enabled)return null;var l=new T(s,a);if(M.object(l)){if(a.debug){var c=a.events.concat(["setup","statechange","enterfullscreen","exitfullscreen","captionsenabled","captionsdisabled"]);b(l.getContainer(),c.join(" "),function(e){console.log([a.logPrefix,"event:",e.type].join(" "),e.detail.plyr)})}w(l.getContainer(),"setup",!0,{plyr:l}),o.push(l)}}),o}function N(e){if(M.string(e)?e=t.querySelector(e):M.undefined(e)&&(e=t.body),M.htmlElement(e)){var n=e.querySelectorAll("."+D.classes.setup),s=[];return Array.prototype.slice.call(n).forEach(function(e){M.object(e.plyr)&&s.push(e.plyr)}),s}return[]}var R,P={x:0,y:0},D={enabled:!0,debug:!1,autoplay:!1,loop:!1,seekTime:10,volume:10,volumeMin:0,volumeMax:10,volumeStep:1,duration:null,displayDuration:!0,loadSprite:!0,iconPrefix:"plyr",iconUrl:"https://cdn.plyr.io/2.0.18/plyr.svg",blankUrl:"https://cdn.plyr.io/static/blank.mp4",clickToPlay:!0,hideControls:!0,showPosterOnEnd:!1,disableContextMenu:!0,keyboardShorcuts:{focused:!0,global:!1},tooltips:{controls:!1,seek:!0},selectors:{html5:"video, audio",embed:"[data-type]",editable:"input, textarea, select, [contenteditable]",container:".plyr",controls:{container:null,wrapper:".plyr__controls"},labels:"[data-plyr]",buttons:{seek:'[data-plyr="seek"]',play:'[data-plyr="play"]',pause:'[data-plyr="pause"]',restart:'[data-plyr="restart"]',rewind:'[data-plyr="rewind"]',forward:'[data-plyr="fast-forward"]',mute:'[data-plyr="mute"]',captions:'[data-plyr="captions"]',fullscreen:'[data-plyr="fullscreen"]'},volume:{input:'[data-plyr="volume"]',display:".plyr__volume--display"},progress:{container:".plyr__progress",buffer:".plyr__progress--buffer",played:".plyr__progress--played"},captions:".plyr__captions",currentTime:".plyr__time--current",duration:".plyr__time--duration"},classes:{setup:"plyr--setup",ready:"plyr--ready",videoWrapper:"plyr__video-wrapper",embedWrapper:"plyr__video-embed",type:"plyr--{0}",stopped:"plyr--stopped",playing:"plyr--playing",muted:"plyr--muted",loading:"plyr--loading",hover:"plyr--hover",tooltip:"plyr__tooltip",hidden:"plyr__sr-only",hideControls:"plyr--hide-controls",isIos:"plyr--is-ios",isTouch:"plyr--is-touch",captions:{enabled:"plyr--captions-enabled",active:"plyr--captions-active"},fullscreen:{enabled:"plyr--fullscreen-enabled",fallback:"plyr--fullscreen-fallback",active:"plyr--fullscreen-active"},tabFocus:"tab-focus"},captions:{defaultActive:!1},fullscreen:{enabled:!0,fallback:!0,allowAudio:!1},storage:{enabled:!0,key:"plyr"},controls:["play-large","play","progress","current-time","mute","volume","captions","fullscreen"],i18n:{restart:"Restart",rewind:"Rewind {seektime} secs",play:"Play",pause:"Pause",forward:"Forward {seektime} secs",played:"played",buffered:"buffered",currentTime:"Current time",duration:"Duration",volume:"Volume",toggleMute:"Toggle Mute",toggleCaptions:"Toggle Captions",toggleFullscreen:"Toggle Fullscreen",frameTitle:"Player for {title}"},types:{embed:["youtube","vimeo","soundcloud"],html5:["video","audio"]},urls:{vimeo:{api:"https://player.vimeo.com/api/player.js"},youtube:{api:"https://www.youtube.com/iframe_api"},soundcloud:{api:"https://w.soundcloud.com/player/api.js"}},listeners:{seek:null,play:null,pause:null,restart:null,rewind:null,forward:null,mute:null,volume:null,captions:null,fullscreen:null},events:["ready","ended","progress","stalled","playing","waiting","canplay","canplaythrough","loadstart","loadeddata","loadedmetadata","timeupdate","volumechange","play","pause","error","seeking","seeked","emptied"],
+logPrefix:"[Plyr]"},M={object:function(e){return null!==e&&"object"==typeof e},array:function(e){return null!==e&&"object"==typeof e&&e.constructor===Array},number:function(e){return null!==e&&("number"==typeof e&&!isNaN(e-0)||"object"==typeof e&&e.constructor===Number)},string:function(e){return null!==e&&("string"==typeof e||"object"==typeof e&&e.constructor===String)},boolean:function(e){return null!==e&&"boolean"==typeof e},nodeList:function(e){return null!==e&&e instanceof NodeList},htmlElement:function(e){return null!==e&&e instanceof HTMLElement},function:function(e){return null!==e&&"function"==typeof e},undefined:function(e){return null!==e&&"undefined"==typeof e}},O={supported:function(){try{e.localStorage.setItem("___test","OK");var t=e.localStorage.getItem("___test");return e.localStorage.removeItem("___test"),"OK"===t}catch(e){return!1}return!1}()};return{setup:I,supported:A,loadSprite:L,get:N}}),function(){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}"function"!=typeof window.CustomEvent&&(e.prototype=window.Event.prototype,window.CustomEvent=e)}()},function(e,t,n){/*!
+	 * sweetalert2 v7.3.5
+	 * Released under the MIT License.
+	 */
+!function(t,n){e.exports=n()}(this,function(){"use strict";var e="html.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown),\nbody.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) {\n  overflow-y: hidden; }\n\nbody.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n      -ms-flex-direction: column;\n          flex-direction: column; }\n  body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-icon {\n    margin: 0 0 15px; }\n  body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-buttonswrapper {\n    -webkit-box-flex: 1;\n        -ms-flex: 1;\n            flex: 1;\n    -ms-flex-item-align: stretch;\n        align-self: stretch;\n    -webkit-box-pack: end;\n        -ms-flex-pack: end;\n            justify-content: flex-end; }\n  body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-loading {\n    -webkit-box-pack: center;\n        -ms-flex-pack: center;\n            justify-content: center; }\n  body.swal2-toast-shown.swal2-has-input > .swal2-container > .swal2-toast .swal2-input {\n    height: 32px;\n    font-size: 14px;\n    margin: 5px auto; }\n\nbody.swal2-toast-shown > .swal2-container {\n  position: fixed;\n  background-color: transparent; }\n  body.swal2-toast-shown > .swal2-container.swal2-shown {\n    background-color: transparent; }\n  body.swal2-toast-shown > .swal2-container.swal2-top {\n    top: 0;\n    left: 50%;\n    bottom: auto;\n    right: auto;\n    -webkit-transform: translateX(-50%);\n            transform: translateX(-50%); }\n  body.swal2-toast-shown > .swal2-container.swal2-top-end, body.swal2-toast-shown > .swal2-container.swal2-top-right {\n    top: 0;\n    left: auto;\n    bottom: auto;\n    right: 0; }\n  body.swal2-toast-shown > .swal2-container.swal2-top-start, body.swal2-toast-shown > .swal2-container.swal2-top-left {\n    top: 0;\n    left: 0;\n    bottom: auto;\n    right: auto; }\n  body.swal2-toast-shown > .swal2-container.swal2-center-start, body.swal2-toast-shown > .swal2-container.swal2-center-left {\n    top: 50%;\n    left: 0;\n    bottom: auto;\n    right: auto;\n    -webkit-transform: translateY(-50%);\n            transform: translateY(-50%); }\n  body.swal2-toast-shown > .swal2-container.swal2-center {\n    top: 50%;\n    left: 50%;\n    bottom: auto;\n    right: auto;\n    -webkit-transform: translate(-50%, -50%);\n            transform: translate(-50%, -50%); }\n  body.swal2-toast-shown > .swal2-container.swal2-center-end, body.swal2-toast-shown > .swal2-container.swal2-center-right {\n    top: 50%;\n    left: auto;\n    bottom: auto;\n    right: 0;\n    -webkit-transform: translateY(-50%);\n            transform: translateY(-50%); }\n  body.swal2-toast-shown > .swal2-container.swal2-bottom-start, body.swal2-toast-shown > .swal2-container.swal2-bottom-left {\n    top: auto;\n    left: 0;\n    bottom: 0;\n    right: auto; }\n  body.swal2-toast-shown > .swal2-container.swal2-bottom {\n    top: auto;\n    left: 50%;\n    bottom: 0;\n    right: auto;\n    -webkit-transform: translateX(-50%);\n            transform: translateX(-50%); }\n  body.swal2-toast-shown > .swal2-container.swal2-bottom-end, body.swal2-toast-shown > .swal2-container.swal2-bottom-right {\n    top: auto;\n    left: auto;\n    bottom: 0;\n    right: 0; }\n\nbody.swal2-iosfix {\n  position: fixed;\n  left: 0;\n  right: 0; }\n\nbody.swal2-no-backdrop > .swal2-shown {\n  top: auto;\n  bottom: auto;\n  left: auto;\n  right: auto;\n  background-color: transparent; }\n  body.swal2-no-backdrop > .swal2-shown > .swal2-modal {\n    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }\n  body.swal2-no-backdrop > .swal2-shown.swal2-top {\n    top: 0;\n    left: 50%;\n    -webkit-transform: translateX(-50%);\n            transform: translateX(-50%); }\n  body.swal2-no-backdrop > .swal2-shown.swal2-top-start, body.swal2-no-backdrop > .swal2-shown.swal2-top-left {\n    top: 0;\n    left: 0; }\n  body.swal2-no-backdrop > .swal2-shown.swal2-top-end, body.swal2-no-backdrop > .swal2-shown.swal2-top-right {\n    top: 0;\n    right: 0; }\n  body.swal2-no-backdrop > .swal2-shown.swal2-center {\n    top: 50%;\n    left: 50%;\n    -webkit-transform: translate(-50%, -50%);\n            transform: translate(-50%, -50%); }\n  body.swal2-no-backdrop > .swal2-shown.swal2-center-start, body.swal2-no-backdrop > .swal2-shown.swal2-center-left {\n    top: 50%;\n    left: 0;\n    -webkit-transform: translateY(-50%);\n            transform: translateY(-50%); }\n  body.swal2-no-backdrop > .swal2-shown.swal2-center-end, body.swal2-no-backdrop > .swal2-shown.swal2-center-right {\n    top: 50%;\n    right: 0;\n    -webkit-transform: translateY(-50%);\n            transform: translateY(-50%); }\n  body.swal2-no-backdrop > .swal2-shown.swal2-bottom {\n    bottom: 0;\n    left: 50%;\n    -webkit-transform: translateX(-50%);\n            transform: translateX(-50%); }\n  body.swal2-no-backdrop > .swal2-shown.swal2-bottom-start, body.swal2-no-backdrop > .swal2-shown.swal2-bottom-left {\n    bottom: 0;\n    left: 0; }\n  body.swal2-no-backdrop > .swal2-shown.swal2-bottom-end, body.swal2-no-backdrop > .swal2-shown.swal2-bottom-right {\n    bottom: 0;\n    right: 0; }\n\n.swal2-container {\n  display: -webkit-box;\n  display: -ms-flexbox;\n  display: flex;\n  -webkit-box-orient: horizontal;\n  -webkit-box-direction: normal;\n      -ms-flex-direction: row;\n          flex-direction: row;\n  -webkit-box-align: center;\n      -ms-flex-align: center;\n          align-items: center;\n  -webkit-box-pack: center;\n      -ms-flex-pack: center;\n          justify-content: center;\n  position: fixed;\n  padding: 10px;\n  top: 0;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  background-color: transparent;\n  z-index: 1060; }\n  .swal2-container.swal2-top {\n    -webkit-box-align: start;\n        -ms-flex-align: start;\n            align-items: flex-start; }\n  .swal2-container.swal2-top-start, .swal2-container.swal2-top-left {\n    -webkit-box-align: start;\n        -ms-flex-align: start;\n            align-items: flex-start;\n    -webkit-box-pack: start;\n        -ms-flex-pack: start;\n            justify-content: flex-start; }\n  .swal2-container.swal2-top-end, .swal2-container.swal2-top-right {\n    -webkit-box-align: start;\n        -ms-flex-align: start;\n            align-items: flex-start;\n    -webkit-box-pack: end;\n        -ms-flex-pack: end;\n            justify-content: flex-end; }\n  .swal2-container.swal2-center {\n    -webkit-box-align: center;\n        -ms-flex-align: center;\n            align-items: center; }\n  .swal2-container.swal2-center-start, .swal2-container.swal2-center-left {\n    -webkit-box-align: center;\n        -ms-flex-align: center;\n            align-items: center;\n    -webkit-box-pack: start;\n        -ms-flex-pack: start;\n            justify-content: flex-start; }\n  .swal2-container.swal2-center-end, .swal2-container.swal2-center-right {\n    -webkit-box-align: center;\n        -ms-flex-align: center;\n            align-items: center;\n    -webkit-box-pack: end;\n        -ms-flex-pack: end;\n            justify-content: flex-end; }\n  .swal2-container.swal2-bottom {\n    -webkit-box-align: end;\n        -ms-flex-align: end;\n            align-items: flex-end; }\n  .swal2-container.swal2-bottom-start, .swal2-container.swal2-bottom-left {\n    -webkit-box-align: end;\n        -ms-flex-align: end;\n            align-items: flex-end;\n    -webkit-box-pack: start;\n        -ms-flex-pack: start;\n            justify-content: flex-start; }\n  .swal2-container.swal2-bottom-end, .swal2-container.swal2-bottom-right {\n    -webkit-box-align: end;\n        -ms-flex-align: end;\n            align-items: flex-end;\n    -webkit-box-pack: end;\n        -ms-flex-pack: end;\n            justify-content: flex-end; }\n  .swal2-container.swal2-grow-fullscreen > .swal2-modal {\n    display: -webkit-box !important;\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -webkit-box-flex: 1;\n        -ms-flex: 1;\n            flex: 1;\n    -ms-flex-item-align: stretch;\n        align-self: stretch;\n    -webkit-box-pack: center;\n        -ms-flex-pack: center;\n            justify-content: center; }\n  .swal2-container.swal2-grow-row > .swal2-modal {\n    display: -webkit-box !important;\n    display: -ms-flexbox !important;\n    display: flex !important;\n    -webkit-box-flex: 1;\n        -ms-flex: 1;\n            flex: 1;\n    -ms-flex-line-pack: center;\n        align-content: center;\n    -webkit-box-pack: center;\n        -ms-flex-pack: center;\n            justify-content: center; }\n  .swal2-container.swal2-grow-column {\n    -webkit-box-flex: 1;\n        -ms-flex: 1;\n            flex: 1;\n    -webkit-box-orient: vertical;\n    -webkit-box-direction: normal;\n        -ms-flex-direction: column;\n            flex-direction: column; }\n    .swal2-container.swal2-grow-column.swal2-top, .swal2-container.swal2-grow-column.swal2-center, .swal2-container.swal2-grow-column.swal2-bottom {\n      -webkit-box-align: center;\n          -ms-flex-align: center;\n              align-items: center; }\n    .swal2-container.swal2-grow-column.swal2-top-start, .swal2-container.swal2-grow-column.swal2-center-start, .swal2-container.swal2-grow-column.swal2-bottom-start, .swal2-container.swal2-grow-column.swal2-top-left, .swal2-container.swal2-grow-column.swal2-center-left, .swal2-container.swal2-grow-column.swal2-bottom-left {\n      -webkit-box-align: start;\n          -ms-flex-align: start;\n              align-items: flex-start; }\n    .swal2-container.swal2-grow-column.swal2-top-end, .swal2-container.swal2-grow-column.swal2-center-end, .swal2-container.swal2-grow-column.swal2-bottom-end, .swal2-container.swal2-grow-column.swal2-top-right, .swal2-container.swal2-grow-column.swal2-center-right, .swal2-container.swal2-grow-column.swal2-bottom-right {\n      -webkit-box-align: end;\n          -ms-flex-align: end;\n              align-items: flex-end; }\n    .swal2-container.swal2-grow-column > .swal2-modal {\n      display: -webkit-box !important;\n      display: -ms-flexbox !important;\n      display: flex !important;\n      -webkit-box-flex: 1;\n          -ms-flex: 1;\n              flex: 1;\n      -ms-flex-line-pack: center;\n          align-content: center;\n      -webkit-box-pack: center;\n          -ms-flex-pack: center;\n              justify-content: center; }\n  .swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right) > .swal2-modal {\n    margin: auto; }\n  @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n    .swal2-container .swal2-modal {\n      margin: 0 !important; } }\n  .swal2-container.swal2-fade {\n    -webkit-transition: background-color .1s;\n    transition: background-color .1s; }\n  .swal2-container.swal2-shown {\n    background-color: rgba(0, 0, 0, 0.4); }\n\n.swal2-popup {\n  -webkit-box-orient: vertical;\n  -webkit-box-direction: normal;\n      -ms-flex-direction: column;\n          flex-direction: column;\n  background-color: #fff;\n  font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n  border-radius: 5px;\n  -webkit-box-sizing: border-box;\n          box-sizing: border-box;\n  text-align: center;\n  overflow-x: hidden;\n  overflow-y: auto;\n  display: none;\n  position: relative;\n  max-width: 100%; }\n  .swal2-popup.swal2-toast {\n    width: 300px;\n    padding: 0 15px;\n    -webkit-box-orient: horizontal;\n    -webkit-box-direction: normal;\n        -ms-flex-direction: row;\n            flex-direction: row;\n    -webkit-box-align: center;\n        -ms-flex-align: center;\n            align-items: center;\n    overflow-y: hidden;\n    -webkit-box-shadow: 0 0 10px #d9d9d9;\n            box-shadow: 0 0 10px #d9d9d9; }\n    .swal2-popup.swal2-toast .swal2-title {\n      max-width: 300px;\n      font-size: 16px;\n      text-align: left; }\n    .swal2-popup.swal2-toast .swal2-content {\n      font-size: 14px;\n      text-align: left; }\n    .swal2-popup.swal2-toast .swal2-icon {\n      width: 32px;\n      min-width: 32px;\n      height: 32px;\n      margin: 0 15px 0 0; }\n      .swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring {\n        width: 32px;\n        height: 32px; }\n      .swal2-popup.swal2-toast .swal2-icon.swal2-info, .swal2-popup.swal2-toast .swal2-icon.swal2-warning, .swal2-popup.swal2-toast .swal2-icon.swal2-question {\n        font-size: 26px;\n        line-height: 32px; }\n      .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n        top: 14px;\n        width: 22px; }\n        .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n          left: 5px; }\n        .swal2-popup.swal2-toast .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n          right: 5px; }\n    .swal2-popup.swal2-toast .swal2-buttonswrapper {\n      margin: 0 0 0 5px; }\n    .swal2-popup.swal2-toast .swal2-styled {\n      margin: 0 0 0 5px;\n      padding: 5px 10px; }\n      .swal2-popup.swal2-toast .swal2-styled:focus {\n        -webkit-box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(50, 100, 150, 0.4);\n                box-shadow: 0 0 0 1px #fff, 0 0 0 2px rgba(50, 100, 150, 0.4); }\n    .swal2-popup.swal2-toast .swal2-validationerror {\n      width: 100%;\n      margin: 5px -20px; }\n    .swal2-popup.swal2-toast .swal2-success {\n      border-color: #a5dc86; }\n      .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'] {\n        border-radius: 50%;\n        position: absolute;\n        width: 32px;\n        height: 64px;\n        -webkit-transform: rotate(45deg);\n                transform: rotate(45deg); }\n        .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n          border-radius: 64px 0 0 64px;\n          top: -4px;\n          left: -15px;\n          -webkit-transform: rotate(-45deg);\n                  transform: rotate(-45deg);\n          -webkit-transform-origin: 32px 32px;\n                  transform-origin: 32px 32px; }\n        .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n          border-radius: 0 64px 64px 0;\n          top: -5px;\n          left: 14px;\n          -webkit-transform-origin: 0 32px;\n                  transform-origin: 0 32px; }\n      .swal2-popup.swal2-toast .swal2-success .swal2-success-ring {\n        width: 32px;\n        height: 32px; }\n      .swal2-popup.swal2-toast .swal2-success .swal2-success-fix {\n        width: 7px;\n        height: 90px;\n        left: 28px;\n        top: 8px; }\n      .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'] {\n        height: 5px; }\n        .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='tip'] {\n          width: 12px;\n          left: 3px;\n          top: 18px; }\n        .swal2-popup.swal2-toast .swal2-success [class^='swal2-success-line'][class$='long'] {\n          width: 22px;\n          right: 3px;\n          top: 15px; }\n    .swal2-popup.swal2-toast .swal2-animate-success-line-tip {\n      -webkit-animation: animate-toast-success-tip .75s;\n              animation: animate-toast-success-tip .75s; }\n    .swal2-popup.swal2-toast .swal2-animate-success-line-long {\n      -webkit-animation: animate-toast-success-long .75s;\n              animation: animate-toast-success-long .75s; }\n  .swal2-popup:focus {\n    outline: none; }\n  .swal2-popup.swal2-loading {\n    overflow-y: hidden; }\n  .swal2-popup .swal2-title {\n    color: #595959;\n    font-size: 30px;\n    text-align: center;\n    font-weight: 600;\n    text-transform: none;\n    position: relative;\n    margin: 0 0 .4em;\n    padding: 0;\n    display: block;\n    word-wrap: break-word; }\n  .swal2-popup .swal2-buttonswrapper {\n    -webkit-box-align: center;\n        -ms-flex-align: center;\n            align-items: center;\n    -webkit-box-pack: center;\n        -ms-flex-pack: center;\n            justify-content: center;\n    margin-top: 15px; }\n    .swal2-popup .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled] {\n      opacity: .4;\n      cursor: no-drop; }\n    .swal2-popup .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm {\n      -webkit-box-sizing: border-box;\n              box-sizing: border-box;\n      border: 4px solid transparent;\n      border-color: transparent;\n      width: 40px;\n      height: 40px;\n      padding: 0;\n      margin: 7.5px;\n      vertical-align: top;\n      background-color: transparent !important;\n      color: transparent;\n      cursor: default;\n      border-radius: 100%;\n      -webkit-animation: rotate-loading 1.5s linear 0s infinite normal;\n              animation: rotate-loading 1.5s linear 0s infinite normal;\n      -webkit-user-select: none;\n         -moz-user-select: none;\n          -ms-user-select: none;\n              user-select: none; }\n    .swal2-popup .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel {\n      margin-left: 30px;\n      margin-right: 30px; }\n    .swal2-popup .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm::after {\n      display: inline-block;\n      content: '';\n      margin-left: 5px;\n      vertical-align: -1px;\n      height: 15px;\n      width: 15px;\n      border: 3px solid #999999;\n      -webkit-box-shadow: 1px 1px 1px #fff;\n              box-shadow: 1px 1px 1px #fff;\n      border-right-color: transparent;\n      border-radius: 50%;\n      -webkit-animation: rotate-loading 1.5s linear 0s infinite normal;\n              animation: rotate-loading 1.5s linear 0s infinite normal; }\n  .swal2-popup .swal2-styled {\n    border: 0;\n    border-radius: 3px;\n    -webkit-box-shadow: none;\n            box-shadow: none;\n    color: #fff;\n    cursor: pointer;\n    font-size: 17px;\n    font-weight: 500;\n    margin: 15px 5px 0;\n    padding: 10px 32px; }\n    .swal2-popup .swal2-styled:focus {\n      outline: none;\n      -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4);\n              box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(50, 100, 150, 0.4); }\n  .swal2-popup .swal2-image {\n    margin: 20px auto;\n    max-width: 100%; }\n  .swal2-popup .swal2-close {\n    background: transparent;\n    border: 0;\n    margin: 0;\n    padding: 0;\n    width: 38px;\n    height: 40px;\n    font-size: 36px;\n    line-height: 40px;\n    font-family: serif;\n    position: absolute;\n    top: 5px;\n    right: 8px;\n    cursor: pointer;\n    color: #cccccc;\n    -webkit-transition: color .1s ease;\n    transition: color .1s ease; }\n    .swal2-popup .swal2-close:hover {\n      color: #d55; }\n  .swal2-popup > .swal2-input,\n  .swal2-popup > .swal2-file,\n  .swal2-popup > .swal2-textarea,\n  .swal2-popup > .swal2-select,\n  .swal2-popup > .swal2-radio,\n  .swal2-popup > .swal2-checkbox {\n    display: none; }\n  .swal2-popup .swal2-content {\n    font-size: 18px;\n    text-align: center;\n    font-weight: 300;\n    position: relative;\n    float: none;\n    margin: 0;\n    padding: 0;\n    line-height: normal;\n    color: #545454;\n    word-wrap: break-word; }\n  .swal2-popup .swal2-input,\n  .swal2-popup .swal2-file,\n  .swal2-popup .swal2-textarea,\n  .swal2-popup .swal2-select,\n  .swal2-popup .swal2-radio,\n  .swal2-popup .swal2-checkbox {\n    margin: 20px auto; }\n  .swal2-popup .swal2-input,\n  .swal2-popup .swal2-file,\n  .swal2-popup .swal2-textarea {\n    width: 100%;\n    -webkit-box-sizing: border-box;\n            box-sizing: border-box;\n    font-size: 18px;\n    border-radius: 3px;\n    border: 1px solid #d9d9d9;\n    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n            box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);\n    -webkit-transition: border-color .3s, -webkit-box-shadow .3s;\n    transition: border-color .3s, -webkit-box-shadow .3s;\n    transition: border-color .3s, box-shadow .3s;\n    transition: border-color .3s, box-shadow .3s, -webkit-box-shadow .3s; }\n    .swal2-popup .swal2-input.swal2-inputerror,\n    .swal2-popup .swal2-file.swal2-inputerror,\n    .swal2-popup .swal2-textarea.swal2-inputerror {\n      border-color: #f27474 !important;\n      -webkit-box-shadow: 0 0 2px #f27474 !important;\n              box-shadow: 0 0 2px #f27474 !important; }\n    .swal2-popup .swal2-input:focus,\n    .swal2-popup .swal2-file:focus,\n    .swal2-popup .swal2-textarea:focus {\n      outline: none;\n      border: 1px solid #b4dbed;\n      -webkit-box-shadow: 0 0 3px #c4e6f5;\n              box-shadow: 0 0 3px #c4e6f5; }\n    .swal2-popup .swal2-input::-webkit-input-placeholder,\n    .swal2-popup .swal2-file::-webkit-input-placeholder,\n    .swal2-popup .swal2-textarea::-webkit-input-placeholder {\n      color: #cccccc; }\n    .swal2-popup .swal2-input:-ms-input-placeholder,\n    .swal2-popup .swal2-file:-ms-input-placeholder,\n    .swal2-popup .swal2-textarea:-ms-input-placeholder {\n      color: #cccccc; }\n    .swal2-popup .swal2-input::-ms-input-placeholder,\n    .swal2-popup .swal2-file::-ms-input-placeholder,\n    .swal2-popup .swal2-textarea::-ms-input-placeholder {\n      color: #cccccc; }\n    .swal2-popup .swal2-input::placeholder,\n    .swal2-popup .swal2-file::placeholder,\n    .swal2-popup .swal2-textarea::placeholder {\n      color: #cccccc; }\n  .swal2-popup .swal2-range input {\n    float: left;\n    width: 80%; }\n  .swal2-popup .swal2-range output {\n    float: right;\n    width: 20%;\n    font-size: 20px;\n    font-weight: 600;\n    text-align: center; }\n  .swal2-popup .swal2-range input,\n  .swal2-popup .swal2-range output {\n    height: 43px;\n    line-height: 43px;\n    vertical-align: middle;\n    margin: 20px auto;\n    padding: 0; }\n  .swal2-popup .swal2-input {\n    height: 43px;\n    padding: 0 12px; }\n    .swal2-popup .swal2-input[type='number'] {\n      max-width: 150px; }\n  .swal2-popup .swal2-file {\n    font-size: 20px; }\n  .swal2-popup .swal2-textarea {\n    height: 108px;\n    padding: 12px; }\n  .swal2-popup .swal2-select {\n    color: #545454;\n    font-size: inherit;\n    padding: 5px 10px;\n    min-width: 40%;\n    max-width: 100%; }\n  .swal2-popup .swal2-radio {\n    border: 0; }\n    .swal2-popup .swal2-radio label:not(:first-child) {\n      margin-left: 20px; }\n    .swal2-popup .swal2-radio input,\n    .swal2-popup .swal2-radio span {\n      vertical-align: middle; }\n    .swal2-popup .swal2-radio input {\n      margin: 0 3px 0 0; }\n  .swal2-popup .swal2-checkbox {\n    color: #545454; }\n    .swal2-popup .swal2-checkbox input,\n    .swal2-popup .swal2-checkbox span {\n      vertical-align: middle; }\n  .swal2-popup .swal2-validationerror {\n    background-color: #f0f0f0;\n    margin: 0 -20px;\n    overflow: hidden;\n    padding: 10px;\n    color: gray;\n    font-size: 16px;\n    font-weight: 300;\n    display: none; }\n    .swal2-popup .swal2-validationerror::before {\n      content: '!';\n      display: inline-block;\n      width: 24px;\n      height: 24px;\n      border-radius: 50%;\n      background-color: #ea7d7d;\n      color: #fff;\n      line-height: 24px;\n      text-align: center;\n      margin-right: 10px; }\n\n@supports (-ms-accelerator: true) {\n  .swal2-range input {\n    width: 100% !important; }\n  .swal2-range output {\n    display: none; } }\n\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\n  .swal2-range input {\n    width: 100% !important; }\n  .swal2-range output {\n    display: none; } }\n\n.swal2-icon {\n  width: 80px;\n  height: 80px;\n  border: 4px solid transparent;\n  border-radius: 50%;\n  margin: 20px auto 30px;\n  padding: 0;\n  position: relative;\n  -webkit-box-sizing: content-box;\n          box-sizing: content-box;\n  cursor: default;\n  -webkit-user-select: none;\n     -moz-user-select: none;\n      -ms-user-select: none;\n          user-select: none; }\n  .swal2-icon.swal2-error {\n    border-color: #f27474; }\n    .swal2-icon.swal2-error .swal2-x-mark {\n      position: relative;\n      display: block; }\n    .swal2-icon.swal2-error [class^='swal2-x-mark-line'] {\n      position: absolute;\n      height: 5px;\n      width: 47px;\n      background-color: #f27474;\n      display: block;\n      top: 37px;\n      border-radius: 2px; }\n      .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='left'] {\n        -webkit-transform: rotate(45deg);\n                transform: rotate(45deg);\n        left: 17px; }\n      .swal2-icon.swal2-error [class^='swal2-x-mark-line'][class$='right'] {\n        -webkit-transform: rotate(-45deg);\n                transform: rotate(-45deg);\n        right: 16px; }\n  .swal2-icon.swal2-warning {\n    font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n    color: #f8bb86;\n    border-color: #facea8;\n    font-size: 60px;\n    line-height: 80px;\n    text-align: center; }\n  .swal2-icon.swal2-info {\n    font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n    color: #3fc3ee;\n    border-color: #9de0f6;\n    font-size: 60px;\n    line-height: 80px;\n    text-align: center; }\n  .swal2-icon.swal2-question {\n    font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n    color: #87adbd;\n    border-color: #c9dae1;\n    font-size: 60px;\n    line-height: 80px;\n    text-align: center; }\n  .swal2-icon.swal2-success {\n    border-color: #a5dc86; }\n    .swal2-icon.swal2-success [class^='swal2-success-circular-line'] {\n      border-radius: 50%;\n      position: absolute;\n      width: 60px;\n      height: 120px;\n      -webkit-transform: rotate(45deg);\n              transform: rotate(45deg); }\n      .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='left'] {\n        border-radius: 120px 0 0 120px;\n        top: -7px;\n        left: -33px;\n        -webkit-transform: rotate(-45deg);\n                transform: rotate(-45deg);\n        -webkit-transform-origin: 60px 60px;\n                transform-origin: 60px 60px; }\n      .swal2-icon.swal2-success [class^='swal2-success-circular-line'][class$='right'] {\n        border-radius: 0 120px 120px 0;\n        top: -11px;\n        left: 30px;\n        -webkit-transform: rotate(-45deg);\n                transform: rotate(-45deg);\n        -webkit-transform-origin: 0 60px;\n                transform-origin: 0 60px; }\n    .swal2-icon.swal2-success .swal2-success-ring {\n      width: 80px;\n      height: 80px;\n      border: 4px solid rgba(165, 220, 134, 0.2);\n      border-radius: 50%;\n      -webkit-box-sizing: content-box;\n              box-sizing: content-box;\n      position: absolute;\n      left: -4px;\n      top: -4px;\n      z-index: 2; }\n    .swal2-icon.swal2-success .swal2-success-fix {\n      width: 7px;\n      height: 90px;\n      position: absolute;\n      left: 28px;\n      top: 8px;\n      z-index: 1;\n      -webkit-transform: rotate(-45deg);\n              transform: rotate(-45deg); }\n    .swal2-icon.swal2-success [class^='swal2-success-line'] {\n      height: 5px;\n      background-color: #a5dc86;\n      display: block;\n      border-radius: 2px;\n      position: absolute;\n      z-index: 2; }\n      .swal2-icon.swal2-success [class^='swal2-success-line'][class$='tip'] {\n        width: 25px;\n        left: 14px;\n        top: 46px;\n        -webkit-transform: rotate(45deg);\n                transform: rotate(45deg); }\n      .swal2-icon.swal2-success [class^='swal2-success-line'][class$='long'] {\n        width: 47px;\n        right: 8px;\n        top: 38px;\n        -webkit-transform: rotate(-45deg);\n                transform: rotate(-45deg); }\n\n.swal2-progresssteps {\n  font-weight: 600;\n  margin: 0 0 20px;\n  padding: 0; }\n  .swal2-progresssteps li {\n    display: inline-block;\n    position: relative; }\n  .swal2-progresssteps .swal2-progresscircle {\n    background: #3085d6;\n    border-radius: 2em;\n    color: #fff;\n    height: 2em;\n    line-height: 2em;\n    text-align: center;\n    width: 2em;\n    z-index: 20; }\n    .swal2-progresssteps .swal2-progresscircle:first-child {\n      margin-left: 0; }\n    .swal2-progresssteps .swal2-progresscircle:last-child {\n      margin-right: 0; }\n    .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep {\n      background: #3085d6; }\n      .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle {\n        background: #add8e6; }\n      .swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline {\n        background: #add8e6; }\n  .swal2-progresssteps .swal2-progressline {\n    background: #3085d6;\n    height: .4em;\n    margin: 0 -1px;\n    z-index: 10; }\n\n[class^='swal2'] {\n  -webkit-tap-highlight-color: transparent; }\n\n@-webkit-keyframes showSweetToast {\n  0% {\n    -webkit-transform: translateY(-10px) rotateZ(2deg);\n            transform: translateY(-10px) rotateZ(2deg);\n    opacity: 0; }\n  33% {\n    -webkit-transform: translateY(0) rotateZ(-2deg);\n            transform: translateY(0) rotateZ(-2deg);\n    opacity: .5; }\n  66% {\n    -webkit-transform: translateY(5px) rotateZ(2deg);\n            transform: translateY(5px) rotateZ(2deg);\n    opacity: .7; }\n  100% {\n    -webkit-transform: translateY(0) rotateZ(0);\n            transform: translateY(0) rotateZ(0);\n    opacity: 1; } }\n\n@keyframes showSweetToast {\n  0% {\n    -webkit-transform: translateY(-10px) rotateZ(2deg);\n            transform: translateY(-10px) rotateZ(2deg);\n    opacity: 0; }\n  33% {\n    -webkit-transform: translateY(0) rotateZ(-2deg);\n            transform: translateY(0) rotateZ(-2deg);\n    opacity: .5; }\n  66% {\n    -webkit-transform: translateY(5px) rotateZ(2deg);\n            transform: translateY(5px) rotateZ(2deg);\n    opacity: .7; }\n  100% {\n    -webkit-transform: translateY(0) rotateZ(0);\n            transform: translateY(0) rotateZ(0);\n    opacity: 1; } }\n\n@-webkit-keyframes hideSweetToast {\n  0% {\n    opacity: 1; }\n  33% {\n    opacity: .5; }\n  100% {\n    -webkit-transform: rotateZ(1deg);\n            transform: rotateZ(1deg);\n    opacity: 0; } }\n\n@keyframes hideSweetToast {\n  0% {\n    opacity: 1; }\n  33% {\n    opacity: .5; }\n  100% {\n    -webkit-transform: rotateZ(1deg);\n            transform: rotateZ(1deg);\n    opacity: 0; } }\n\n@-webkit-keyframes showSweetAlert {\n  0% {\n    -webkit-transform: scale(0.7);\n            transform: scale(0.7); }\n  45% {\n    -webkit-transform: scale(1.05);\n            transform: scale(1.05); }\n  80% {\n    -webkit-transform: scale(0.95);\n            transform: scale(0.95); }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1); } }\n\n@keyframes showSweetAlert {\n  0% {\n    -webkit-transform: scale(0.7);\n            transform: scale(0.7); }\n  45% {\n    -webkit-transform: scale(1.05);\n            transform: scale(1.05); }\n  80% {\n    -webkit-transform: scale(0.95);\n            transform: scale(0.95); }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1); } }\n\n@-webkit-keyframes hideSweetAlert {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1; }\n  100% {\n    -webkit-transform: scale(0.5);\n            transform: scale(0.5);\n    opacity: 0; } }\n\n@keyframes hideSweetAlert {\n  0% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    opacity: 1; }\n  100% {\n    -webkit-transform: scale(0.5);\n            transform: scale(0.5);\n    opacity: 0; } }\n\n.swal2-show {\n  -webkit-animation: showSweetAlert .3s;\n          animation: showSweetAlert .3s; }\n  .swal2-show.swal2-toast {\n    -webkit-animation: showSweetToast .5s;\n            animation: showSweetToast .5s; }\n  .swal2-show.swal2-noanimation {\n    -webkit-animation: none;\n            animation: none; }\n\n.swal2-hide {\n  -webkit-animation: hideSweetAlert .15s forwards;\n          animation: hideSweetAlert .15s forwards; }\n  .swal2-hide.swal2-toast {\n    -webkit-animation: hideSweetToast .2s forwards;\n            animation: hideSweetToast .2s forwards; }\n  .swal2-hide.swal2-noanimation {\n    -webkit-animation: none;\n            animation: none; }\n\n[dir='rtl'] .swal2-close {\n  left: 8px;\n  right: auto; }\n\n@-webkit-keyframes animate-success-tip {\n  0% {\n    width: 0;\n    left: 1px;\n    top: 19px; }\n  54% {\n    width: 0;\n    left: 1px;\n    top: 19px; }\n  70% {\n    width: 50px;\n    left: -8px;\n    top: 37px; }\n  84% {\n    width: 17px;\n    left: 21px;\n    top: 48px; }\n  100% {\n    width: 25px;\n    left: 14px;\n    top: 45px; } }\n\n@keyframes animate-success-tip {\n  0% {\n    width: 0;\n    left: 1px;\n    top: 19px; }\n  54% {\n    width: 0;\n    left: 1px;\n    top: 19px; }\n  70% {\n    width: 50px;\n    left: -8px;\n    top: 37px; }\n  84% {\n    width: 17px;\n    left: 21px;\n    top: 48px; }\n  100% {\n    width: 25px;\n    left: 14px;\n    top: 45px; } }\n\n@-webkit-keyframes animate-success-long {\n  0% {\n    width: 0;\n    right: 46px;\n    top: 54px; }\n  65% {\n    width: 0;\n    right: 46px;\n    top: 54px; }\n  84% {\n    width: 55px;\n    right: 0;\n    top: 35px; }\n  100% {\n    width: 47px;\n    right: 8px;\n    top: 38px; } }\n\n@keyframes animate-success-long {\n  0% {\n    width: 0;\n    right: 46px;\n    top: 54px; }\n  65% {\n    width: 0;\n    right: 46px;\n    top: 54px; }\n  84% {\n    width: 55px;\n    right: 0;\n    top: 35px; }\n  100% {\n    width: 47px;\n    right: 8px;\n    top: 38px; } }\n\n@-webkit-keyframes animate-toast-success-tip {\n  0% {\n    width: 0;\n    left: 1px;\n    top: 9px; }\n  54% {\n    width: 0;\n    left: 1px;\n    top: 9px; }\n  70% {\n    width: 24px;\n    left: -4px;\n    top: 17px; }\n  84% {\n    width: 8px;\n    left: 10px;\n    top: 20px; }\n  100% {\n    width: 12px;\n    left: 3px;\n    top: 18px; } }\n\n@keyframes animate-toast-success-tip {\n  0% {\n    width: 0;\n    left: 1px;\n    top: 9px; }\n  54% {\n    width: 0;\n    left: 1px;\n    top: 9px; }\n  70% {\n    width: 24px;\n    left: -4px;\n    top: 17px; }\n  84% {\n    width: 8px;\n    left: 10px;\n    top: 20px; }\n  100% {\n    width: 12px;\n    left: 3px;\n    top: 18px; } }\n\n@-webkit-keyframes animate-toast-success-long {\n  0% {\n    width: 0;\n    right: 22px;\n    top: 26px; }\n  65% {\n    width: 0;\n    right: 22px;\n    top: 26px; }\n  84% {\n    width: 26px;\n    right: 0;\n    top: 15px; }\n  100% {\n    width: 22px;\n    right: 3px;\n    top: 15px; } }\n\n@keyframes animate-toast-success-long {\n  0% {\n    width: 0;\n    right: 22px;\n    top: 26px; }\n  65% {\n    width: 0;\n    right: 22px;\n    top: 26px; }\n  84% {\n    width: 26px;\n    right: 0;\n    top: 15px; }\n  100% {\n    width: 22px;\n    right: 3px;\n    top: 15px; } }\n\n@-webkit-keyframes rotatePlaceholder {\n  0% {\n    -webkit-transform: rotate(-45deg);\n            transform: rotate(-45deg); }\n  5% {\n    -webkit-transform: rotate(-45deg);\n            transform: rotate(-45deg); }\n  12% {\n    -webkit-transform: rotate(-405deg);\n            transform: rotate(-405deg); }\n  100% {\n    -webkit-transform: rotate(-405deg);\n            transform: rotate(-405deg); } }\n\n@keyframes rotatePlaceholder {\n  0% {\n    -webkit-transform: rotate(-45deg);\n            transform: rotate(-45deg); }\n  5% {\n    -webkit-transform: rotate(-45deg);\n            transform: rotate(-45deg); }\n  12% {\n    -webkit-transform: rotate(-405deg);\n            transform: rotate(-405deg); }\n  100% {\n    -webkit-transform: rotate(-405deg);\n            transform: rotate(-405deg); } }\n\n.swal2-animate-success-line-tip {\n  -webkit-animation: animate-success-tip .75s;\n          animation: animate-success-tip .75s; }\n\n.swal2-animate-success-line-long {\n  -webkit-animation: animate-success-long .75s;\n          animation: animate-success-long .75s; }\n\n.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right {\n  -webkit-animation: rotatePlaceholder 4.25s ease-in;\n          animation: rotatePlaceholder 4.25s ease-in; }\n\n@-webkit-keyframes animate-error-icon {\n  0% {\n    -webkit-transform: rotateX(100deg);\n            transform: rotateX(100deg);\n    opacity: 0; }\n  100% {\n    -webkit-transform: rotateX(0deg);\n            transform: rotateX(0deg);\n    opacity: 1; } }\n\n@keyframes animate-error-icon {\n  0% {\n    -webkit-transform: rotateX(100deg);\n            transform: rotateX(100deg);\n    opacity: 0; }\n  100% {\n    -webkit-transform: rotateX(0deg);\n            transform: rotateX(0deg);\n    opacity: 1; } }\n\n.swal2-animate-error-icon {\n  -webkit-animation: animate-error-icon .5s;\n          animation: animate-error-icon .5s; }\n\n@-webkit-keyframes animate-x-mark {\n  0% {\n    -webkit-transform: scale(0.4);\n            transform: scale(0.4);\n    margin-top: 26px;\n    opacity: 0; }\n  50% {\n    -webkit-transform: scale(0.4);\n            transform: scale(0.4);\n    margin-top: 26px;\n    opacity: 0; }\n  80% {\n    -webkit-transform: scale(1.15);\n            transform: scale(1.15);\n    margin-top: -6px; }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    margin-top: 0;\n    opacity: 1; } }\n\n@keyframes animate-x-mark {\n  0% {\n    -webkit-transform: scale(0.4);\n            transform: scale(0.4);\n    margin-top: 26px;\n    opacity: 0; }\n  50% {\n    -webkit-transform: scale(0.4);\n            transform: scale(0.4);\n    margin-top: 26px;\n    opacity: 0; }\n  80% {\n    -webkit-transform: scale(1.15);\n            transform: scale(1.15);\n    margin-top: -6px; }\n  100% {\n    -webkit-transform: scale(1);\n            transform: scale(1);\n    margin-top: 0;\n    opacity: 1; } }\n\n.swal2-animate-x-mark {\n  -webkit-animation: animate-x-mark .5s;\n          animation: animate-x-mark .5s; }\n\n@-webkit-keyframes rotate-loading {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg); }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg); } }\n\n@keyframes rotate-loading {\n  0% {\n    -webkit-transform: rotate(0deg);\n            transform: rotate(0deg); }\n  100% {\n    -webkit-transform: rotate(360deg);\n            transform: rotate(360deg); } }\n",t={
+title:"",titleText:"",text:"",html:"",type:null,toast:!1,customClass:"",target:"body",backdrop:!0,animation:!0,allowOutsideClick:!0,allowEscapeKey:!0,allowEnterKey:!0,showConfirmButton:!0,showCancelButton:!1,preConfirm:null,confirmButtonText:"OK",confirmButtonAriaLabel:"",confirmButtonColor:"#3085d6",confirmButtonClass:null,cancelButtonText:"Cancel",cancelButtonAriaLabel:"",cancelButtonColor:"#aaa",cancelButtonClass:null,buttonsStyling:!0,reverseButtons:!1,focusConfirm:!0,focusCancel:!1,showCloseButton:!1,closeButtonAriaLabel:"Close this dialog",showLoaderOnConfirm:!1,imageUrl:null,imageWidth:null,imageHeight:null,imageAlt:"",imageClass:null,timer:null,width:500,padding:20,background:"#fff",input:null,inputPlaceholder:"",inputValue:"",inputOptions:{},inputAutoTrim:!0,inputClass:null,inputAttributes:{},inputValidator:null,grow:!1,position:"center",progressSteps:[],currentProgressStep:null,progressStepsDistance:"40px",onBeforeOpen:null,onOpen:null,onClose:null,useRejections:!1,expectRejections:!1},n=["useRejections","expectRejections"],s="swal2-",i=function(e){var t={};for(var n in e)t[e[n]]=s+e[n];return t},o=i(["container","shown","iosfix","popup","modal","no-backdrop","toast","toast-shown","overlay","fade","show","hide","noanimation","close","title","content","contentwrapper","buttonswrapper","confirm","cancel","icon","image","input","has-input","file","range","select","radio","checkbox","textarea","inputerror","validationerror","progresssteps","activeprogressstep","progresscircle","progressline","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen"]),r=i(["success","warning","info","question","error"]),a="SweetAlert2:",l=function(e,t){e=String(e).replace(/[^0-9a-f]/gi,""),e.length<6&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),t=t||0;for(var n="#",s=0;s<3;s++){var i=parseInt(e.substr(2*s,2),16);i=Math.round(Math.min(Math.max(0,i+i*t),255)).toString(16),n+=("00"+i).substr(i.length)}return n},c=function(e){var t=[];for(var n in e)t.indexOf(e[n])===-1&&t.push(e[n]);return t},u=function(e){console.warn(a+" "+e)},d=function(e){console.error(a+" "+e)},p=[],f=function(e){p.indexOf(e)===-1&&(p.push(e),u(e))},h="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},m=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(e[s]=n[s])}return e},g=m({},t),v=[],b=void 0,y=void 0;"undefined"==typeof Promise&&d("This package requires a Promise library, please include a shim to enable it in this browser (See: https://github.com/sweetalert2/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2#1-ie-support)");var w=function(e){for(var t in e)T.isValidParameter(t)||u('Unknown parameter "'+t+'"'),T.isDeprecatedParameter(t)&&f('The parameter "'+t+'" is deprecated and will be removed in the next major release.')},_=function(e){("string"==typeof e.target&&!document.querySelector(e.target)||"string"!=typeof e.target&&!e.target.appendChild)&&(u('Target parameter is not valid, defaulting to "body"'),e.target="body");var n=void 0,s=P(),i="string"==typeof e.target?document.querySelector(e.target):e.target;n=s&&i&&s.parentNode!==i.parentNode?I(e):s||I(e);var a=e.width===t.width&&e.toast?"auto":e.width;n.style.width="number"==typeof a?a+"px":a;var l=e.padding===t.padding&&e.toast?"inherit":e.padding;n.style.padding="number"==typeof l?l+"px":l,n.style.background=e.background;for(var c=n.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix"),p=0;p<c.length;p++)c[p].style.background=e.background;var f=R(),m=O(),g=F(),v=V(),b=q(),y=U(),w=z();if(e.titleText?m.innerText=e.titleText:m.innerHTML=e.title.split("\n").join("<br />"),e.backdrop||J([document.documentElement,document.body],o["no-backdrop"]),e.text||e.html){if("object"===h(e.html))if(g.innerHTML="",0 in e.html)for(var _=0;_ in e.html;_++)g.appendChild(e.html[_].cloneNode(!0));else g.appendChild(e.html.cloneNode(!0));else e.html?g.innerHTML=e.html:e.text&&(g.textContent=e.text);te(g)}else ne(g);if(e.position in o&&J(f,o[e.position]),e.grow&&"string"==typeof e.grow){var C="grow-"+e.grow;C in o&&J(f,o[C])}e.showCloseButton?(w.setAttribute("aria-label",e.closeButtonAriaLabel),te(w)):ne(w),n.className=o.popup,e.toast?(J([document.documentElement,document.body],o["toast-shown"]),J(n,o.toast)):J(n,o.modal),e.customClass&&J(n,e.customClass);var x=B(),E=parseInt(null===e.currentProgressStep?T.getQueueStep():e.currentProgressStep,10);e.progressSteps.length?(te(x),se(x),E>=e.progressSteps.length&&u("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),e.progressSteps.forEach(function(t,n){var s=document.createElement("li");if(J(s,o.progresscircle),s.innerHTML=t,n===E&&J(s,o.activeprogressstep),x.appendChild(s),n!==e.progressSteps.length-1){var i=document.createElement("li");J(i,o.progressline),i.style.width=e.progressStepsDistance,x.appendChild(i)}})):ne(x);for(var k=D(),S=0;S<k.length;S++)ne(k[S]);if(e.type){var L=!1;for(var A in r)if(e.type===A){L=!0;break}if(!L)return d("Unknown alert type: "+e.type),!1;var N=n.querySelector("."+o.icon+"."+r[e.type]);if(te(N),e.animation)switch(e.type){case"success":J(N,"swal2-animate-success-icon"),J(N.querySelector(".swal2-success-line-tip"),"swal2-animate-success-line-tip"),J(N.querySelector(".swal2-success-line-long"),"swal2-animate-success-line-long");break;case"error":J(N,"swal2-animate-error-icon"),J(N.querySelector(".swal2-x-mark"),"swal2-animate-x-mark")}}var M=H();e.imageUrl?(M.setAttribute("src",e.imageUrl),M.setAttribute("alt",e.imageAlt),te(M),e.imageWidth?M.setAttribute("width",e.imageWidth):M.removeAttribute("width"),e.imageHeight?M.setAttribute("height",e.imageHeight):M.removeAttribute("height"),M.className=o.image,e.imageClass&&J(M,e.imageClass)):ne(M),e.showCancelButton?y.style.display="inline-block":ne(y),e.showConfirmButton?oe(b,"display"):ne(b),e.showConfirmButton||e.showCancelButton?te(v):ne(v),b.innerHTML=e.confirmButtonText,y.innerHTML=e.cancelButtonText,b.setAttribute("aria-label",e.confirmButtonAriaLabel),y.setAttribute("aria-label",e.cancelButtonAriaLabel),e.buttonsStyling&&(b.style.backgroundColor=e.confirmButtonColor,y.style.backgroundColor=e.cancelButtonColor),b.className=o.confirm,J(b,e.confirmButtonClass),y.className=o.cancel,J(y,e.cancelButtonClass),e.buttonsStyling?J([b,y],o.styled):(Q([b,y],o.styled),b.style.backgroundColor=b.style.borderLeftColor=b.style.borderRightColor="",y.style.backgroundColor=y.style.borderLeftColor=y.style.borderRightColor=""),e.animation===!0?Q(n,o.noanimation):J(n,o.noanimation),e.showLoaderOnConfirm&&!e.preConfirm&&u("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request")},C=function(e,t,n){var s=R(),i=P();null!==t&&"function"==typeof t&&t(i),e?(J(i,o.show),J(s,o.fade),Q(i,o.hide)):Q(i,o.fade),te(i),s.style.overflowY="hidden",re&&!Y(i,o.noanimation)?i.addEventListener(re,function e(){i.removeEventListener(re,e),s.style.overflowY="auto"}):s.style.overflowY="auto",J([document.documentElement,document.body,s],o.shown),$()&&(x(),k()),L.previousActiveElement=document.activeElement,null!==n&&"function"==typeof n&&setTimeout(function(){n(i)})},x=function(){null===L.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(L.previousBodyPadding=document.body.style.paddingRight,document.body.style.paddingRight=le()+"px")},E=function(){null!==L.previousBodyPadding&&(document.body.style.paddingRight=L.previousBodyPadding,L.previousBodyPadding=null)},k=function(){var e=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream;if(e&&!Y(document.body,o.iosfix)){var t=document.body.scrollTop;document.body.style.top=t*-1+"px",J(document.body,o.iosfix)}},S=function(){if(Y(document.body,o.iosfix)){var e=parseInt(document.body.style.top,10);Q(document.body,o.iosfix),document.body.style.top="",document.body.scrollTop=e*-1}},T=function e(){for(var t=arguments.length,n=Array(t),s=0;s<t;s++)n[s]=arguments[s];if("undefined"!=typeof window){if("undefined"==typeof n[0])return d("SweetAlert2 expects at least 1 attribute!"),!1;var i=m({},g);switch(h(n[0])){case"string":i.title=n[0],i.html=n[1],i.type=n[2];break;case"object":if(w(n[0]),m(i,n[0]),i.extraParams=n[0].extraParams,"email"===i.input&&null===i.inputValidator){var r=function(e){return new Promise(function(t,n){var s=/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/;s.test(e)?t():n("Invalid email address")})};i.inputValidator=i.expectRejections?r:e.adaptInputValidator(r)}if("url"===i.input&&null===i.inputValidator){var a=function(e){return new Promise(function(t,n){var s=/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_+.~#?&\/\/=]*)$/;s.test(e)?t():n("Invalid URL")})};i.inputValidator=i.expectRejections?a:e.adaptInputValidator(a)}break;default:return d('Unexpected type of argument! Expected "string" or "object", got '+h(n[0])),!1}_(i);var c=R(),u=P();return new Promise(function(t,n){var s=function(n){e.closePopup(i.onClose),t(i.useRejections?n:{value:n})},r=function(s){e.closePopup(i.onClose),i.useRejections?n(s):t({dismiss:s})},a=function(t){e.closePopup(i.onClose),n(t)};i.timer&&(u.timeout=setTimeout(function(){return r("timer")},i.timer));var p=function(e){if(e=e||i.input,!e)return null;switch(e){case"select":case"textarea":case"file":return ee(u,o[e]);case"checkbox":return u.querySelector("."+o.checkbox+" input");case"radio":return u.querySelector("."+o.radio+" input:checked")||u.querySelector("."+o.radio+" input:first-child");case"range":return u.querySelector("."+o.range+" input");default:return ee(u,o.input)}},f=function(){var e=p();if(!e)return null;switch(i.input){case"checkbox":return e.checked?1:0;case"radio":return e.checked?e.value:null;case"file":return e.files.length?e.files[0]:null;default:return i.inputAutoTrim?e.value.trim():e.value}};i.input&&setTimeout(function(){var e=p();e&&K(e)},0);for(var m=function(t){if(i.showLoaderOnConfirm&&e.showLoading(),i.preConfirm){e.resetValidationError();var n=Promise.resolve().then(function(){return i.preConfirm(t,i.extraParams)});i.expectRejections?n.then(function(e){return s(e||t)},function(t){e.hideLoading(),t&&e.showValidationError(t)}):n.then(function(n){ie(j())?e.hideLoading():s(n||t)},function(e){return a(e)})}else s(t)},g=function(t){var n=t||window.event,s=n.target||n.srcElement,o=q(),c=U(),u=o&&(o===s||o.contains(s)),d=c&&(c===s||c.contains(s));switch(n.type){case"mouseover":case"mouseup":i.buttonsStyling&&(u?o.style.backgroundColor=l(i.confirmButtonColor,-.1):d&&(c.style.backgroundColor=l(i.cancelButtonColor,-.1)));break;case"mouseout":i.buttonsStyling&&(u?o.style.backgroundColor=i.confirmButtonColor:d&&(c.style.backgroundColor=i.cancelButtonColor));break;case"mousedown":i.buttonsStyling&&(u?o.style.backgroundColor=l(i.confirmButtonColor,-.2):d&&(c.style.backgroundColor=l(i.cancelButtonColor,-.2)));break;case"click":if(u&&e.isVisible())if(e.disableButtons(),i.input){var p=f();if(i.inputValidator){e.disableInput();var h=Promise.resolve().then(function(){return i.inputValidator(p,i.extraParams)});i.expectRejections?h.then(function(){e.enableButtons(),e.enableInput(),m(p)},function(t){e.enableButtons(),e.enableInput(),t&&e.showValidationError(t)}):h.then(function(t){e.enableButtons(),e.enableInput(),t?e.showValidationError(t):m(p)},function(e){return a(e)})}else m(p)}else m(!0);else d&&e.isVisible()&&(e.disableButtons(),r("cancel"))}},v=u.querySelectorAll("button"),w=0;w<v.length;w++)v[w].onclick=g,v[w].onmouseover=g,v[w].onmouseout=g,v[w].onmousedown=g;if(z().onclick=function(){r("close")},i.toast)u.onclick=function(t){t.target!==u||i.showConfirmButton||i.showCancelButton||i.allowOutsideClick&&(e.closePopup(i.onClose),r("overlay"))};else{var x=!1;u.onmousedown=function(){c.onmouseup=function(e){c.onmouseup=void 0,e.target===c&&(x=!0)}},c.onmousedown=function(){u.onmouseup=function(e){u.onmouseup=void 0,(e.target===u||u.contains(e.target))&&(x=!0)}},c.onclick=function(e){return x?void(x=!1):void(e.target===c&&i.allowOutsideClick&&("function"==typeof i.allowOutsideClick?i.allowOutsideClick()&&r("overlay"):r("overlay")))}}var E=V(),k=q(),S=U();i.reverseButtons?k.parentNode.insertBefore(S,k):k.parentNode.insertBefore(k,S);var T=function(e,t){for(var n=W(i.focusCancel),s=0;s<n.length;s++){e+=t,e===n.length?e=0:e===-1&&(e=n.length-1);var o=n[e];if(ie(o))return o.focus()}},L=function(t){var n=t||window.event,s=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Left","Right","Up","Down"];if("Enter"!==n.key||n.isComposing)if("Tab"===n.key){for(var o=n.target||n.srcElement,a=W(i.focusCancel),l=-1,c=0;c<a.length;c++)if(o===a[c]){l=c;break}n.shiftKey?T(l,-1):T(l,1),n.stopPropagation(),n.preventDefault()}else s.indexOf(n.key)!==-1?document.activeElement===k&&ie(S)?S.focus():document.activeElement===S&&ie(k)&&k.focus():"Escape"!==n.key&&"Esc"!==n.key||i.allowEscapeKey!==!0||r("esc");else if(n.target===p()){if(["textarea","file"].indexOf(i.input)!==-1)return;e.clickConfirm(),n.preventDefault()}};i.toast&&y&&(window.onkeydown=b,y=!1),i.toast||y||(b=window.onkeydown,y=!0,window.onkeydown=L),i.buttonsStyling&&(k.style.borderLeftColor=i.confirmButtonColor,k.style.borderRightColor=i.confirmButtonColor),e.hideLoading=e.disableLoading=function(){i.showConfirmButton||(ne(k),i.showCancelButton||ne(V())),Q([u,E],o.loading),u.removeAttribute("aria-busy"),u.removeAttribute("data-loading"),k.disabled=!1,S.disabled=!1},e.getTitle=function(){return O()},e.getContent=function(){return F()},e.getInput=function(){return p()},e.getImage=function(){return H()},e.getButtonsWrapper=function(){return V()},e.getConfirmButton=function(){return q()},e.getCancelButton=function(){return U()},e.isLoading=function(){return X()},e.enableButtons=function(){k.disabled=!1,S.disabled=!1},e.disableButtons=function(){k.disabled=!0,S.disabled=!0},e.enableConfirmButton=function(){k.disabled=!1},e.disableConfirmButton=function(){k.disabled=!0},e.enableInput=function(){var e=p();if(!e)return!1;if("radio"===e.type)for(var t=e.parentNode.parentNode,n=t.querySelectorAll("input"),s=0;s<n.length;s++)n[s].disabled=!1;else e.disabled=!1},e.disableInput=function(){var e=p();if(!e)return!1;if(e&&"radio"===e.type)for(var t=e.parentNode.parentNode,n=t.querySelectorAll("input"),s=0;s<n.length;s++)n[s].disabled=!0;else e.disabled=!0},e.showValidationError=function(e){var t=j();t.innerHTML=e,te(t);var n=p();n&&(n.setAttribute("aria-invalid",!0),n.setAttribute("aria-describedBy",o.validationerror),K(n),J(n,o.inputerror))},e.resetValidationError=function(){var e=j();ne(e);var t=p();t&&(t.removeAttribute("aria-invalid"),t.removeAttribute("aria-describedBy"),Q(t,o.inputerror))},e.getProgressSteps=function(){return i.progressSteps},e.setProgressSteps=function(e){i.progressSteps=e,_(i)},e.showProgressSteps=function(){te(B())},e.hideProgressSteps=function(){ne(B())},e.enableButtons(),e.hideLoading(),e.resetValidationError(),i.input&&J(document.body,o["has-input"]);for(var A=["input","file","range","select","radio","checkbox","textarea"],I=void 0,N=0;N<A.length;N++){var P=o[A[N]],D=ee(u,P);if(I=p(A[N])){for(var M in I.attributes)if(I.attributes.hasOwnProperty(M)){var $=I.attributes[M].name;"type"!==$&&"value"!==$&&I.removeAttribute($)}for(var G in i.inputAttributes)I.setAttribute(G,i.inputAttributes[G])}D.className=P,i.inputClass&&J(D,i.inputClass),ne(D)}var Y=void 0;switch(i.input){case"text":case"email":case"password":case"number":case"tel":case"url":I=ee(u,o.input),I.value=i.inputValue,I.placeholder=i.inputPlaceholder,I.type=i.input,te(I);break;case"file":I=ee(u,o.file),I.placeholder=i.inputPlaceholder,I.type=i.input,te(I);break;case"range":var Z=ee(u,o.range),se=Z.querySelector("input"),oe=Z.querySelector("output");se.value=i.inputValue,se.type=i.input,oe.value=i.inputValue,te(Z);break;case"select":var re=ee(u,o.select);if(re.innerHTML="",i.inputPlaceholder){var ae=document.createElement("option");ae.innerHTML=i.inputPlaceholder,ae.value="",ae.disabled=!0,ae.selected=!0,re.appendChild(ae)}Y=function(e){for(var t in e){var n=document.createElement("option");n.value=t,n.innerHTML=e[t],i.inputValue.toString()===t&&(n.selected=!0),re.appendChild(n)}te(re),re.focus()};break;case"radio":var le=ee(u,o.radio);le.innerHTML="",Y=function(e){for(var t in e){var n=document.createElement("input"),s=document.createElement("label"),r=document.createElement("span");n.type="radio",n.name=o.radio,n.value=t,i.inputValue.toString()===t&&(n.checked=!0),r.innerHTML=e[t],s.appendChild(n),s.appendChild(r),s.for=n.id,le.appendChild(s)}te(le);var a=le.querySelectorAll("input");a.length&&a[0].focus()};break;case"checkbox":var ce=ee(u,o.checkbox),ue=p("checkbox");ue.type="checkbox",ue.value=1,ue.id=o.checkbox,ue.checked=Boolean(i.inputValue);var de=ce.getElementsByTagName("span");de.length&&ce.removeChild(de[0]),de=document.createElement("span"),de.innerHTML=i.inputPlaceholder,ce.appendChild(de),te(ce);break;case"textarea":var pe=ee(u,o.textarea);pe.value=i.inputValue,pe.placeholder=i.inputPlaceholder,te(pe);break;case null:break;default:d('Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "'+i.input+'"')}"select"!==i.input&&"radio"!==i.input||(i.inputOptions instanceof Promise?(e.showLoading(),i.inputOptions.then(function(t){e.hideLoading(),Y(t)})):"object"===h(i.inputOptions)?Y(i.inputOptions):d("Unexpected type of inputOptions! Expected object or Promise, got "+h(i.inputOptions))),C(i.animation,i.onBeforeOpen,i.onOpen),i.toast||(i.allowEnterKey?i.focusCancel&&ie(S)?S.focus():i.focusConfirm&&ie(k)?k.focus():T(-1,1):document.activeElement&&document.activeElement.blur()),R().scrollTop=0})}};T.isVisible=function(){return!!P()},T.queue=function(e){v=e;var t=function(){v=[],document.body.removeAttribute("data-swal2-queue-step")},n=[];return new Promise(function(e,s){!function s(i,o){i<v.length?(document.body.setAttribute("data-swal2-queue-step",i),T(v[i]).then(function(r){"undefined"!=typeof r.value?(n.push(r.value),s(i+1,o)):(t(),e({dismiss:r.dismiss}))})):(t(),e({value:n}))}(0)})},T.getQueueStep=function(){return document.body.getAttribute("data-swal2-queue-step")},T.insertQueueStep=function(e,t){return t&&t<v.length?v.splice(t,0,e):v.push(e)},T.deleteQueueStep=function(e){"undefined"!=typeof v[e]&&v.splice(e,1)},T.close=T.closePopup=T.closeModal=T.closeToast=function(e){var t=R(),n=P();if(n){Q(n,o.show),J(n,o.hide),clearTimeout(n.timeout),G()||(ae(),window.onkeydown=b,y=!1);var s=function(){t.parentNode&&t.parentNode.removeChild(t),Q([document.documentElement,document.body],[o.shown,o["no-backdrop"],o["has-input"],o["toast-shown"]]),$()&&(E(),S())};re&&!Y(n,o.noanimation)?n.addEventListener(re,function e(){n.removeEventListener(re,e),Y(n,o.hide)&&s()}):s(),null!==e&&"function"==typeof e&&setTimeout(function(){e(n)})}},T.clickConfirm=function(){return q().click()},T.clickCancel=function(){return U().click()},T.showLoading=T.enableLoading=function(){var e=P();e||T(""),e=P();var t=V(),n=q(),s=U();te(t),te(n,"inline-block"),J([e,t],o.loading),n.disabled=!0,s.disabled=!0,e.setAttribute("data-loading",!0),e.setAttribute("aria-busy",!0),e.focus()},T.isValidParameter=function(e){return t.hasOwnProperty(e)||"extraParams"===e},T.isDeprecatedParameter=function(e){return n.indexOf(e)!==-1},T.setDefaults=function(e){if(!e||"object"!==("undefined"==typeof e?"undefined":h(e)))return d("the argument for setDefaults() is required and has to be a object");w(e);for(var t in e)T.isValidParameter(t)&&(g[t]=e[t])},T.resetDefaults=function(){g=m({},t)},T.adaptInputValidator=function(e){return function(t,n){return e.call(this,t,n).then(function(){},function(e){return e})}},T.noop=function(){},T.version="7.3.5",T.default=T,"undefined"!=typeof window&&"object"===h(window._swalDefaults)&&T.setDefaults(window._swalDefaults);var L={previousActiveElement:null,previousBodyPadding:null},A=function(){return"undefined"==typeof window||"undefined"==typeof document},I=function(e){var t=R();if(t&&(t.parentNode.removeChild(t),Q([document.documentElement,document.body],[o["no-backdrop"],o["has-input"],o["toast-shown"]])),A())return void d("SweetAlert2 requires document to initialize");var n=document.createElement("div");n.className=o.container,n.innerHTML=N;var s="string"==typeof e.target?document.querySelector(e.target):e.target;s.appendChild(n);var i=P(),r=ee(i,o.input),a=ee(i,o.file),l=i.querySelector("."+o.range+" input"),c=i.querySelector("."+o.range+" output"),u=ee(i,o.select),p=i.querySelector("."+o.checkbox+" input"),f=ee(i,o.textarea);i.setAttribute("aria-live",e.toast?"polite":"assertive");var h=function(){T.isVisible()&&T.resetValidationError()};return r.oninput=h,a.onchange=h,u.onchange=h,p.onchange=h,f.oninput=h,l.oninput=function(){h(),c.value=l.value},l.onchange=function(){h(),l.previousSibling.value=l.value},i},N=('\n <div role="dialog" aria-modal="true" aria-labelledby="'+o.title+'" aria-describedby="'+o.content+'" class="'+o.popup+'" tabindex="-1">\n   <ul class="'+o.progresssteps+'"></ul>\n   <div class="'+o.icon+" "+r.error+'">\n     <span class="swal2-x-mark"><span class="swal2-x-mark-line-left"></span><span class="swal2-x-mark-line-right"></span></span>\n   </div>\n   <div class="'+o.icon+" "+r.question+'">?</div>\n   <div class="'+o.icon+" "+r.warning+'">!</div>\n   <div class="'+o.icon+" "+r.info+'">i</div>\n   <div class="'+o.icon+" "+r.success+'">\n     <div class="swal2-success-circular-line-left"></div>\n     <span class="swal2-success-line-tip"></span> <span class="swal2-success-line-long"></span>\n     <div class="swal2-success-ring"></div> <div class="swal2-success-fix"></div>\n     <div class="swal2-success-circular-line-right"></div>\n   </div>\n   <img class="'+o.image+'" />\n   <div class="'+o.contentwrapper+'">\n   <h2 class="'+o.title+'" id="'+o.title+'"></h2>\n   <div id="'+o.content+'" class="'+o.content+'"></div>\n   </div>\n   <input class="'+o.input+'" />\n   <input type="file" class="'+o.file+'" />\n   <div class="'+o.range+'">\n     <output></output>\n     <input type="range" />\n   </div>\n   <select class="'+o.select+'"></select>\n   <div class="'+o.radio+'"></div>\n   <label for="'+o.checkbox+'" class="'+o.checkbox+'">\n     <input type="checkbox" />\n   </label>\n   <textarea class="'+o.textarea+'"></textarea>\n   <div class="'+o.validationerror+'" id="'+o.validationerror+'"></div>\n   <div class="'+o.buttonswrapper+'">\n     <button type="button" class="'+o.confirm+'">OK</button>\n     <button type="button" class="'+o.cancel+'">Cancel</button>\n   </div>\n   <button type="button" class="'+o.close+'">×</button>\n </div>\n').replace(/(^|\n)\s*/g,""),R=function(){return document.body.querySelector("."+o.container)},P=function(){return R()?R().querySelector("."+o.popup):null},D=function(){var e=P();return e.querySelectorAll("."+o.icon)},M=function(e){return R()?R().querySelector("."+e):null},O=function(){return M(o.title)},F=function(){return M(o.content)},H=function(){return M(o.image)},B=function(){return M(o.progresssteps)},j=function(){return M(o.validationerror)},q=function(){return M(o.confirm)},U=function(){return M(o.cancel)},V=function(){return M(o.buttonswrapper)},z=function(){return M(o.close)},W=function(){var e=Array.prototype.slice.call(P().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(function(e,t){return e=parseInt(e.getAttribute("tabindex")),t=parseInt(t.getAttribute("tabindex")),e>t?1:e<t?-1:0}),t=Array.prototype.slice.call(P().querySelectorAll('button, input:not([type=hidden]), textarea, select, a, [tabindex="0"]'));return c(e.concat(t))},$=function(){return!document.body.classList.contains(o["toast-shown"])},G=function(){return document.body.classList.contains(o["toast-shown"])},X=function(){return P().hasAttribute("data-loading")},Y=function(e,t){return!!e.classList&&e.classList.contains(t)},K=function(e){if(e.focus(),"file"!==e.type){var t=e.value;e.value="",e.value=t}},Z=function(e,t,n){e&&t&&("string"==typeof t&&(t=t.split(/\s+/).filter(Boolean)),t.forEach(function(t){e.forEach?e.forEach(function(e){n?e.classList.add(t):e.classList.remove(t)}):n?e.classList.add(t):e.classList.remove(t)}))},J=function(e,t){Z(e,t,!0)},Q=function(e,t){Z(e,t,!1)},ee=function(e,t){for(var n=0;n<e.childNodes.length;n++)if(Y(e.childNodes[n],t))return e.childNodes[n]},te=function(e,t){t||(t=e===P()||e===V()?"flex":"block"),e.style.opacity="",e.style.display=t},ne=function(e){e.style.opacity="",e.style.display="none"},se=function(e){for(;e.firstChild;)e.removeChild(e.firstChild)},ie=function(e){return e&&(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},oe=function(e,t){e.style.removeProperty?e.style.removeProperty(t):e.style.removeAttribute(t)},re=function(){if(A())return!1;var e=document.createElement("div"),t={WebkitAnimation:"webkitAnimationEnd",OAnimation:"oAnimationEnd oanimationend",animation:"animationend"};for(var n in t)if(t.hasOwnProperty(n)&&"undefined"!=typeof e.style[n])return t[n];return!1}(),ae=function(){if(L.previousActiveElement&&L.previousActiveElement.focus){var e=window.scrollX,t=window.scrollY;L.previousActiveElement.focus(),"undefined"!=typeof e&&"undefined"!=typeof t&&window.scrollTo(e,t)}},le=function(){var e="ontouchstart"in window||navigator.msMaxTouchPoints;if(e)return 0;var t=document.createElement("div");t.style.width="50px",t.style.height="50px",t.style.overflow="scroll",document.body.appendChild(t);var n=t.offsetWidth-t.clientWidth;return document.body.removeChild(t),n},ce=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";if(A())return!1;var t=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))};return ce(e),T}),"undefined"!=typeof window&&window.Sweetalert2&&(window.sweetAlert=window.swal=window.Sweetalert2)}]);
\ No newline at end of file
diff --git a/assets/styles/main.css b/assets/styles/main.css
new file mode 100755
index 0000000..f2b32c5
--- /dev/null
+++ b/assets/styles/main.css
@@ -0,0 +1,17 @@
+@charset "UTF-8";
+
+/*!
+ * Fotorama 4.6.4 | http://fotorama.io/license/
+ */.fotorama__arr:focus:after,.fotorama__fullscreen-icon:focus:after,.fotorama__html,.fotorama__img,.fotorama__nav__frame:focus .fotorama__dot:after,.fotorama__nav__frame:focus .fotorama__thumb:after,.fotorama__stage__frame,.fotorama__stage__shaft,.fotorama__video iframe{position:absolute;width:100%;height:100%;top:0;right:0;left:0;bottom:0}.fotorama--fullscreen,.fotorama__img{max-width:99999px!important;max-height:99999px!important;min-width:0!important;min-height:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.fotorama__wrap .fotorama__grab{cursor:move;cursor:-webkit-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.fotorama__grabbing *{cursor:move;cursor:-webkit-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.fotorama__spinner{position:absolute!important;top:50%!important;left:50%!important}.fotorama__caption,.fotorama__nav:after,.fotorama__nav:before,.fotorama__stage:after,.fotorama__stage:before,.fotorama__wrap--css3 .fotorama__arr,.fotorama__wrap--css3 .fotorama__fullscreen-icon,.fotorama__wrap--css3 .fotorama__html,.fotorama__wrap--css3 .fotorama__nav,.fotorama__wrap--css3 .fotorama__nav__shaft,.fotorama__wrap--css3 .fotorama__spinner,.fotorama__wrap--css3 .fotorama__stage,.fotorama__wrap--css3 .fotorama__stage .fotorama__img,.fotorama__wrap--css3 .fotorama__stage__frame,.fotorama__wrap--css3 .fotorama__stage__shaft,.fotorama__wrap--css3 .fotorama__thumb-border,.fotorama__wrap--css3 .fotorama__video-close,.fotorama__wrap--css3 .fotorama__video-play{transform:translateZ(0)}.fotorama__arr:focus,.fotorama__fullscreen-icon:focus,.fotorama__nav__frame{outline:0}.fotorama__arr:focus:after,.fotorama__fullscreen-icon:focus:after,.fotorama__nav__frame:focus .fotorama__dot:after,.fotorama__nav__frame:focus .fotorama__thumb:after{content:"";border-radius:inherit;background-color:rgba(0,175,234,.5)}.fotorama__wrap--video .fotorama__stage,.fotorama__wrap--video .fotorama__stage__frame--video,.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html,.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img,.fotorama__wrap--video .fotorama__stage__shaft{transform:none!important}.fotorama__wrap--css3 .fotorama__nav__shaft,.fotorama__wrap--css3 .fotorama__stage__shaft,.fotorama__wrap--css3 .fotorama__thumb-border{transition-property:transform,width;transition-timing-function:cubic-bezier(.1,0,.25,1);transition-duration:0ms}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__no-select,.fotorama__video-close,.fotorama__video-play,.fotorama__wrap{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fotorama__select{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.fotorama__nav,.fotorama__nav__frame{margin:auto;padding:0}.fotorama__caption__wrap,.fotorama__nav__frame,.fotorama__nav__shaft{display:inline-block;vertical-align:middle;*display:inline;*zoom:1}.fotorama__nav__frame,.fotorama__thumb-border{box-sizing:content-box}.fotorama__caption__wrap{box-sizing:border-box}.fotorama--hidden,.fotorama__load{position:absolute;left:-99999px;top:-99999px;z-index:-1}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__nav,.fotorama__nav__frame,.fotorama__nav__shaft,.fotorama__stage__frame,.fotorama__stage__shaft,.fotorama__video-close,.fotorama__video-play{-webkit-tap-highlight-color:transparent}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__video-close,.fotorama__video-play{background:url(../images/fotorama.png) no-repeat}@media (-webkit-min-device-pixel-ratio:1.5),(-webkit-min-device-pixel-ratio:2),(min-resolution:2dppx){.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__video-close,.fotorama__video-play{background:url(../images/fotorama@2x.png) 0 0/96px 160px no-repeat}}.fotorama__thumb{background-color:#7f7f7f;background-color:hsla(0,0%,50%,.2)}@media print{.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__thumb-border,.fotorama__video-close,.fotorama__video-play{background:none!important}}.fotorama{min-width:1px;overflow:hidden}.fotorama:not(.fotorama--unobtrusive)>:not(:first-child){display:none}.fullscreen{max-width:100%!important;max-height:100%!important;padding:0!important;overflow:hidden!important}.fotorama--fullscreen,.fullscreen{width:100%!important;height:100%!important;margin:0!important;background:#000}.fotorama--fullscreen{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;float:none!important;z-index:2147483647!important}.fotorama--fullscreen .fotorama__nav,.fotorama--fullscreen .fotorama__stage{background:#000}.fotorama__wrap{-webkit-text-size-adjust:100%;position:relative;direction:ltr;z-index:0}.fotorama__wrap--rtl .fotorama__stage__frame{direction:rtl}.fotorama__nav,.fotorama__stage{overflow:hidden;position:relative;max-width:100%}.fotorama__wrap--pan-y{-ms-touch-action:pan-y}.fotorama__wrap .fotorama__pointer{cursor:pointer}.fotorama__wrap--slide .fotorama__stage__frame{opacity:1!important}.fotorama__stage__frame{overflow:hidden}.fotorama__stage__frame.fotorama__active{z-index:8}.fotorama__wrap--fade .fotorama__stage__frame{display:none}.fotorama__wrap--fade .fotorama__fade-front,.fotorama__wrap--fade .fotorama__fade-rear,.fotorama__wrap--fade .fotorama__stage__frame.fotorama__active{display:block;left:0;top:0}.fotorama__wrap--fade .fotorama__fade-front{z-index:8}.fotorama__wrap--fade .fotorama__fade-rear{z-index:7}.fotorama__wrap--fade .fotorama__fade-rear.fotorama__active{z-index:9}.fotorama__wrap--fade .fotorama__stage .fotorama__shadow{display:none}.fotorama__img{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;border:none!important}.fotorama__error .fotorama__img,.fotorama__loaded .fotorama__img{-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);opacity:1}.fotorama--fullscreen .fotorama__loaded--full .fotorama__img,.fotorama__img--full{display:none}.fotorama--fullscreen .fotorama__loaded--full .fotorama__img--full{display:block}.fotorama__wrap--only-active .fotorama__nav,.fotorama__wrap--only-active .fotorama__stage{max-width:99999px!important}.fotorama__wrap--only-active .fotorama__stage__frame{visibility:hidden}.fotorama__wrap--only-active .fotorama__stage__frame.fotorama__active{visibility:visible}.fotorama__nav{font-size:0;line-height:0;text-align:center;display:none;white-space:nowrap;z-index:5}.fotorama__nav__shaft{position:relative;left:0;top:0;text-align:left}.fotorama__nav__frame{position:relative;cursor:pointer}.fotorama__nav--dots{display:block}.fotorama__nav--dots .fotorama__nav__frame{width:18px;height:30px}.fotorama__nav--dots .fotorama__nav__frame--thumb,.fotorama__nav--dots .fotorama__thumb-border{display:none}.fotorama__nav--thumbs{display:block}.fotorama__nav--thumbs .fotorama__nav__frame{padding-left:0!important}.fotorama__nav--thumbs .fotorama__nav__frame:last-child{padding-right:0!important}.fotorama__nav--thumbs .fotorama__nav__frame--dot{display:none}.fotorama__dot{display:block;width:4px;height:4px;position:relative;top:12px;left:6px;border-radius:6px;border:1px solid #7f7f7f}.fotorama__nav__frame:focus .fotorama__dot:after{padding:1px;top:-1px;left:-1px}.fotorama__nav__frame.fotorama__active .fotorama__dot{width:0;height:0;border-width:3px}.fotorama__nav__frame.fotorama__active .fotorama__dot:after{padding:3px;top:-3px;left:-3px}.fotorama__thumb{overflow:hidden;position:relative;width:100%;height:100%}.fotorama__nav__frame:focus .fotorama__thumb{z-index:2}.fotorama__thumb-border{position:absolute;z-index:9;top:0;left:0;border-style:solid;border-color:#00afea;background-image:linear-gradient(to bottom right,hsla(0,0%,100%,.25),rgba(64,64,64,.1))}.fotorama__caption{position:absolute;z-index:12;bottom:0;left:0;right:0;font-family:Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5;color:#000}.fotorama__caption a{text-decoration:none;color:#000;border-bottom:1px solid;border-color:rgba(0,0,0,.5)}.fotorama__caption a:hover{color:#333;border-color:rgba(51,51,51,.5)}.fotorama__wrap--rtl .fotorama__caption{left:auto;right:0}.fotorama__wrap--no-captions .fotorama__caption,.fotorama__wrap--video .fotorama__caption{display:none}.fotorama__caption__wrap{background-color:#fff;background-color:hsla(0,0%,100%,.9);padding:5px 10px}@keyframes a{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.fotorama__wrap--css3 .fotorama__spinner{animation:a 24s infinite linear}.fotorama__wrap--css3 .fotorama__html,.fotorama__wrap--css3 .fotorama__stage .fotorama__img{transition-property:opacity;transition-timing-function:linear;transition-duration:.3s}.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html,.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0}.fotorama__select{cursor:auto}.fotorama__video{top:32px;right:0;bottom:0;left:0;position:absolute;z-index:10}@-moz-document url-prefix(){.fotorama__active{box-shadow:0 0 0 transparent}}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__video-close,.fotorama__video-play{position:absolute;z-index:11;cursor:pointer}.fotorama__arr{position:absolute;width:32px;height:32px;top:50%;margin-top:-16px}.fotorama__arr--prev{left:2px;background-position:0 0}.fotorama__arr--next{right:2px;background-position:-32px 0}.fotorama__arr--disabled{pointer-events:none;cursor:default;*display:none;opacity:.1}.fotorama__fullscreen-icon{width:32px;height:32px;top:2px;right:2px;background-position:0 -32px;z-index:20}.fotorama__arr:focus,.fotorama__fullscreen-icon:focus{border-radius:50%}.fotorama--fullscreen .fotorama__fullscreen-icon{background-position:-32px -32px}.fotorama__video-play{width:96px;height:96px;left:50%;top:50%;margin-left:-48px;margin-top:-48px;background-position:0 -64px;opacity:0}.fotorama__wrap--css2 .fotorama__video-play,.fotorama__wrap--video .fotorama__stage .fotorama__video-play{display:none}.fotorama__error .fotorama__video-play,.fotorama__loaded .fotorama__video-play,.fotorama__nav__frame .fotorama__video-play{opacity:1;display:block}.fotorama__nav__frame .fotorama__video-play{width:32px;height:32px;margin-left:-16px;margin-top:-16px;background-position:-64px -32px}.fotorama__video-close{width:32px;height:32px;top:0;right:0;background-position:-64px 0;z-index:20;opacity:0}.fotorama__wrap--css2 .fotorama__video-close{display:none}.fotorama__wrap--css3 .fotorama__video-close{transform:translate3d(32px,-32px,0)}.fotorama__wrap--video .fotorama__video-close{display:block;opacity:1}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__video-close{transform:translateZ(0)}.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr,.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon{opacity:0}.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus,.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus{opacity:1}.fotorama__wrap--video .fotorama__arr,.fotorama__wrap--video .fotorama__fullscreen-icon{opacity:0!important}.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr,.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon{display:none}.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus,.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus{display:block}.fotorama__wrap--css2.fotorama__wrap--video .fotorama__arr,.fotorama__wrap--css2.fotorama__wrap--video .fotorama__fullscreen-icon{display:none!important}.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:not(:focus){transform:translate3d(32px,-32px,0)}.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--prev:not(:focus){transform:translate3d(-48px,0,0)}.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--next:not(:focus){transform:translate3d(48px,0,0)}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__fullscreen-icon{transform:translate3d(32px,-32px,0)!important}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--prev{transform:translate3d(-48px,0,0)!important}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--next{transform:translate3d(48px,0,0)!important}.fotorama__wrap--css3 .fotorama__arr:not(:focus),.fotorama__wrap--css3 .fotorama__fullscreen-icon:not(:focus),.fotorama__wrap--css3 .fotorama__video-close:not(:focus),.fotorama__wrap--css3 .fotorama__video-play:not(:focus){transition-property:transform,opacity;transition-duration:.3s}.fotorama__nav:after,.fotorama__nav:before,.fotorama__stage:after,.fotorama__stage:before{content:"";display:block;position:absolute;text-decoration:none;top:0;bottom:0;width:10px;height:auto;z-index:10;pointer-events:none;background-repeat:no-repeat;background-size:1px 100%,5px 100%}.fotorama__nav:before,.fotorama__stage:before{background-image:linear-gradient(transparent,rgba(0,0,0,.2) 25%,rgba(0,0,0,.3) 75%,transparent),radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.4),transparent);background-position:0 0,0 0;left:-10px}.fotorama__nav.fotorama__shadows--left:before,.fotorama__stage.fotorama__shadows--left:before{left:0}.fotorama__nav:after,.fotorama__stage:after{background-image:linear-gradient(transparent,rgba(0,0,0,.2) 25%,rgba(0,0,0,.3) 75%,transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.4),transparent);background-position:100% 0,100% 0;right:-10px}.fotorama__nav.fotorama__shadows--right:after,.fotorama__stage.fotorama__shadows--right:after{right:0}.fotorama--fullscreen .fotorama__nav:after,.fotorama--fullscreen .fotorama__nav:before,.fotorama--fullscreen .fotorama__stage:after,.fotorama--fullscreen .fotorama__stage:before,.fotorama__wrap--fade .fotorama__stage:after,.fotorama__wrap--fade .fotorama__stage:before,.fotorama__wrap--no-shadows .fotorama__nav:after,.fotorama__wrap--no-shadows .fotorama__nav:before,.fotorama__wrap--no-shadows .fotorama__stage:after,.fotorama__wrap--no-shadows .fotorama__stage:before{display:none}
+
+/*! nouislider - 10.1.0 - 2017-07-28 17:11:18 */.noUi-target,.noUi-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.noUi-target{position:relative;direction:ltr}.noUi-base{width:100%;height:100%;position:relative;z-index:1}.noUi-connect{position:absolute;right:0;top:0;left:0;bottom:0}.noUi-origin{position:absolute;height:0;width:0}.noUi-handle{position:relative;z-index:1}.noUi-state-tap .noUi-connect,.noUi-state-tap .noUi-origin{transition:top .3s,right .3s,bottom .3s,left .3s}.noUi-state-drag *{cursor:inherit!important}.noUi-base,.noUi-handle{transform:translateZ(0)}.noUi-horizontal{height:18px}.noUi-horizontal .noUi-handle{width:34px;height:28px;left:-17px;top:-6px}.noUi-vertical{width:18px}.noUi-vertical .noUi-handle{width:28px;height:34px;left:-6px;top:-17px}.noUi-target{background:#fafafa;border-radius:4px;border:1px solid #d3d3d3;box-shadow:inset 0 1px 1px #f0f0f0,0 3px 6px -5px #bbb}.noUi-connect{background:#3fb8af;border-radius:4px;box-shadow:inset 0 0 3px rgba(51,51,51,.45);transition:background .45s}.noUi-draggable{cursor:ew-resize}.noUi-vertical .noUi-draggable{cursor:ns-resize}.noUi-handle{border:1px solid #d9d9d9;border-radius:3px;background:#fff;cursor:default;box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ebebeb,0 3px 6px -3px #bbb}.noUi-active{box-shadow:inset 0 0 1px #fff,inset 0 1px 7px #ddd,0 3px 6px -3px #bbb}.noUi-handle:after,.noUi-handle:before{content:"";display:block;position:absolute;height:14px;width:1px;background:#e8e7e6;left:14px;top:6px}.noUi-handle:after{left:17px}.noUi-vertical .noUi-handle:after,.noUi-vertical .noUi-handle:before{width:14px;height:1px;left:6px;top:14px}.noUi-vertical .noUi-handle:after{top:17px}[disabled] .noUi-connect{background:#b8b8b8}[disabled].noUi-handle,[disabled] .noUi-handle,[disabled].noUi-target{cursor:not-allowed}.noUi-pips,.noUi-pips *{box-sizing:border-box}.noUi-pips{position:absolute;color:#999}.noUi-value{position:absolute;white-space:nowrap;text-align:center}.noUi-value-sub{color:#ccc;font-size:10px}.noUi-marker{position:absolute;background:#ccc}.noUi-marker-large,.noUi-marker-sub{background:#aaa}.noUi-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.noUi-value-horizontal{transform:translate3d(-50%,50%,0)}.noUi-marker-horizontal.noUi-marker{margin-left:-1px;width:2px;height:5px}.noUi-marker-horizontal.noUi-marker-sub{height:10px}.noUi-marker-horizontal.noUi-marker-large{height:15px}.noUi-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.noUi-value-vertical{transform:translate3d(0,50%,0);padding-left:25px}.noUi-marker-vertical.noUi-marker{width:5px;height:2px;margin-top:-1px}.noUi-marker-vertical.noUi-marker-sub{width:10px}.noUi-marker-vertical.noUi-marker-large{width:15px}.noUi-tooltip{display:block;position:absolute;border:1px solid #d9d9d9;border-radius:3px;background:#fff;color:#000;padding:5px;text-align:center;white-space:nowrap}.noUi-horizontal .noUi-tooltip{transform:translate(-50%);left:50%;bottom:120%}.noUi-vertical .noUi-tooltip{transform:translateY(-50%);top:50%;right:120%}html{color:rgba(0,0,0,.87);font-size:1em;line-height:1.4}::-moz-selection{background:#b3d4fc;text-shadow:none}::selection{background:#b3d4fc;text-shadow:none}hr{display:block;height:1px;border-top:1px solid #ccc;margin:1em 0;padding:0}audio,canvas,iframe,img,svg,video{vertical-align:middle}textarea{resize:vertical}.browserupgrade{background:#ccc}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@media print{*,:after,:before,:first-letter{background:transparent!important;color:#000!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}#contact .lets-talk .about-project .mdl-checkbox,.mdl-accordion,.mdl-button,.mdl-card,.mdl-checkbox,.mdl-dropdown-menu,.mdl-icon-toggle,.mdl-item,.mdl-radio,.mdl-slider,.mdl-switch,.mdl-tabs__tab,a{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:rgba(255,255,255,0)}html{height:100%;touch-action:manipulation}body,html{width:100%}body{min-height:100%}main{display:block}[hidden]{display:none!important}body,html{font-family:Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:20px}h1,h2,h3,h4,h5,h6,p{margin:0;padding:0}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-size:56px;opacity:.54;font-size:.6em}h1,h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.35;letter-spacing:-.02em}h1{font-size:56px;margin-top:24px;margin-bottom:24px}h2{font-size:45px;line-height:48px}h2,h3{font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:400;margin-top:24px;margin-bottom:24px}h3{font-size:34px;line-height:40px}h4{font-size:24px;font-weight:400;line-height:32px;-moz-osx-font-smoothing:grayscale}h4,h5{font-family:Roboto,Helvetica,Arial,sans-serif;margin-top:24px;margin-bottom:16px}h5{font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em}h6{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:16px;letter-spacing:.04em;margin-top:24px}h6,p{font-weight:400;line-height:24px;margin-bottom:16px}p{font-size:14px;letter-spacing:0}a{color:#ff4081;font-weight:500}blockquote{font-family:Roboto,Helvetica,Arial,sans-serif;position:relative;font-size:24px;font-weight:300;font-style:italic;line-height:1.35;letter-spacing:.08em}blockquote:before{position:absolute;left:-.5em;content:"“"}blockquote:after{content:"”";margin-left:-.05em}mark{background-color:#f4ff81}address{font-size:12px;line-height:1}address,ol,ul{font-weight:400;letter-spacing:0}ol,ul{font-size:14px;line-height:24px}.mdl-typography--display-4,.mdl-typography--display-4-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:112px;font-weight:300;line-height:1;letter-spacing:-.04em}.mdl-typography--display-4-color-contrast{opacity:.54}.mdl-typography--display-3,.mdl-typography--display-3-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:56px;font-weight:400;line-height:1.35;letter-spacing:-.02em}.mdl-typography--display-3-color-contrast{opacity:.54}.mdl-typography--display-2,.mdl-typography--display-2-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:45px;font-weight:400;line-height:48px}.mdl-typography--display-2-color-contrast{opacity:.54}.mdl-typography--display-1,.mdl-typography--display-1-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:34px;font-weight:400;line-height:40px}.mdl-typography--display-1-color-contrast{opacity:.54}.mdl-typography--headline,.mdl-typography--headline-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:24px;font-weight:400;line-height:32px;-moz-osx-font-smoothing:grayscale}.mdl-typography--headline-color-contrast{opacity:.87}.mdl-typography--title,.mdl-typography--title-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em}.mdl-typography--title-color-contrast{opacity:.87}.mdl-typography--subhead,.mdl-typography--subhead-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:.04em}.mdl-typography--subhead-color-contrast{opacity:.87}.mdl-typography--body-2,.mdl-typography--body-2-color-contrast{font-size:14px;font-weight:700;line-height:24px;letter-spacing:0}.mdl-typography--body-2-color-contrast{opacity:.87}.mdl-typography--body-1,.mdl-typography--body-1-color-contrast{font-size:14px;font-weight:400;line-height:24px;letter-spacing:0}.mdl-typography--body-1-color-contrast{opacity:.87}.mdl-typography--body-2-force-preferred-font,.mdl-typography--body-2-force-preferred-font-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:24px;letter-spacing:0}.mdl-typography--body-2-force-preferred-font-color-contrast{opacity:.87}.mdl-typography--body-1-force-preferred-font,.mdl-typography--body-1-force-preferred-font-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:24px;letter-spacing:0}.mdl-typography--body-1-force-preferred-font-color-contrast{opacity:.87}.mdl-typography--caption,.mdl-typography--caption-force-preferred-font{font-size:12px;font-weight:400;line-height:1;letter-spacing:0}.mdl-typography--caption-force-preferred-font{font-family:Roboto,Helvetica,Arial,sans-serif}.mdl-typography--caption-color-contrast,.mdl-typography--caption-force-preferred-font-color-contrast{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;opacity:.54}.mdl-typography--caption-force-preferred-font-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif}.mdl-typography--menu,.mdl-typography--menu-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;line-height:1;letter-spacing:0}.mdl-typography--menu-color-contrast{opacity:.87}.mdl-typography--button,.mdl-typography--button-color-contrast{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:0}.mdl-typography--button-color-contrast{opacity:.87}.mdl-typography--text-left{text-align:left}.mdl-typography--text-right{text-align:right}.mdl-typography--text-center{text-align:center}.mdl-typography--text-justify{text-align:justify}.mdl-typography--text-nowrap{white-space:nowrap}.mdl-typography--text-lowercase{text-transform:lowercase}.mdl-typography--text-uppercase{text-transform:uppercase}.mdl-typography--text-capitalize{text-transform:capitalize}.mdl-typography--font-thin{font-weight:200!important}.mdl-typography--font-light{font-weight:300!important}.mdl-typography--font-regular{font-weight:400!important}.mdl-typography--font-medium{font-weight:500!important}.mdl-typography--font-bold{font-weight:700!important}.mdl-typography--font-black{font-weight:900!important}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}.mdl-color-text--red{color:#f44336!important}.mdl-color--red{background-color:#f44336!important}.mdl-color-text--red-50{color:#ffebee!important}.mdl-color--red-50{background-color:#ffebee!important}.mdl-color-text--red-100{color:#ffcdd2!important}.mdl-color--red-100{background-color:#ffcdd2!important}.mdl-color-text--red-200{color:#ef9a9a!important}.mdl-color--red-200{background-color:#ef9a9a!important}.mdl-color-text--red-300{color:#e57373!important}.mdl-color--red-300{background-color:#e57373!important}.mdl-color-text--red-400{color:#ef5350!important}.mdl-color--red-400{background-color:#ef5350!important}.mdl-color-text--red-500{color:#f44336!important}.mdl-color--red-500{background-color:#f44336!important}.mdl-color-text--red-600{color:#e53935!important}.mdl-color--red-600{background-color:#e53935!important}.mdl-color-text--red-700{color:#d32f2f!important}.mdl-color--red-700{background-color:#d32f2f!important}.mdl-color-text--red-800{color:#c62828!important}.mdl-color--red-800{background-color:#c62828!important}.mdl-color-text--red-900{color:#b71c1c!important}.mdl-color--red-900{background-color:#b71c1c!important}.mdl-color-text--red-A100{color:#ff8a80!important}.mdl-color--red-A100{background-color:#ff8a80!important}.mdl-color-text--red-A200{color:#ff5252!important}.mdl-color--red-A200{background-color:#ff5252!important}.mdl-color-text--red-A400{color:#ff1744!important}.mdl-color--red-A400{background-color:#ff1744!important}.mdl-color-text--red-A700{color:#d50000!important}.mdl-color--red-A700{background-color:#d50000!important}.mdl-color-text--pink{color:#e91e63!important}.mdl-color--pink{background-color:#e91e63!important}.mdl-color-text--pink-50{color:#fce4ec!important}.mdl-color--pink-50{background-color:#fce4ec!important}.mdl-color-text--pink-100{color:#f8bbd0!important}.mdl-color--pink-100{background-color:#f8bbd0!important}.mdl-color-text--pink-200{color:#f48fb1!important}.mdl-color--pink-200{background-color:#f48fb1!important}.mdl-color-text--pink-300{color:#f06292!important}.mdl-color--pink-300{background-color:#f06292!important}.mdl-color-text--pink-400{color:#ec407a!important}.mdl-color--pink-400{background-color:#ec407a!important}.mdl-color-text--pink-500{color:#e91e63!important}.mdl-color--pink-500{background-color:#e91e63!important}.mdl-color-text--pink-600{color:#d81b60!important}.mdl-color--pink-600{background-color:#d81b60!important}.mdl-color-text--pink-700{color:#c2185b!important}.mdl-color--pink-700{background-color:#c2185b!important}.mdl-color-text--pink-800{color:#ad1457!important}.mdl-color--pink-800{background-color:#ad1457!important}.mdl-color-text--pink-900{color:#880e4f!important}.mdl-color--pink-900{background-color:#880e4f!important}.mdl-color-text--pink-A100{color:#ff80ab!important}.mdl-color--pink-A100{background-color:#ff80ab!important}.mdl-color-text--pink-A200{color:#ff4081!important}.mdl-color--pink-A200{background-color:#ff4081!important}.mdl-color-text--pink-A400{color:#f50057!important}.mdl-color--pink-A400{background-color:#f50057!important}.mdl-color-text--pink-A700{color:#c51162!important}.mdl-color--pink-A700{background-color:#c51162!important}.mdl-color-text--purple{color:#9c27b0!important}.mdl-color--purple{background-color:#9c27b0!important}.mdl-color-text--purple-50{color:#f3e5f5!important}.mdl-color--purple-50{background-color:#f3e5f5!important}.mdl-color-text--purple-100{color:#e1bee7!important}.mdl-color--purple-100{background-color:#e1bee7!important}.mdl-color-text--purple-200{color:#ce93d8!important}.mdl-color--purple-200{background-color:#ce93d8!important}.mdl-color-text--purple-300{color:#ba68c8!important}.mdl-color--purple-300{background-color:#ba68c8!important}.mdl-color-text--purple-400{color:#ab47bc!important}.mdl-color--purple-400{background-color:#ab47bc!important}.mdl-color-text--purple-500{color:#9c27b0!important}.mdl-color--purple-500{background-color:#9c27b0!important}.mdl-color-text--purple-600{color:#8e24aa!important}.mdl-color--purple-600{background-color:#8e24aa!important}.mdl-color-text--purple-700{color:#7b1fa2!important}.mdl-color--purple-700{background-color:#7b1fa2!important}.mdl-color-text--purple-800{color:#6a1b9a!important}.mdl-color--purple-800{background-color:#6a1b9a!important}.mdl-color-text--purple-900{color:#4a148c!important}.mdl-color--purple-900{background-color:#4a148c!important}.mdl-color-text--purple-A100{color:#ea80fc!important}.mdl-color--purple-A100{background-color:#ea80fc!important}.mdl-color-text--purple-A200{color:#e040fb!important}.mdl-color--purple-A200{background-color:#e040fb!important}.mdl-color-text--purple-A400{color:#d500f9!important}.mdl-color--purple-A400{background-color:#d500f9!important}.mdl-color-text--purple-A700{color:#a0f!important}.mdl-color--purple-A700{background-color:#a0f!important}.mdl-color-text--deep-purple{color:#673ab7!important}.mdl-color--deep-purple{background-color:#673ab7!important}.mdl-color-text--deep-purple-50{color:#ede7f6!important}.mdl-color--deep-purple-50{background-color:#ede7f6!important}.mdl-color-text--deep-purple-100{color:#d1c4e9!important}.mdl-color--deep-purple-100{background-color:#d1c4e9!important}.mdl-color-text--deep-purple-200{color:#b39ddb!important}.mdl-color--deep-purple-200{background-color:#b39ddb!important}.mdl-color-text--deep-purple-300{color:#9575cd!important}.mdl-color--deep-purple-300{background-color:#9575cd!important}.mdl-color-text--deep-purple-400{color:#7e57c2!important}.mdl-color--deep-purple-400{background-color:#7e57c2!important}.mdl-color-text--deep-purple-500{color:#673ab7!important}.mdl-color--deep-purple-500{background-color:#673ab7!important}.mdl-color-text--deep-purple-600{color:#5e35b1!important}.mdl-color--deep-purple-600{background-color:#5e35b1!important}.mdl-color-text--deep-purple-700{color:#512da8!important}.mdl-color--deep-purple-700{background-color:#512da8!important}.mdl-color-text--deep-purple-800{color:#4527a0!important}.mdl-color--deep-purple-800{background-color:#4527a0!important}.mdl-color-text--deep-purple-900{color:#311b92!important}.mdl-color--deep-purple-900{background-color:#311b92!important}.mdl-color-text--deep-purple-A100{color:#b388ff!important}.mdl-color--deep-purple-A100{background-color:#b388ff!important}.mdl-color-text--deep-purple-A200{color:#7c4dff!important}.mdl-color--deep-purple-A200{background-color:#7c4dff!important}.mdl-color-text--deep-purple-A400{color:#651fff!important}.mdl-color--deep-purple-A400{background-color:#651fff!important}.mdl-color-text--deep-purple-A700{color:#6200ea!important}.mdl-color--deep-purple-A700{background-color:#6200ea!important}.mdl-color-text--indigo{color:#3f51b5!important}.mdl-color--indigo{background-color:#3f51b5!important}.mdl-color-text--indigo-50{color:#e8eaf6!important}.mdl-color--indigo-50{background-color:#e8eaf6!important}.mdl-color-text--indigo-100{color:#c5cae9!important}.mdl-color--indigo-100{background-color:#c5cae9!important}.mdl-color-text--indigo-200{color:#9fa8da!important}.mdl-color--indigo-200{background-color:#9fa8da!important}.mdl-color-text--indigo-300{color:#7986cb!important}.mdl-color--indigo-300{background-color:#7986cb!important}.mdl-color-text--indigo-400{color:#5c6bc0!important}.mdl-color--indigo-400{background-color:#5c6bc0!important}.mdl-color-text--indigo-500{color:#3f51b5!important}.mdl-color--indigo-500{background-color:#3f51b5!important}.mdl-color-text--indigo-600{color:#3949ab!important}.mdl-color--indigo-600{background-color:#3949ab!important}.mdl-color-text--indigo-700{color:#303f9f!important}.mdl-color--indigo-700{background-color:#303f9f!important}.mdl-color-text--indigo-800{color:#283593!important}.mdl-color--indigo-800{background-color:#283593!important}.mdl-color-text--indigo-900{color:#1a237e!important}.mdl-color--indigo-900{background-color:#1a237e!important}.mdl-color-text--indigo-A100{color:#8c9eff!important}.mdl-color--indigo-A100{background-color:#8c9eff!important}.mdl-color-text--indigo-A200{color:#536dfe!important}.mdl-color--indigo-A200{background-color:#536dfe!important}.mdl-color-text--indigo-A400{color:#3d5afe!important}.mdl-color--indigo-A400{background-color:#3d5afe!important}.mdl-color-text--indigo-A700{color:#304ffe!important}.mdl-color--indigo-A700{background-color:#304ffe!important}.mdl-color-text--blue{color:#2196f3!important}.mdl-color--blue{background-color:#2196f3!important}.mdl-color-text--blue-50{color:#e3f2fd!important}.mdl-color--blue-50{background-color:#e3f2fd!important}.mdl-color-text--blue-100{color:#bbdefb!important}.mdl-color--blue-100{background-color:#bbdefb!important}.mdl-color-text--blue-200{color:#90caf9!important}.mdl-color--blue-200{background-color:#90caf9!important}.mdl-color-text--blue-300{color:#64b5f6!important}.mdl-color--blue-300{background-color:#64b5f6!important}.mdl-color-text--blue-400{color:#42a5f5!important}.mdl-color--blue-400{background-color:#42a5f5!important}.mdl-color-text--blue-500{color:#2196f3!important}.mdl-color--blue-500{background-color:#2196f3!important}.mdl-color-text--blue-600{color:#1e88e5!important}.mdl-color--blue-600{background-color:#1e88e5!important}.mdl-color-text--blue-700{color:#1976d2!important}.mdl-color--blue-700{background-color:#1976d2!important}.mdl-color-text--blue-800{color:#1565c0!important}.mdl-color--blue-800{background-color:#1565c0!important}.mdl-color-text--blue-900{color:#0d47a1!important}.mdl-color--blue-900{background-color:#0d47a1!important}.mdl-color-text--blue-A100{color:#82b1ff!important}.mdl-color--blue-A100{background-color:#82b1ff!important}.mdl-color-text--blue-A200{color:#448aff!important}.mdl-color--blue-A200{background-color:#448aff!important}.mdl-color-text--blue-A400{color:#2979ff!important}.mdl-color--blue-A400{background-color:#2979ff!important}.mdl-color-text--blue-A700{color:#2962ff!important}.mdl-color--blue-A700{background-color:#2962ff!important}.mdl-color-text--light-blue{color:#03a9f4!important}.mdl-color--light-blue{background-color:#03a9f4!important}.mdl-color-text--light-blue-50{color:#e1f5fe!important}.mdl-color--light-blue-50{background-color:#e1f5fe!important}.mdl-color-text--light-blue-100{color:#b3e5fc!important}.mdl-color--light-blue-100{background-color:#b3e5fc!important}.mdl-color-text--light-blue-200{color:#81d4fa!important}.mdl-color--light-blue-200{background-color:#81d4fa!important}.mdl-color-text--light-blue-300{color:#4fc3f7!important}.mdl-color--light-blue-300{background-color:#4fc3f7!important}.mdl-color-text--light-blue-400{color:#29b6f6!important}.mdl-color--light-blue-400{background-color:#29b6f6!important}.mdl-color-text--light-blue-500{color:#03a9f4!important}.mdl-color--light-blue-500{background-color:#03a9f4!important}.mdl-color-text--light-blue-600{color:#039be5!important}.mdl-color--light-blue-600{background-color:#039be5!important}.mdl-color-text--light-blue-700{color:#0288d1!important}.mdl-color--light-blue-700{background-color:#0288d1!important}.mdl-color-text--light-blue-800{color:#0277bd!important}.mdl-color--light-blue-800{background-color:#0277bd!important}.mdl-color-text--light-blue-900{color:#01579b!important}.mdl-color--light-blue-900{background-color:#01579b!important}.mdl-color-text--light-blue-A100{color:#80d8ff!important}.mdl-color--light-blue-A100{background-color:#80d8ff!important}.mdl-color-text--light-blue-A200{color:#40c4ff!important}.mdl-color--light-blue-A200{background-color:#40c4ff!important}.mdl-color-text--light-blue-A400{color:#00b0ff!important}.mdl-color--light-blue-A400{background-color:#00b0ff!important}.mdl-color-text--light-blue-A700{color:#0091ea!important}.mdl-color--light-blue-A700{background-color:#0091ea!important}.mdl-color-text--cyan{color:#00bcd4!important}.mdl-color--cyan{background-color:#00bcd4!important}.mdl-color-text--cyan-50{color:#e0f7fa!important}.mdl-color--cyan-50{background-color:#e0f7fa!important}.mdl-color-text--cyan-100{color:#b2ebf2!important}.mdl-color--cyan-100{background-color:#b2ebf2!important}.mdl-color-text--cyan-200{color:#80deea!important}.mdl-color--cyan-200{background-color:#80deea!important}.mdl-color-text--cyan-300{color:#4dd0e1!important}.mdl-color--cyan-300{background-color:#4dd0e1!important}.mdl-color-text--cyan-400{color:#26c6da!important}.mdl-color--cyan-400{background-color:#26c6da!important}.mdl-color-text--cyan-500{color:#00bcd4!important}.mdl-color--cyan-500{background-color:#00bcd4!important}.mdl-color-text--cyan-600{color:#00acc1!important}.mdl-color--cyan-600{background-color:#00acc1!important}.mdl-color-text--cyan-700{color:#0097a7!important}.mdl-color--cyan-700{background-color:#0097a7!important}.mdl-color-text--cyan-800{color:#00838f!important}.mdl-color--cyan-800{background-color:#00838f!important}.mdl-color-text--cyan-900{color:#006064!important}.mdl-color--cyan-900{background-color:#006064!important}.mdl-color-text--cyan-A100{color:#84ffff!important}.mdl-color--cyan-A100{background-color:#84ffff!important}.mdl-color-text--cyan-A200{color:#18ffff!important}.mdl-color--cyan-A200{background-color:#18ffff!important}.mdl-color-text--cyan-A400{color:#00e5ff!important}.mdl-color--cyan-A400{background-color:#00e5ff!important}.mdl-color-text--cyan-A700{color:#00b8d4!important}.mdl-color--cyan-A700{background-color:#00b8d4!important}.mdl-color-text--teal{color:#009688!important}.mdl-color--teal{background-color:#009688!important}.mdl-color-text--teal-50{color:#e0f2f1!important}.mdl-color--teal-50{background-color:#e0f2f1!important}.mdl-color-text--teal-100{color:#b2dfdb!important}.mdl-color--teal-100{background-color:#b2dfdb!important}.mdl-color-text--teal-200{color:#80cbc4!important}.mdl-color--teal-200{background-color:#80cbc4!important}.mdl-color-text--teal-300{color:#4db6ac!important}.mdl-color--teal-300{background-color:#4db6ac!important}.mdl-color-text--teal-400{color:#26a69a!important}.mdl-color--teal-400{background-color:#26a69a!important}.mdl-color-text--teal-500{color:#009688!important}.mdl-color--teal-500{background-color:#009688!important}.mdl-color-text--teal-600{color:#00897b!important}.mdl-color--teal-600{background-color:#00897b!important}.mdl-color-text--teal-700{color:#00796b!important}.mdl-color--teal-700{background-color:#00796b!important}.mdl-color-text--teal-800{color:#00695c!important}.mdl-color--teal-800{background-color:#00695c!important}.mdl-color-text--teal-900{color:#004d40!important}.mdl-color--teal-900{background-color:#004d40!important}.mdl-color-text--teal-A100{color:#a7ffeb!important}.mdl-color--teal-A100{background-color:#a7ffeb!important}.mdl-color-text--teal-A200{color:#64ffda!important}.mdl-color--teal-A200{background-color:#64ffda!important}.mdl-color-text--teal-A400{color:#1de9b6!important}.mdl-color--teal-A400{background-color:#1de9b6!important}.mdl-color-text--teal-A700{color:#00bfa5!important}.mdl-color--teal-A700{background-color:#00bfa5!important}.mdl-color-text--green{color:#4caf50!important}.mdl-color--green{background-color:#4caf50!important}.mdl-color-text--green-50{color:#e8f5e9!important}.mdl-color--green-50{background-color:#e8f5e9!important}.mdl-color-text--green-100{color:#c8e6c9!important}.mdl-color--green-100{background-color:#c8e6c9!important}.mdl-color-text--green-200{color:#a5d6a7!important}.mdl-color--green-200{background-color:#a5d6a7!important}.mdl-color-text--green-300{color:#81c784!important}.mdl-color--green-300{background-color:#81c784!important}.mdl-color-text--green-400{color:#66bb6a!important}.mdl-color--green-400{background-color:#66bb6a!important}.mdl-color-text--green-500{color:#4caf50!important}.mdl-color--green-500{background-color:#4caf50!important}.mdl-color-text--green-600{color:#43a047!important}.mdl-color--green-600{background-color:#43a047!important}.mdl-color-text--green-700{color:#388e3c!important}.mdl-color--green-700{background-color:#388e3c!important}.mdl-color-text--green-800{color:#2e7d32!important}.mdl-color--green-800{background-color:#2e7d32!important}.mdl-color-text--green-900{color:#1b5e20!important}.mdl-color--green-900{background-color:#1b5e20!important}.mdl-color-text--green-A100{color:#b9f6ca!important}.mdl-color--green-A100{background-color:#b9f6ca!important}.mdl-color-text--green-A200{color:#69f0ae!important}.mdl-color--green-A200{background-color:#69f0ae!important}.mdl-color-text--green-A400{color:#00e676!important}.mdl-color--green-A400{background-color:#00e676!important}.mdl-color-text--green-A700{color:#00c853!important}.mdl-color--green-A700{background-color:#00c853!important}.mdl-color-text--light-green{color:#8bc34a!important}.mdl-color--light-green{background-color:#8bc34a!important}.mdl-color-text--light-green-50{color:#f1f8e9!important}.mdl-color--light-green-50{background-color:#f1f8e9!important}.mdl-color-text--light-green-100{color:#dcedc8!important}.mdl-color--light-green-100{background-color:#dcedc8!important}.mdl-color-text--light-green-200{color:#c5e1a5!important}.mdl-color--light-green-200{background-color:#c5e1a5!important}.mdl-color-text--light-green-300{color:#aed581!important}.mdl-color--light-green-300{background-color:#aed581!important}.mdl-color-text--light-green-400{color:#9ccc65!important}.mdl-color--light-green-400{background-color:#9ccc65!important}.mdl-color-text--light-green-500{color:#8bc34a!important}.mdl-color--light-green-500{background-color:#8bc34a!important}.mdl-color-text--light-green-600{color:#7cb342!important}.mdl-color--light-green-600{background-color:#7cb342!important}.mdl-color-text--light-green-700{color:#689f38!important}.mdl-color--light-green-700{background-color:#689f38!important}.mdl-color-text--light-green-800{color:#558b2f!important}.mdl-color--light-green-800{background-color:#558b2f!important}.mdl-color-text--light-green-900{color:#33691e!important}.mdl-color--light-green-900{background-color:#33691e!important}.mdl-color-text--light-green-A100{color:#ccff90!important}.mdl-color--light-green-A100{background-color:#ccff90!important}.mdl-color-text--light-green-A200{color:#b2ff59!important}.mdl-color--light-green-A200{background-color:#b2ff59!important}.mdl-color-text--light-green-A400{color:#76ff03!important}.mdl-color--light-green-A400{background-color:#76ff03!important}.mdl-color-text--light-green-A700{color:#64dd17!important}.mdl-color--light-green-A700{background-color:#64dd17!important}.mdl-color-text--lime{color:#cddc39!important}.mdl-color--lime{background-color:#cddc39!important}.mdl-color-text--lime-50{color:#f9fbe7!important}.mdl-color--lime-50{background-color:#f9fbe7!important}.mdl-color-text--lime-100{color:#f0f4c3!important}.mdl-color--lime-100{background-color:#f0f4c3!important}.mdl-color-text--lime-200{color:#e6ee9c!important}.mdl-color--lime-200{background-color:#e6ee9c!important}.mdl-color-text--lime-300{color:#dce775!important}.mdl-color--lime-300{background-color:#dce775!important}.mdl-color-text--lime-400{color:#d4e157!important}.mdl-color--lime-400{background-color:#d4e157!important}.mdl-color-text--lime-500{color:#cddc39!important}.mdl-color--lime-500{background-color:#cddc39!important}.mdl-color-text--lime-600{color:#c0ca33!important}.mdl-color--lime-600{background-color:#c0ca33!important}.mdl-color-text--lime-700{color:#afb42b!important}.mdl-color--lime-700{background-color:#afb42b!important}.mdl-color-text--lime-800{color:#9e9d24!important}.mdl-color--lime-800{background-color:#9e9d24!important}.mdl-color-text--lime-900{color:#827717!important}.mdl-color--lime-900{background-color:#827717!important}.mdl-color-text--lime-A100{color:#f4ff81!important}.mdl-color--lime-A100{background-color:#f4ff81!important}.mdl-color-text--lime-A200{color:#eeff41!important}.mdl-color--lime-A200{background-color:#eeff41!important}.mdl-color-text--lime-A400{color:#c6ff00!important}.mdl-color--lime-A400{background-color:#c6ff00!important}.mdl-color-text--lime-A700{color:#aeea00!important}.mdl-color--lime-A700{background-color:#aeea00!important}.mdl-color-text--yellow{color:#ffeb3b!important}.mdl-color--yellow{background-color:#ffeb3b!important}.mdl-color-text--yellow-50{color:#fffde7!important}.mdl-color--yellow-50{background-color:#fffde7!important}.mdl-color-text--yellow-100{color:#fff9c4!important}.mdl-color--yellow-100{background-color:#fff9c4!important}.mdl-color-text--yellow-200{color:#fff59d!important}.mdl-color--yellow-200{background-color:#fff59d!important}.mdl-color-text--yellow-300{color:#fff176!important}.mdl-color--yellow-300{background-color:#fff176!important}.mdl-color-text--yellow-400{color:#ffee58!important}.mdl-color--yellow-400{background-color:#ffee58!important}.mdl-color-text--yellow-500{color:#ffeb3b!important}.mdl-color--yellow-500{background-color:#ffeb3b!important}.mdl-color-text--yellow-600{color:#fdd835!important}.mdl-color--yellow-600{background-color:#fdd835!important}.mdl-color-text--yellow-700{color:#fbc02d!important}.mdl-color--yellow-700{background-color:#fbc02d!important}.mdl-color-text--yellow-800{color:#f9a825!important}.mdl-color--yellow-800{background-color:#f9a825!important}.mdl-color-text--yellow-900{color:#f57f17!important}.mdl-color--yellow-900{background-color:#f57f17!important}.mdl-color-text--yellow-A100{color:#ffff8d!important}.mdl-color--yellow-A100{background-color:#ffff8d!important}.mdl-color-text--yellow-A200{color:#ff0!important}.mdl-color--yellow-A200{background-color:#ff0!important}.mdl-color-text--yellow-A400{color:#ffea00!important}.mdl-color--yellow-A400{background-color:#ffea00!important}.mdl-color-text--yellow-A700{color:#ffd600!important}.mdl-color--yellow-A700{background-color:#ffd600!important}.mdl-color-text--amber{color:#ffc107!important}.mdl-color--amber{background-color:#ffc107!important}.mdl-color-text--amber-50{color:#fff8e1!important}.mdl-color--amber-50{background-color:#fff8e1!important}.mdl-color-text--amber-100{color:#ffecb3!important}.mdl-color--amber-100{background-color:#ffecb3!important}.mdl-color-text--amber-200{color:#ffe082!important}.mdl-color--amber-200{background-color:#ffe082!important}.mdl-color-text--amber-300{color:#ffd54f!important}.mdl-color--amber-300{background-color:#ffd54f!important}.mdl-color-text--amber-400{color:#ffca28!important}.mdl-color--amber-400{background-color:#ffca28!important}.mdl-color-text--amber-500{color:#ffc107!important}.mdl-color--amber-500{background-color:#ffc107!important}.mdl-color-text--amber-600{color:#ffb300!important}.mdl-color--amber-600{background-color:#ffb300!important}.mdl-color-text--amber-700{color:#ffa000!important}.mdl-color--amber-700{background-color:#ffa000!important}.mdl-color-text--amber-800{color:#ff8f00!important}.mdl-color--amber-800{background-color:#ff8f00!important}.mdl-color-text--amber-900{color:#ff6f00!important}.mdl-color--amber-900{background-color:#ff6f00!important}.mdl-color-text--amber-A100{color:#ffe57f!important}.mdl-color--amber-A100{background-color:#ffe57f!important}.mdl-color-text--amber-A200{color:#ffd740!important}.mdl-color--amber-A200{background-color:#ffd740!important}.mdl-color-text--amber-A400{color:#ffc400!important}.mdl-color--amber-A400{background-color:#ffc400!important}.mdl-color-text--amber-A700{color:#ffab00!important}.mdl-color--amber-A700{background-color:#ffab00!important}.mdl-color-text--orange{color:#ff9800!important}.mdl-color--orange{background-color:#ff9800!important}.mdl-color-text--orange-50{color:#fff3e0!important}.mdl-color--orange-50{background-color:#fff3e0!important}.mdl-color-text--orange-100{color:#ffe0b2!important}.mdl-color--orange-100{background-color:#ffe0b2!important}.mdl-color-text--orange-200{color:#ffcc80!important}.mdl-color--orange-200{background-color:#ffcc80!important}.mdl-color-text--orange-300{color:#ffb74d!important}.mdl-color--orange-300{background-color:#ffb74d!important}.mdl-color-text--orange-400{color:#ffa726!important}.mdl-color--orange-400{background-color:#ffa726!important}.mdl-color-text--orange-500{color:#ff9800!important}.mdl-color--orange-500{background-color:#ff9800!important}.mdl-color-text--orange-600{color:#fb8c00!important}.mdl-color--orange-600{background-color:#fb8c00!important}.mdl-color-text--orange-700{color:#f57c00!important}.mdl-color--orange-700{background-color:#f57c00!important}.mdl-color-text--orange-800{color:#ef6c00!important}.mdl-color--orange-800{background-color:#ef6c00!important}.mdl-color-text--orange-900{color:#e65100!important}.mdl-color--orange-900{background-color:#e65100!important}.mdl-color-text--orange-A100{color:#ffd180!important}.mdl-color--orange-A100{background-color:#ffd180!important}.mdl-color-text--orange-A200{color:#ffab40!important}.mdl-color--orange-A200{background-color:#ffab40!important}.mdl-color-text--orange-A400{color:#ff9100!important}.mdl-color--orange-A400{background-color:#ff9100!important}.mdl-color-text--orange-A700{color:#ff6d00!important}.mdl-color--orange-A700{background-color:#ff6d00!important}.mdl-color-text--deep-orange{color:#ff5722!important}.mdl-color--deep-orange{background-color:#ff5722!important}.mdl-color-text--deep-orange-50{color:#fbe9e7!important}.mdl-color--deep-orange-50{background-color:#fbe9e7!important}.mdl-color-text--deep-orange-100{color:#ffccbc!important}.mdl-color--deep-orange-100{background-color:#ffccbc!important}.mdl-color-text--deep-orange-200{color:#ffab91!important}.mdl-color--deep-orange-200{background-color:#ffab91!important}.mdl-color-text--deep-orange-300{color:#ff8a65!important}.mdl-color--deep-orange-300{background-color:#ff8a65!important}.mdl-color-text--deep-orange-400{color:#ff7043!important}.mdl-color--deep-orange-400{background-color:#ff7043!important}.mdl-color-text--deep-orange-500{color:#ff5722!important}.mdl-color--deep-orange-500{background-color:#ff5722!important}.mdl-color-text--deep-orange-600{color:#f4511e!important}.mdl-color--deep-orange-600{background-color:#f4511e!important}.mdl-color-text--deep-orange-700{color:#e64a19!important}.mdl-color--deep-orange-700{background-color:#e64a19!important}.mdl-color-text--deep-orange-800{color:#d84315!important}.mdl-color--deep-orange-800{background-color:#d84315!important}.mdl-color-text--deep-orange-900{color:#bf360c!important}.mdl-color--deep-orange-900{background-color:#bf360c!important}.mdl-color-text--deep-orange-A100{color:#ff9e80!important}.mdl-color--deep-orange-A100{background-color:#ff9e80!important}.mdl-color-text--deep-orange-A200{color:#ff6e40!important}.mdl-color--deep-orange-A200{background-color:#ff6e40!important}.mdl-color-text--deep-orange-A400{color:#ff3d00!important}.mdl-color--deep-orange-A400{background-color:#ff3d00!important}.mdl-color-text--deep-orange-A700{color:#dd2c00!important}.mdl-color--deep-orange-A700{background-color:#dd2c00!important}.mdl-color-text--brown{color:#795548!important}.mdl-color--brown{background-color:#795548!important}.mdl-color-text--brown-50{color:#efebe9!important}.mdl-color--brown-50{background-color:#efebe9!important}.mdl-color-text--brown-100{color:#d7ccc8!important}.mdl-color--brown-100{background-color:#d7ccc8!important}.mdl-color-text--brown-200{color:#bcaaa4!important}.mdl-color--brown-200{background-color:#bcaaa4!important}.mdl-color-text--brown-300{color:#a1887f!important}.mdl-color--brown-300{background-color:#a1887f!important}.mdl-color-text--brown-400{color:#8d6e63!important}.mdl-color--brown-400{background-color:#8d6e63!important}.mdl-color-text--brown-500{color:#795548!important}.mdl-color--brown-500{background-color:#795548!important}.mdl-color-text--brown-600{color:#6d4c41!important}.mdl-color--brown-600{background-color:#6d4c41!important}.mdl-color-text--brown-700{color:#5d4037!important}.mdl-color--brown-700{background-color:#5d4037!important}.mdl-color-text--brown-800{color:#4e342e!important}.mdl-color--brown-800{background-color:#4e342e!important}.mdl-color-text--brown-900{color:#3e2723!important}.mdl-color--brown-900{background-color:#3e2723!important}.mdl-color-text--grey{color:#9e9e9e!important}.mdl-color--grey{background-color:#9e9e9e!important}.mdl-color-text--grey-50{color:#fafafa!important}.mdl-color--grey-50{background-color:#fafafa!important}.mdl-color-text--grey-100{color:#f5f5f5!important}.mdl-color--grey-100{background-color:#f5f5f5!important}.mdl-color-text--grey-200{color:#eee!important}.mdl-color--grey-200{background-color:#eee!important}.mdl-color-text--grey-300{color:#e0e0e0!important}.mdl-color--grey-300{background-color:#e0e0e0!important}.mdl-color-text--grey-400{color:#bdbdbd!important}.mdl-color--grey-400{background-color:#bdbdbd!important}.mdl-color-text--grey-500{color:#9e9e9e!important}.mdl-color--grey-500{background-color:#9e9e9e!important}.mdl-color-text--grey-600{color:#757575!important}.mdl-color--grey-600{background-color:#757575!important}.mdl-color-text--grey-700{color:#616161!important}.mdl-color--grey-700{background-color:#616161!important}.mdl-color-text--grey-800{color:#424242!important}.mdl-color--grey-800{background-color:#424242!important}.mdl-color-text--grey-900{color:#212121!important}.mdl-color--grey-900{background-color:#212121!important}.mdl-color-text--blue-grey{color:#607d8b!important}.mdl-color--blue-grey{background-color:#607d8b!important}.mdl-color-text--blue-grey-50{color:#eceff1!important}.mdl-color--blue-grey-50{background-color:#eceff1!important}.mdl-color-text--blue-grey-100{color:#cfd8dc!important}.mdl-color--blue-grey-100{background-color:#cfd8dc!important}.mdl-color-text--blue-grey-200{color:#b0bec5!important}.mdl-color--blue-grey-200{background-color:#b0bec5!important}.mdl-color-text--blue-grey-300{color:#90a4ae!important}.mdl-color--blue-grey-300{background-color:#90a4ae!important}.mdl-color-text--blue-grey-400{color:#78909c!important}.mdl-color--blue-grey-400{background-color:#78909c!important}.mdl-color-text--blue-grey-500{color:#607d8b!important}.mdl-color--blue-grey-500{background-color:#607d8b!important}.mdl-color-text--blue-grey-600{color:#546e7a!important}.mdl-color--blue-grey-600{background-color:#546e7a!important}.mdl-color-text--blue-grey-700{color:#455a64!important}.mdl-color--blue-grey-700{background-color:#455a64!important}.mdl-color-text--blue-grey-800{color:#37474f!important}.mdl-color--blue-grey-800{background-color:#37474f!important}.mdl-color-text--blue-grey-900{color:#263238!important}.mdl-color--blue-grey-900{background-color:#263238!important}.mdl-color--black{background-color:#000!important}.mdl-color-text--black{color:#000!important}.mdl-color--white{background-color:#fff!important}.mdl-color-text--white{color:#fff!important}.mdl-color--primary{background-color:#3f51b5!important}.mdl-color--primary-contrast{background-color:#fff!important}.mdl-color--primary-dark{background-color:#303f9f!important}.mdl-color--accent{background-color:#ff4081!important}.mdl-color--accent-contrast{background-color:#fff!important}.mdl-color-text--primary{color:#3f51b5!important}.mdl-color-text--primary-contrast{color:#fff!important}.mdl-color-text--primary-dark{color:#303f9f!important}.mdl-color-text--accent{color:#ff4081!important}.mdl-color-text--accent-contrast{color:#fff!important}.mdl-ripple{background:#000;border-radius:50%;height:50px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transform:translate(-50%,-50%);width:50px;overflow:hidden}.mdl-ripple.is-animating{transition:transform .3s cubic-bezier(0,0,.2,1),width .3s cubic-bezier(0,0,.2,1),height .3s cubic-bezier(0,0,.2,1),opacity .6s cubic-bezier(0,0,.2,1)}.mdl-ripple.is-visible{opacity:.3}.mdl-animation--default,.mdl-animation--fast-out-slow-in{transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-animation--linear-out-slow-in{transition-timing-function:cubic-bezier(0,0,.2,1)}.mdl-animation--fast-out-linear-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.mdl-badge{position:relative;white-space:nowrap;margin-right:24px}.mdl-badge:not([data-badge]){margin-right:auto}.mdl-badge[data-badge]:after{content:attr(data-badge);display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;align-content:center;align-items:center;position:absolute;top:-11px;right:-24px;font-family:Roboto,Helvetica,Arial,sans-serif;font-weight:600;font-size:12px;width:22px;height:22px;border-radius:50%;background:#ff4081;color:#fff}.mdl-button .mdl-badge[data-badge]:after{top:-10px;right:-5px}.mdl-badge.mdl-badge--no-background[data-badge]:after{color:#ff4081;background:hsla(0,0%,100%,.2);box-shadow:0 0 1px gray}.mdl-badge.mdl-badge--overlap{margin-right:10px}.mdl-badge.mdl-badge--overlap:after{right:-10px}.mdl-button{background:transparent;border:none;border-radius:2px;color:#000;position:relative;height:36px;margin:0;min-width:64px;padding:0 16px;display:inline-block;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:0;overflow:hidden;will-change:box-shadow;transition:box-shadow .2s cubic-bezier(.4,0,1,1),background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);outline:none;cursor:pointer;text-decoration:none;text-align:center;line-height:36px;vertical-align:middle}.mdl-button::-moz-focus-inner{border:0}.mdl-button:hover{background-color:hsla(0,0%,62%,.2)}.mdl-button:focus:not(:active){background-color:rgba(0,0,0,.12)}.mdl-button:active{background-color:hsla(0,0%,62%,.4)}.mdl-button.mdl-button--colored{color:#3f51b5}.mdl-button.mdl-button--colored:focus:not(:active){background-color:rgba(0,0,0,.12)}input.mdl-button[type=submit]{-webkit-appearance:none}.mdl-button--raised{background:hsla(0,0%,62%,.2);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-button--raised:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:hsla(0,0%,62%,.4)}.mdl-button--raised:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:hsla(0,0%,62%,.4)}.mdl-button--raised.mdl-button--colored{background:#3f51b5;color:#fff}.mdl-button--raised.mdl-button--colored:active,.mdl-button--raised.mdl-button--colored:focus:not(:active),.mdl-button--raised.mdl-button--colored:hover{background-color:#3f51b5}.mdl-button--raised.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--fab{border-radius:50%;font-size:24px;height:56px;margin:auto;min-width:56px;width:56px;padding:0;overflow:hidden;background:hsla(0,0%,62%,.2);box-shadow:0 1px 1.5px 0 rgba(0,0,0,.12),0 1px 1px 0 rgba(0,0,0,.24);position:relative;line-height:normal}.mdl-button--fab .material-icons{position:absolute;top:50%;left:50%;transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--fab.mdl-button--mini-fab{height:40px;min-width:40px;width:40px}.mdl-button--fab .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button--fab:active{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);background-color:hsla(0,0%,62%,.4)}.mdl-button--fab:focus:not(:active){box-shadow:0 0 8px rgba(0,0,0,.18),0 8px 16px rgba(0,0,0,.36);background-color:hsla(0,0%,62%,.4)}.mdl-button--fab.mdl-button--colored{background:#ff4081;color:#fff}.mdl-button--fab.mdl-button--colored:active,.mdl-button--fab.mdl-button--colored:focus:not(:active),.mdl-button--fab.mdl-button--colored:hover{background-color:#ff4081}.mdl-button--fab.mdl-button--colored .mdl-ripple{background:#fff}.mdl-button--icon{border-radius:50%;font-size:24px;height:32px;margin-left:0;margin-right:0;min-width:32px;width:32px;padding:0;overflow:hidden;color:inherit;line-height:normal}.mdl-button--icon .material-icons{position:absolute;top:50%;left:50%;transform:translate(-12px,-12px);line-height:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon{height:24px;min-width:24px;width:24px}.mdl-button--icon.mdl-button--mini-icon .material-icons{top:0;left:0}.mdl-button--icon .mdl-button__ripple-container{border-radius:50%;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-button__ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-button.mdl-button--disabled .mdl-button__ripple-container .mdl-ripple,.mdl-button[disabled] .mdl-button__ripple-container .mdl-ripple{background-color:transparent}.mdl-button--primary.mdl-button--primary{color:#3f51b5}.mdl-button--primary.mdl-button--primary .mdl-ripple{background:#fff}.mdl-button--primary.mdl-button--primary.mdl-button--fab,.mdl-button--primary.mdl-button--primary.mdl-button--raised{color:#fff;background-color:#3f51b5}.mdl-button--accent.mdl-button--accent{color:#ff4081}.mdl-button--accent.mdl-button--accent .mdl-ripple{background:#fff}.mdl-button--accent.mdl-button--accent.mdl-button--fab,.mdl-button--accent.mdl-button--accent.mdl-button--raised{color:#fff;background-color:#ff4081}.mdl-button.mdl-button--disabled.mdl-button--disabled,.mdl-button[disabled][disabled]{color:rgba(0,0,0,.26);cursor:default;background-color:transparent}.mdl-button--fab.mdl-button--disabled.mdl-button--disabled,.mdl-button--fab[disabled][disabled]{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.26)}.mdl-button--raised.mdl-button--disabled.mdl-button--disabled,.mdl-button--raised[disabled][disabled]{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.26);box-shadow:none}.mdl-button--colored.mdl-button--disabled.mdl-button--disabled,.mdl-button--colored[disabled][disabled]{color:rgba(0,0,0,.26)}.mdl-button .material-icons{vertical-align:middle}.mdl-card{display:flex;flex-direction:column;font-size:16px;font-weight:400;min-height:200px;overflow:hidden;width:330px;z-index:1;position:relative;background:#fff;border-radius:2px;box-sizing:border-box}.mdl-card__media{background-color:#ff4081;background-repeat:repeat;background-position:50% 50%;background-size:cover;background-origin:padding-box;background-attachment:scroll;box-sizing:border-box}.mdl-card__title{align-items:center;color:#000;display:block;display:flex;justify-content:stretch;line-height:normal;padding:16px;perspective-origin:165px 56px;transform-origin:165px 56px;box-sizing:border-box}.mdl-card__title.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__title-text{align-self:flex-end;color:inherit;display:block;display:flex;font-size:24px;font-weight:300;line-height:normal;overflow:hidden;transform-origin:149px 48px;margin:0}.mdl-card__subtitle-text{font-size:14px;color:rgba(0,0,0,.54);margin:0}.mdl-card__supporting-text{color:rgba(0,0,0,.54);font-size:1rem;line-height:18px;overflow:hidden;padding:16px;width:90%}.mdl-card__supporting-text.mdl-card--border{border-bottom:1px solid rgba(0,0,0,.1)}.mdl-card__actions{font-size:16px;line-height:normal;width:100%;background-color:transparent;padding:8px;box-sizing:border-box}.mdl-card__actions.mdl-card--border{border-top:1px solid rgba(0,0,0,.1)}.mdl-card--expand{flex-grow:1}.mdl-card__menu{position:absolute;right:16px;top:16px}.mdl-checkbox{position:relative;z-index:1;vertical-align:middle;display:inline-block;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0}.mdl-checkbox.is-upgraded{padding-left:24px}.mdl-checkbox__input{line-height:24px}.mdl-checkbox.is-upgraded .mdl-checkbox__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-checkbox__box-outline{position:absolute;top:3px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;margin:0;cursor:pointer;overflow:hidden;border:2px solid rgba(0,0,0,.54);border-radius:2px;z-index:2}.mdl-checkbox.is-checked .mdl-checkbox__box-outline{border:2px solid #3f51b5}.mdl-checkbox.is-disabled .mdl-checkbox__box-outline,fieldset[disabled] .mdl-checkbox .mdl-checkbox__box-outline{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__focus-helper{position:absolute;top:3px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;border-radius:50%;background-color:transparent}.mdl-checkbox.is-focused .mdl-checkbox__focus-helper{box-shadow:0 0 0 8px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-checkbox.is-focused.is-checked .mdl-checkbox__focus-helper{box-shadow:0 0 0 8px rgba(63,81,181,.26);background-color:rgba(63,81,181,.26)}.mdl-checkbox__tick-outline{position:absolute;top:0;left:0;height:100%;width:100%;-webkit-mask:url(../images/tick-mask.svg?embed);mask:url(../images/tick-mask.svg?embed);background:transparent;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background}.mdl-checkbox.is-checked .mdl-checkbox__tick-outline{background:#3f51b5 url(../images/tick.svg?embed)}.mdl-checkbox.is-checked.is-disabled .mdl-checkbox__tick-outline,fieldset[disabled] .mdl-checkbox.is-checked .mdl-checkbox__tick-outline{background:rgba(0,0,0,.26) url(../images/tick.svg?embed)}.mdl-checkbox__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0}.mdl-checkbox.is-disabled .mdl-checkbox__label,fieldset[disabled] .mdl-checkbox .mdl-checkbox__label{color:rgba(0,0,0,.26);cursor:auto}.mdl-checkbox__ripple-container{position:absolute;z-index:2;top:-6px;left:-10px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-checkbox__ripple-container .mdl-ripple{background:#3f51b5}.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container,fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container{cursor:auto}.mdl-checkbox.is-disabled .mdl-checkbox__ripple-container .mdl-ripple,fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple{background:transparent}.mdl-chip{height:32px;font-family:Roboto,Helvetica,Arial,sans-serif;line-height:32px;padding:0 12px;border:0;border-radius:16px;background-color:#dedede;display:inline-block;color:rgba(0,0,0,.87);margin:2px 0;font-size:0;white-space:nowrap}.mdl-chip__action,.mdl-chip__text{font-size:13px;vertical-align:middle;display:inline-block}.mdl-chip__action{height:24px;width:24px;background:transparent;opacity:.54;cursor:pointer;text-align:center;padding:0;margin:0 0 0 4px;text-decoration:none;color:rgba(0,0,0,.87);border:none;outline:none;overflow:hidden}.mdl-chip__contact{height:32px;width:32px;border-radius:16px;display:inline-block;vertical-align:middle;margin-right:8px;overflow:hidden;text-align:center;font-size:18px;line-height:32px}.mdl-chip:focus{outline:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-chip:active{background-color:#d6d6d6}.mdl-chip--deletable{padding-right:4px}.mdl-chip--contact{padding-left:0}.mdl-data-table{position:relative;border:1px solid rgba(0,0,0,.12);border-collapse:collapse;white-space:nowrap;font-size:13px;background-color:#fff}.mdl-data-table thead{padding-bottom:3px}.mdl-data-table thead .mdl-data-table__select{margin-top:0}.mdl-data-table tbody tr{position:relative;height:48px;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:background-color}.mdl-data-table tbody tr.is-selected{background-color:#e0e0e0}.mdl-data-table tbody tr:hover{background-color:#eee}.mdl-data-table td,.mdl-data-table th{padding:0 18px 12px;text-align:right}.mdl-data-table td:first-of-type,.mdl-data-table th:first-of-type{padding-left:24px}.mdl-data-table td:last-of-type,.mdl-data-table th:last-of-type{padding-right:24px}.mdl-data-table td{position:relative;height:48px;border-top:1px solid rgba(0,0,0,.12);border-bottom:1px solid rgba(0,0,0,.12);padding-top:12px;box-sizing:border-box}.mdl-data-table td,.mdl-data-table td .mdl-data-table__select{vertical-align:middle}.mdl-data-table th{position:relative;vertical-align:bottom;text-overflow:ellipsis;font-size:14px;font-weight:700;line-height:24px;letter-spacing:0;height:48px;font-size:12px;color:rgba(0,0,0,.54);padding-bottom:8px;box-sizing:border-box}.mdl-data-table th.mdl-data-table__header--sorted-ascending,.mdl-data-table th.mdl-data-table__header--sorted-descending{color:rgba(0,0,0,.87)}.mdl-data-table th.mdl-data-table__header--sorted-ascending:before,.mdl-data-table th.mdl-data-table__header--sorted-descending:before{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;word-wrap:normal;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-size:16px;content:"\e5d8";margin-right:5px;vertical-align:sub}.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover,.mdl-data-table th.mdl-data-table__header--sorted-descending:hover{cursor:pointer}.mdl-data-table th.mdl-data-table__header--sorted-ascending:hover:before,.mdl-data-table th.mdl-data-table__header--sorted-descending:hover:before{color:rgba(0,0,0,.26)}.mdl-data-table th.mdl-data-table__header--sorted-descending:before{content:"\e5db"}.mdl-data-table__select{width:16px}.mdl-data-table__cell--non-numeric.mdl-data-table__cell--non-numeric{text-align:left}.mdl-dialog{border:none;box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2);width:280px}.mdl-dialog__title{padding:24px 24px 0;margin:0;font-size:2.5rem}.mdl-dialog__actions{padding:8px 8px 8px 24px;display:flex;flex-direction:row-reverse;flex-wrap:wrap}.mdl-dialog__actions>*{margin-right:8px;height:36px}.mdl-dialog__actions>:first-child{margin-right:0}.mdl-dialog__actions--full-width{padding:0 0 8px}.mdl-dialog__actions--full-width>*{height:48px;flex:0 0 100%;padding-right:16px;margin-right:0;text-align:right}.mdl-dialog__content{padding:20px 24px 24px;color:rgba(0,0,0,.54)}.mdl-mega-footer{padding:16px 40px;color:#9e9e9e;background-color:#424242}.mdl-mega-footer--bottom-section:after,.mdl-mega-footer--middle-section:after,.mdl-mega-footer--top-section:after,.mdl-mega-footer__bottom-section:after,.mdl-mega-footer__middle-section:after,.mdl-mega-footer__top-section:after{content:"";display:block;clear:both}.mdl-mega-footer--left-section,.mdl-mega-footer--right-section,.mdl-mega-footer__left-section,.mdl-mega-footer__right-section{margin-bottom:16px}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:block;margin-bottom:16px;color:inherit;text-decoration:none}@media screen and (min-width:760px){.mdl-mega-footer--left-section,.mdl-mega-footer__left-section{float:left}.mdl-mega-footer--right-section,.mdl-mega-footer__right-section{float:right}.mdl-mega-footer--right-section a,.mdl-mega-footer__right-section a{display:inline-block;margin-left:16px;line-height:36px;vertical-align:middle}}.mdl-mega-footer--social-btn,.mdl-mega-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{display:block;position:relative}@media screen and (min-width:760px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer__drop-down-section{width:33%}.mdl-mega-footer--drop-down-section:first-child,.mdl-mega-footer--drop-down-section:nth-child(2),.mdl-mega-footer__drop-down-section:first-child,.mdl-mega-footer__drop-down-section:nth-child(2){float:left}.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(3){float:right}.mdl-mega-footer--drop-down-section:nth-child(3):after,.mdl-mega-footer__drop-down-section:nth-child(3):after{clear:right}.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section:nth-child(4){clear:right;float:right}.mdl-mega-footer--middle-section:after,.mdl-mega-footer__middle-section:after{content:"";display:block;clear:both}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:0}}@media screen and (min-width:1024px){.mdl-mega-footer--drop-down-section,.mdl-mega-footer--drop-down-section:nth-child(3),.mdl-mega-footer--drop-down-section:nth-child(4),.mdl-mega-footer__drop-down-section,.mdl-mega-footer__drop-down-section:nth-child(3),.mdl-mega-footer__drop-down-section:nth-child(4){width:24%;float:left}}.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{position:absolute;width:100%;height:55.8px;padding:32px;margin:0;margin-top:-16px;cursor:pointer;z-index:1;opacity:0}.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after{font-family:Material Icons;content:"\E5CE"}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list{display:none}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{font-family:Material Icons;content:"\E5CF"}.mdl-mega-footer--heading,.mdl-mega-footer__heading{position:relative;width:100%;padding-right:39.8px;margin-bottom:16px;box-sizing:border-box;font-size:14px;line-height:23.8px;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#e0e0e0}.mdl-mega-footer--heading:after,.mdl-mega-footer__heading:after{content:"";position:absolute;top:0;right:0;display:block;width:23.8px;height:23.8px;background-size:cover}.mdl-mega-footer--link-list,.mdl-mega-footer__link-list{list-style:none;margin:0;padding:0;margin-bottom:32px}.mdl-mega-footer--link-list:after,.mdl-mega-footer__link-list:after{clear:both;display:block;content:""}.mdl-mega-footer--link-list li,.mdl-mega-footer__link-list li{font-size:14px;font-weight:400;line-height:24px;letter-spacing:0;line-height:20px}.mdl-mega-footer--link-list a,.mdl-mega-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}@media screen and (min-width:760px){.mdl-mega-footer--heading-checkbox,.mdl-mega-footer__heading-checkbox{display:none}.mdl-mega-footer--heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox+.mdl-mega-footer__heading:after{content:""}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer--heading-checkbox:checked~.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading+.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading+.mdl-mega-footer__link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer--link-list,.mdl-mega-footer__heading-checkbox:checked~.mdl-mega-footer__link-list{display:block}.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer--heading-checkbox:checked+.mdl-mega-footer__heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer--heading:after,.mdl-mega-footer__heading-checkbox:checked+.mdl-mega-footer__heading:after{content:""}}.mdl-mega-footer--bottom-section,.mdl-mega-footer__bottom-section{padding-top:16px;margin-bottom:16px}.mdl-logo{margin-bottom:16px;color:#fff}.mdl-mega-footer--bottom-section .mdl-mega-footer--link-list li,.mdl-mega-footer__bottom-section .mdl-mega-footer__link-list li{float:left;margin-bottom:0;margin-right:16px}@media screen and (min-width:760px){.mdl-logo{float:left;margin-bottom:0;margin-right:16px}}.mdl-mini-footer{display:flex;flex-flow:row wrap;justify-content:space-between;padding:32px 16px;color:#9e9e9e;background-color:#424242}.mdl-mini-footer:after{content:"";display:block}.mdl-mini-footer .mdl-logo{line-height:36px}.mdl-mini-footer--link-list,.mdl-mini-footer__link-list{display:flex;flex-flow:row nowrap;list-style:none;margin:0;padding:0}.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{margin-bottom:0;margin-right:16px}@media screen and (min-width:760px){.mdl-mini-footer--link-list li,.mdl-mini-footer__link-list li{line-height:36px}}.mdl-mini-footer--link-list a,.mdl-mini-footer__link-list a{color:inherit;text-decoration:none;white-space:nowrap}.mdl-mini-footer--left-section,.mdl-mini-footer__left-section{display:inline-block;order:0}.mdl-mini-footer--right-section,.mdl-mini-footer__right-section{display:inline-block;order:1}.mdl-mini-footer--social-btn,.mdl-mini-footer__social-btn{width:36px;height:36px;padding:0;margin:0;background-color:#9e9e9e;border:none}.mdl-icon-toggle{position:relative;z-index:1;vertical-align:middle;display:inline-block;height:32px;margin:0;padding:0}.mdl-icon-toggle__input{line-height:32px}.mdl-icon-toggle.is-upgraded .mdl-icon-toggle__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-icon-toggle__label{display:inline-block;position:relative;cursor:pointer;height:32px;width:32px;min-width:32px;color:#616161;border-radius:50%;padding:0;margin-left:0;margin-right:0;text-align:center;background-color:transparent;will-change:background-color;transition:background-color .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1)}.mdl-icon-toggle__label.material-icons{line-height:32px;font-size:24px}.mdl-icon-toggle.is-checked .mdl-icon-toggle__label{color:#3f51b5}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__label{color:rgba(0,0,0,.26);cursor:auto;transition:none}.mdl-icon-toggle.is-focused .mdl-icon-toggle__label{background-color:rgba(0,0,0,.12)}.mdl-icon-toggle.is-focused.is-checked .mdl-icon-toggle__label{background-color:rgba(63,81,181,.26)}.mdl-icon-toggle__ripple-container{position:absolute;z-index:2;top:-2px;left:-2px;box-sizing:border-box;width:36px;height:36px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}.mdl-icon-toggle__ripple-container .mdl-ripple{background:#616161}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container{cursor:auto}.mdl-icon-toggle.is-disabled .mdl-icon-toggle__ripple-container .mdl-ripple{background:transparent}.mdl-list{display:block;padding:8px 0;list-style:none}.mdl-list__item{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;line-height:24px;letter-spacing:.04em;line-height:1;display:flex;min-height:48px;box-sizing:border-box;flex-direction:row;flex-wrap:nowrap;align-items:center;padding:16px;cursor:default;color:rgba(0,0,0,.87);overflow:hidden}.mdl-list__item .mdl-list__item-primary-content{order:0;flex-grow:2;text-decoration:none;box-sizing:border-box;display:flex;align-items:center}.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-icon{margin-right:32px}.mdl-list__item .mdl-list__item-primary-content .mdl-list__item-avatar{margin-right:16px}.mdl-list__item .mdl-list__item-secondary-content{display:flex;flex-flow:column;align-items:flex-end;margin-left:16px}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-action label{display:inline}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-secondary-info{font-size:12px;font-weight:400;line-height:1;letter-spacing:0;color:rgba(0,0,0,.54)}.mdl-list__item .mdl-list__item-secondary-content .mdl-list__item-sub-header{padding:0 0 0 16px}.mdl-list__item-icon,.mdl-list__item-icon.material-icons{height:24px;width:24px;font-size:24px;box-sizing:border-box;color:#757575}.mdl-list__item-avatar,.mdl-list__item-avatar.material-icons{height:40px;width:40px;box-sizing:border-box;border-radius:50%;background-color:#757575;font-size:40px;color:#fff}.mdl-list__item--two-line{height:72px}.mdl-list__item--two-line .mdl-list__item-primary-content{height:36px;line-height:20px;display:block}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-avatar{float:left}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left;margin-top:6px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-secondary-content{height:36px}.mdl-list__item--two-line .mdl-list__item-primary-content .mdl-list__item-sub-title{font-size:14px;font-weight:400;line-height:24px;letter-spacing:0;line-height:18px;color:rgba(0,0,0,.54);display:block;padding:0}.mdl-list__item--three-line{height:88px}.mdl-list__item--three-line .mdl-list__item-primary-content{height:52px;line-height:20px;display:block}.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-avatar,.mdl-list__item--three-line .mdl-list__item-primary-content .mdl-list__item-icon{float:left}.mdl-list__item--three-line .mdl-list__item-secondary-content{height:52px}.mdl-list__item--three-line .mdl-list__item-text-body{font-size:14px;font-weight:400;line-height:24px;letter-spacing:0;line-height:18px;height:52px;color:rgba(0,0,0,.54);display:block;padding:0}.mdl-menu__container{display:block;margin:0;padding:0;border:none;position:absolute;overflow:visible;height:0;width:0;visibility:hidden;z-index:-1}.mdl-menu__container.is-animating,.mdl-menu__container.is-visible{z-index:999;visibility:visible}.mdl-menu__outline{display:block;background:#fff;margin:0;padding:0;border:none;border-radius:2px;position:absolute;top:0;left:0;overflow:hidden;opacity:0;transform:scale(0);transform-origin:0 0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);will-change:transform;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1);z-index:-1}.mdl-menu__container.is-visible .mdl-menu__outline{opacity:1;transform:scale(1);z-index:999}.mdl-menu__outline.mdl-menu--bottom-right{transform-origin:100% 0}.mdl-menu__outline.mdl-menu--top-left{transform-origin:0 100%}.mdl-menu__outline.mdl-menu--top-right{transform-origin:100% 100%}.mdl-menu{position:absolute;list-style:none;top:0;left:0;height:auto;width:auto;min-width:124px;padding:8px 0;margin:0;opacity:0;clip:rect(0 0 0 0);z-index:-1}.mdl-menu__container.is-visible .mdl-menu{opacity:1;z-index:999}.mdl-menu.is-animating{transition:opacity .2s cubic-bezier(.4,0,.2,1),clip .3s cubic-bezier(.4,0,.2,1)}.mdl-menu.mdl-menu--bottom-right{left:auto;right:0}.mdl-menu.mdl-menu--top-left{top:auto;bottom:0}.mdl-menu.mdl-menu--top-right{top:auto;left:auto;bottom:0;right:0}.mdl-menu.mdl-menu--unaligned{top:auto;left:auto}.mdl-menu__item{display:block;border:none;color:rgba(0,0,0,.87);background-color:transparent;text-align:left;margin:0;padding:0 16px;outline-color:#bdbdbd;position:relative;overflow:hidden;font-size:14px;font-weight:400;line-height:24px;letter-spacing:0;text-decoration:none;cursor:pointer;height:48px;line-height:48px;white-space:nowrap;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-menu__container.is-visible .mdl-menu__item{opacity:1}.mdl-menu__item::-moz-focus-inner{border:0}.mdl-menu__item--full-bleed-divider{border-bottom:1px solid rgba(0,0,0,.12)}.mdl-menu__item[data-mdl-disabled],.mdl-menu__item[disabled]{color:#bdbdbd;background-color:transparent;cursor:auto}.mdl-menu__item[data-mdl-disabled]:focus,.mdl-menu__item[data-mdl-disabled]:hover,.mdl-menu__item[disabled]:focus,.mdl-menu__item[disabled]:hover{background-color:transparent}.mdl-menu__item[data-mdl-disabled] .mdl-ripple,.mdl-menu__item[disabled] .mdl-ripple{background:transparent}.mdl-menu__item:hover{background-color:#eee}.mdl-menu__item:focus{outline:none;background-color:#eee}.mdl-menu__item:active{background-color:#e0e0e0}.mdl-menu__item--ripple-container{display:block;height:100%;left:0;position:absolute;top:0;width:100%;z-index:0;overflow:hidden}.mdl-progress{display:block;position:relative;height:4px;width:500px;max-width:100%}.mdl-progress>.bar{display:block;position:absolute;top:0;bottom:0;width:0;transition:width .2s cubic-bezier(.4,0,.2,1)}.mdl-progress>.progressbar{background-color:#3f51b5;z-index:1;left:0}.mdl-progress>.bufferbar{background-image:linear-gradient(90deg,hsla(0,0%,100%,.7),hsla(0,0%,100%,.7)),linear-gradient(90deg,#3f51b5,#3f51b5);z-index:0;left:0}.mdl-progress>.auxbar{right:0}@supports (-webkit-appearance:none){.mdl-progress:not(.mdl-progress--indeterminate):not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate):not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(90deg,hsla(0,0%,100%,.7),hsla(0,0%,100%,.7)),linear-gradient(90deg,#3f51b5,#3f51b5);-webkit-mask:url(../images/buffer.svg?embed);mask:url(../images/buffer.svg?embed)}}.mdl-progress:not(.mdl-progress--indeterminate)>.auxbar,.mdl-progress:not(.mdl-progress__indeterminate)>.auxbar{background-image:linear-gradient(90deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.9)),linear-gradient(90deg,#3f51b5,#3f51b5)}.mdl-progress.mdl-progress--indeterminate>.bar1,.mdl-progress.mdl-progress__indeterminate>.bar1{background-color:#3f51b5;animation-name:b;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear}.mdl-progress.mdl-progress--indeterminate>.bar3,.mdl-progress.mdl-progress__indeterminate>.bar3{background-image:none;background-color:#3f51b5;animation-name:c;animation-duration:2s;animation-iteration-count:infinite;animation-timing-function:linear}@keyframes b{0%{left:0;width:0}50%{left:25%;width:75%}75%{left:100%;width:0}}@keyframes c{0%{left:0;width:0}50%{left:0;width:0}75%{left:0;width:25%}to{left:100%;width:0}}.mdl-navigation{display:flex;flex-wrap:nowrap;box-sizing:border-box}.mdl-navigation__link{color:#424242;text-decoration:none;margin:0;font-size:14px;font-weight:400;line-height:24px;letter-spacing:0;opacity:.87}.mdl-navigation__link .material-icons{vertical-align:middle}.mdl-layout{width:100%;height:100%;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch}.mdl-layout.is-small-screen .mdl-layout--large-screen-only,.mdl-layout:not(.is-small-screen) .mdl-layout--small-screen-only{display:none}.mdl-layout__container{position:absolute;width:100%;height:100%}.mdl-layout-title,.mdl-layout__title{display:block;position:relative;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:20px;font-weight:500;line-height:1;letter-spacing:.02em;font-weight:400;box-sizing:border-box}.mdl-layout-spacer{flex-grow:1}.mdl-layout__drawer{display:flex;flex-direction:column;flex-wrap:nowrap;width:240px;height:100%;max-height:100%;position:absolute;top:0;left:0;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);box-sizing:border-box;border-right:1px solid #e0e0e0;background:#fafafa;transform:translateX(-250px);transform-style:preserve-3d;will-change:transform;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform;color:#424242;overflow:visible;overflow-y:auto;z-index:5}.mdl-layout__drawer.is-visible{transform:translateX(0)}.mdl-layout__drawer.is-visible~.mdl-layout__content.mdl-layout__content{overflow:hidden}.mdl-layout__drawer>*{flex-shrink:0}.mdl-layout__drawer>.mdl-layout-title,.mdl-layout__drawer>.mdl-layout__title{line-height:64px;padding-left:40px}@media screen and (max-width:1024px){.mdl-layout__drawer>.mdl-layout-title,.mdl-layout__drawer>.mdl-layout__title{line-height:56px;padding-left:16px}}.mdl-layout__drawer .mdl-navigation{flex-direction:column;align-items:stretch;padding-top:16px}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{display:block;flex-shrink:0;padding:16px 40px;margin:0;color:#757575}@media screen and (max-width:1024px){.mdl-layout__drawer .mdl-navigation .mdl-navigation__link{padding:16px}}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link:hover{background-color:#e0e0e0}.mdl-layout__drawer .mdl-navigation .mdl-navigation__link--current{background-color:#e0e0e0;color:#000}@media screen and (min-width:1025px){.mdl-layout--fixed-drawer>.mdl-layout__drawer{transform:translateX(0)}}.mdl-layout__drawer-button{display:block;position:absolute;height:48px;width:48px;border:0;flex-shrink:0;overflow:hidden;text-align:center;cursor:pointer;font-size:26px;line-height:56px;font-family:Helvetica,Arial,sans-serif;margin:8px 12px;top:0;left:0;color:#fff;z-index:4}.mdl-layout__header .mdl-layout__drawer-button{position:absolute;color:#fff;background-color:inherit}@media screen and (max-width:1024px){.mdl-layout__header .mdl-layout__drawer-button{margin:4px}}@media screen and (max-width:1024px){.mdl-layout__drawer-button{margin:4px;color:rgba(0,0,0,.5)}}@media screen and (min-width:1025px){.mdl-layout__drawer-button{line-height:54px}.mdl-layout--fixed-drawer>.mdl-layout__drawer-button,.mdl-layout--no-desktop-drawer-button .mdl-layout__drawer-button,.mdl-layout--no-drawer-button .mdl-layout__drawer-button{display:none}}.mdl-layout__header{display:flex;flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;box-sizing:border-box;flex-shrink:0;width:100%;margin:0;padding:0;border:none;min-height:64px;max-height:1000px;z-index:3;background-color:#3f51b5;color:#fff;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:max-height,box-shadow}@media screen and (max-width:1024px){.mdl-layout__header{min-height:56px}}.mdl-layout--fixed-drawer.is-upgraded:not(.is-small-screen)>.mdl-layout__header{margin-left:240px;width:calc(100% - 240px)}@media screen and (min-width:1025px){.mdl-layout--fixed-drawer>.mdl-layout__header .mdl-layout__header-row{padding-left:40px}}.mdl-layout__header>.mdl-layout-icon{position:absolute;left:40px;top:16px;height:32px;width:32px;overflow:hidden;z-index:3;display:block}@media screen and (max-width:1024px){.mdl-layout__header>.mdl-layout-icon{left:16px;top:12px}}.mdl-layout.has-drawer .mdl-layout__header>.mdl-layout-icon{display:none}.mdl-layout__header.is-compact{max-height:64px}@media screen and (max-width:1024px){.mdl-layout__header.is-compact{max-height:56px}}.mdl-layout__header.is-compact.has-tabs{height:112px}@media screen and (max-width:1024px){.mdl-layout__header.is-compact.has-tabs{min-height:104px}}@media screen and (max-width:1024px){.mdl-layout__header{display:none}.mdl-layout--fixed-header>.mdl-layout__header{display:flex}}.mdl-layout__header--transparent.mdl-layout__header--transparent{background-color:transparent;box-shadow:none}.mdl-layout__header--scroll,.mdl-layout__header--seamed{box-shadow:none}.mdl-layout__header--waterfall{box-shadow:none;overflow:hidden}.mdl-layout__header--waterfall.is-casting-shadow{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-layout__header--waterfall.mdl-layout__header--waterfall-hide-top{justify-content:flex-end}.mdl-layout__header-row{display:flex;flex-direction:row;flex-wrap:nowrap;flex-shrink:0;box-sizing:border-box;align-self:stretch;align-items:center;height:64px;margin:0;padding:0 40px 0 80px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:40px}@media screen and (min-width:1025px){.mdl-layout--no-desktop-drawer-button .mdl-layout__header-row{padding-left:40px}}@media screen and (max-width:1024px){.mdl-layout__header-row{height:56px;padding:0 16px 0 72px}.mdl-layout--no-drawer-button .mdl-layout__header-row{padding-left:16px}}.mdl-layout__header-row>*{flex-shrink:0}.mdl-layout__header--scroll .mdl-layout__header-row{width:100%}.mdl-layout__header-row .mdl-navigation{margin:0;padding:0;height:64px;flex-direction:row;align-items:center}@media screen and (max-width:1024px){.mdl-layout__header-row .mdl-navigation{height:56px}}.mdl-layout__header-row .mdl-navigation__link{display:block;color:#fff;line-height:64px;padding:0 24px}@media screen and (max-width:1024px){.mdl-layout__header-row .mdl-navigation__link{line-height:56px;padding:0 16px}}.mdl-layout__obfuscator{background-color:transparent;position:absolute;top:0;left:0;height:100%;width:100%;z-index:4;visibility:hidden;transition-property:background-color;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-layout__obfuscator.is-visible{background-color:rgba(0,0,0,.5);visibility:visible}@supports (pointer-events:auto){.mdl-layout__obfuscator{background-color:rgba(0,0,0,.5);opacity:0;transition-property:opacity;visibility:visible;pointer-events:none}.mdl-layout__obfuscator.is-visible{pointer-events:auto;opacity:1}}.mdl-layout__content{-ms-flex:0 1 auto;position:relative;display:inline-block;overflow-y:auto;overflow-x:hidden;flex-grow:1;z-index:1;-webkit-overflow-scrolling:touch}.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:240px}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow:visible}@media screen and (max-width:1024px){.mdl-layout--fixed-drawer>.mdl-layout__content{margin-left:0}.mdl-layout__container.has-scrolling-header .mdl-layout__content{overflow-y:auto;overflow-x:hidden}}.mdl-layout__tab-bar{height:96px;margin:0;width:calc(100% - 112px);padding:0 0 0 56px;display:flex;background-color:#3f51b5;overflow-y:hidden;overflow-x:scroll}.mdl-layout__tab-bar::-webkit-scrollbar{display:none}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{padding-left:16px;width:calc(100% - 32px)}@media screen and (min-width:1025px){.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar{padding-left:16px;width:calc(100% - 32px)}}@media screen and (max-width:1024px){.mdl-layout__tab-bar{width:calc(100% - 60px);padding:0 0 0 60px}.mdl-layout--no-drawer-button .mdl-layout__tab-bar{width:calc(100% - 8px);padding-left:4px}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar{padding:0;overflow:hidden;width:100%}.mdl-layout__tab-bar-container{position:relative;height:48px;width:100%;border:none;margin:0;z-index:2;flex-grow:0;flex-shrink:0;overflow:hidden}.mdl-layout__container>.mdl-layout__tab-bar-container{position:absolute;top:0;left:0}.mdl-layout__tab-bar-button{display:inline-block;position:absolute;top:0;height:48px;width:56px;z-index:4;text-align:center;background-color:#3f51b5;color:transparent;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button{width:16px}.mdl-layout--no-desktop-drawer-button .mdl-layout__tab-bar-button .material-icons,.mdl-layout--no-drawer-button .mdl-layout__tab-bar-button .material-icons{position:relative;left:-4px}@media screen and (max-width:1024px){.mdl-layout__tab-bar-button{width:60px}}.mdl-layout--fixed-tabs .mdl-layout__tab-bar-button{display:none}.mdl-layout__tab-bar-button .material-icons{line-height:48px}.mdl-layout__tab-bar-button.is-active{color:#fff}.mdl-layout__tab-bar-left-button{left:0}.mdl-layout__tab-bar-right-button{right:0}.mdl-layout__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;flex-grow:0;flex-shrink:0;text-decoration:none;height:48px;line-height:48px;text-align:center;font-weight:500;font-size:14px;text-transform:uppercase;color:hsla(0,0%,100%,.6);overflow:hidden}@media screen and (max-width:1024px){.mdl-layout__tab{padding:0 12px}}.mdl-layout--fixed-tabs .mdl-layout__tab{float:none;flex-grow:1;padding:0}.mdl-layout.is-upgraded .mdl-layout__tab.is-active{color:#fff}.mdl-layout.is-upgraded .mdl-layout__tab.is-active:after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:#ff4081;animation:l .2s cubic-bezier(.4,0,.4,1) .01s alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-layout__tab .mdl-layout__tab-ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-layout__tab .mdl-layout__tab-ripple-container .mdl-ripple{background-color:#fff}.mdl-layout__tab-panel{display:block}.mdl-layout.is-upgraded .mdl-layout__tab-panel{display:none}.mdl-layout.is-upgraded .mdl-layout__tab-panel.is-active{display:block}#contact .lets-talk .about-project .mdl-checkbox,.mdl-radio{position:relative;font-size:16px;line-height:24px;display:inline-block;vertical-align:middle;box-sizing:border-box;height:24px;margin:0;padding-left:0}#contact .lets-talk .about-project .is-upgraded.mdl-checkbox,.mdl-radio.is-upgraded{padding-left:24px}.mdl-radio__button{line-height:24px}#contact .lets-talk .about-project .is-upgraded.mdl-checkbox .mdl-radio__button,.mdl-radio.is-upgraded .mdl-radio__button{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__box-outline,.mdl-radio__outer-circle{position:absolute;top:4px;left:0;display:inline-block;box-sizing:border-box;width:16px;height:16px;margin:0;cursor:pointer;border:2px solid rgba(0,0,0,.54);border-radius:50%;z-index:2}#contact .lets-talk .about-project .is-checked.mdl-checkbox .mdl-checkbox__box-outline,#contact .lets-talk .about-project .is-checked.mdl-checkbox .mdl-radio__outer-circle,#contact .lets-talk .about-project .mdl-checkbox .mdl-radio.is-checked .mdl-checkbox__box-outline,.mdl-radio.is-checked #contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__box-outline,.mdl-radio.is-checked .mdl-radio__outer-circle{border:2px solid #3f51b5}#contact .lets-talk .about-project .is-disabled.mdl-checkbox .mdl-checkbox__box-outline,#contact .lets-talk .about-project .is-disabled.mdl-checkbox .mdl-radio__outer-circle,#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__box-outline fieldset[disabled] .mdl-checkbox,#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__box-outline fieldset[disabled] .mdl-radio,#contact .lets-talk .about-project .mdl-checkbox .mdl-radio.is-disabled .mdl-checkbox__box-outline,#contact .lets-talk .about-project .mdl-radio__outer-circle fieldset[disabled] .mdl-checkbox,.mdl-radio.is-disabled #contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__box-outline,.mdl-radio.is-disabled .mdl-radio__outer-circle,.mdl-radio__outer-circle fieldset[disabled] #contact .lets-talk .about-project .mdl-checkbox,.mdl-radio__outer-circle fieldset[disabled] .mdl-radio{border:2px solid rgba(0,0,0,.26);cursor:auto}.mdl-radio__inner-circle{position:absolute;z-index:1;margin:0;top:8px;left:4px;box-sizing:border-box;width:8px;height:8px;cursor:pointer;transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:transform;transform:scale(0);border-radius:50%;background:#3f51b5}#contact .lets-talk .about-project .is-checked.mdl-checkbox .mdl-radio__inner-circle,.mdl-radio.is-checked .mdl-radio__inner-circle{transform:scale(1)}#contact .lets-talk .about-project .is-disabled.mdl-checkbox .mdl-radio__inner-circle,#contact .lets-talk .about-project fieldset[disabled] .mdl-checkbox .mdl-radio__inner-circle,.mdl-radio.is-disabled .mdl-radio__inner-circle,fieldset[disabled] #contact .lets-talk .about-project .mdl-checkbox .mdl-radio__inner-circle,fieldset[disabled] .mdl-radio .mdl-radio__inner-circle{background:rgba(0,0,0,.26);cursor:auto}#contact .lets-talk .about-project .is-focused.mdl-checkbox .mdl-radio__inner-circle,.mdl-radio.is-focused .mdl-radio__inner-circle{box-shadow:0 0 0 10px rgba(0,0,0,.1)}.mdl-radio__label{cursor:pointer}#contact .lets-talk .about-project .is-disabled.mdl-checkbox .mdl-radio__label,#contact .lets-talk .about-project fieldset[disabled] .mdl-checkbox .mdl-radio__label,.mdl-radio.is-disabled .mdl-radio__label,fieldset[disabled] #contact .lets-talk .about-project .mdl-checkbox .mdl-radio__label,fieldset[disabled] .mdl-radio .mdl-radio__label{color:rgba(0,0,0,.26);cursor:auto}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__ripple-container,.mdl-radio__ripple-container{position:absolute;z-index:2;top:-9px;left:-13px;box-sizing:border-box;width:42px;height:42px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000)}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,.mdl-radio__ripple-container .mdl-ripple{background:#3f51b5}#contact .lets-talk .about-project .is-disabled.mdl-checkbox .mdl-checkbox__ripple-container,#contact .lets-talk .about-project .is-disabled.mdl-checkbox .mdl-radio__ripple-container,#contact .lets-talk .about-project .mdl-checkbox .mdl-radio.is-disabled .mdl-checkbox__ripple-container,#contact .lets-talk .about-project .mdl-checkbox fieldset[disabled] .mdl-radio .mdl-checkbox__ripple-container,#contact .lets-talk .about-project fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container,#contact .lets-talk .about-project fieldset[disabled] .mdl-checkbox .mdl-radio__ripple-container,.mdl-radio.is-disabled #contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__ripple-container,.mdl-radio.is-disabled .mdl-radio__ripple-container,fieldset[disabled] #contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__ripple-container,fieldset[disabled] #contact .lets-talk .about-project .mdl-checkbox .mdl-radio__ripple-container,fieldset[disabled] .mdl-radio .mdl-radio__ripple-container{cursor:auto}#contact .lets-talk .about-project .is-disabled.mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,#contact .lets-talk .about-project .is-disabled.mdl-checkbox .mdl-radio__ripple-container .mdl-ripple,#contact .lets-talk .about-project .mdl-checkbox .mdl-radio.is-disabled .mdl-checkbox__ripple-container .mdl-ripple,#contact .lets-talk .about-project .mdl-checkbox fieldset[disabled] .mdl-radio .mdl-checkbox__ripple-container .mdl-ripple,#contact .lets-talk .about-project fieldset[disabled] .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,#contact .lets-talk .about-project fieldset[disabled] .mdl-checkbox .mdl-radio__ripple-container .mdl-ripple,.mdl-radio.is-disabled #contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,.mdl-radio.is-disabled .mdl-radio__ripple-container .mdl-ripple,fieldset[disabled] #contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,fieldset[disabled] #contact .lets-talk .about-project .mdl-checkbox .mdl-radio__ripple-container .mdl-ripple,fieldset[disabled] .mdl-radio .mdl-radio__ripple-container .mdl-ripple{background:transparent}:root .mdl-slider.mdl-slider.is-upgraded,_:-ms-input-placeholder{-ms-appearance:none;height:32px;margin:0}.mdl-slider{width:calc(100% - 40px);margin:0 20px}.mdl-slider.is-upgraded{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:2px;background:transparent;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:0;padding:0;color:#3f51b5;-ms-grid-row-align:center;align-self:center;z-index:1;cursor:pointer}.mdl-slider.is-upgraded::-moz-focus-outer{border:0}.mdl-slider.is-upgraded::-ms-tooltip{display:none}.mdl-slider.is-upgraded::-webkit-slider-runnable-track{background:transparent}.mdl-slider.is-upgraded::-moz-range-track{background:transparent;border:none}.mdl-slider.is-upgraded::-ms-track{background:none;color:transparent;height:2px;width:100%;border:none}.mdl-slider.is-upgraded::-ms-fill-lower{padding:0;background:linear-gradient(90deg,transparent,transparent 16px,#3f51b5 0,#3f51b5 0)}.mdl-slider.is-upgraded::-ms-fill-upper{padding:0;background:linear-gradient(270deg,transparent,transparent 16px,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 0)}.mdl-slider.is-upgraded::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background:#3f51b5;border:none;transition:transform .18s cubic-bezier(.4,0,.2,1),border .18s cubic-bezier(.4,0,.2,1),box-shadow .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded::-moz-range-thumb{-moz-appearance:none;width:12px;height:12px;box-sizing:border-box;border-radius:50%;background-image:none;background:#3f51b5;border:none}.mdl-slider.is-upgraded:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(63,81,181,.26)}.mdl-slider.is-upgraded:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(63,81,181,.26)}.mdl-slider.is-upgraded:active::-webkit-slider-thumb{background-image:none;background:#3f51b5;transform:scale(1.5)}.mdl-slider.is-upgraded:active::-moz-range-thumb{background-image:none;background:#3f51b5;transform:scale(1.5)}.mdl-slider.is-upgraded::-ms-thumb{width:32px;height:32px;border:none;border-radius:50%;background:#3f51b5;transform:scale(.375);transition:transform .18s cubic-bezier(.4,0,.2,1),background .28s cubic-bezier(.4,0,.2,1)}.mdl-slider.is-upgraded:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,#3f51b5 0,#3f51b5 37.5%,rgba(63,81,181,.26) 0,rgba(63,81,181,.26) 100%);transform:scale(1)}.mdl-slider.is-upgraded:active::-ms-thumb{background:#3f51b5;transform:scale(.5625)}.mdl-slider.is-upgraded.is-lowest-value::-webkit-slider-thumb{border:2px solid rgba(0,0,0,.26);background:transparent}.mdl-slider.is-upgraded.is-lowest-value::-moz-range-thumb{border:2px solid rgba(0,0,0,.26);background:transparent}.mdl-slider.is-upgraded.is-lowest-value+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-webkit-slider-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-moz-range-thumb{box-shadow:0 0 0 10px rgba(0,0,0,.12);background:rgba(0,0,0,.12)}.mdl-slider.is-upgraded.is-lowest-value:active::-webkit-slider-thumb{border:1.6px solid rgba(0,0,0,.26);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value:active+.mdl-slider__background-flex>.mdl-slider__background-upper{left:9px}.mdl-slider.is-upgraded.is-lowest-value:active::-moz-range-thumb{border:1.5px solid rgba(0,0,0,.26);transform:scale(1.5)}.mdl-slider.is-upgraded.is-lowest-value::-ms-thumb{background:radial-gradient(circle closest-side,transparent 0,transparent 66.67%,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 100%)}.mdl-slider.is-upgraded.is-lowest-value:focus:not(:active)::-ms-thumb{background:radial-gradient(circle closest-side,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 25%,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 37.5%,rgba(0,0,0,.12) 0,rgba(0,0,0,.12) 100%);transform:scale(1)}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-thumb{transform:scale(.5625);background:radial-gradient(circle closest-side,transparent 0,transparent 77.78%,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 100%)}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-lower{background:transparent}.mdl-slider.is-upgraded.is-lowest-value::-ms-fill-upper{margin-left:6px}.mdl-slider.is-upgraded.is-lowest-value:active::-ms-fill-upper{margin-left:9px}.mdl-slider.is-upgraded:disabled::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded:disabled:focus::-webkit-slider-thumb{transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled::-moz-range-thumb,.mdl-slider.is-upgraded:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded:disabled:focus::-moz-range-thumb{transform:scale(.667);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-lower{background-color:rgba(0,0,0,.26);left:-6px}.mdl-slider.is-upgraded:disabled+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded.is-lowest-value:disabled::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-webkit-slider-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-webkit-slider-thumb{border:3px solid rgba(0,0,0,.26);background:transparent;transform:scale(.667)}.mdl-slider.is-upgraded.is-lowest-value:disabled::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-moz-range-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-moz-range-thumb{border:3px solid rgba(0,0,0,.26);background:transparent;transform:scale(.667)}.mdl-slider.is-upgraded.is-lowest-value:disabled:active+.mdl-slider__background-flex>.mdl-slider__background-upper{left:6px}.mdl-slider.is-upgraded:disabled::-ms-thumb,.mdl-slider.is-upgraded:disabled:active::-ms-thumb,.mdl-slider.is-upgraded:disabled:focus::-ms-thumb{transform:scale(.25);background:rgba(0,0,0,.26)}.mdl-slider.is-upgraded.is-lowest-value:disabled::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-thumb,.mdl-slider.is-upgraded.is-lowest-value:disabled:focus::-ms-thumb{transform:scale(.25);background:radial-gradient(circle closest-side,transparent 0,transparent 50%,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 100%)}.mdl-slider.is-upgraded:disabled::-ms-fill-lower{margin-right:6px;background:linear-gradient(90deg,transparent,transparent 25px,rgba(0,0,0,.26) 0,rgba(0,0,0,.26) 0)}.mdl-slider.is-upgraded.is-lowest-value:disabled:active::-ms-fill-upper,.mdl-slider.is-upgraded:disabled::-ms-fill-upper{margin-left:6px}.mdl-slider__ie-container{height:18px;overflow:visible;border:none;margin:none;padding:none}.mdl-slider__container{height:18px;position:relative;background:none;display:flex;flex-direction:row}.mdl-slider__background-flex{background:transparent;position:absolute;height:2px;width:calc(100% - 52px);top:50%;left:0;margin:0 26px;display:flex;overflow:hidden;border:0;padding:0;transform:translateY(-1px)}.mdl-slider__background-lower{background:#3f51b5;flex:0;position:relative;border:0;padding:0}.mdl-slider__background-upper{background:rgba(0,0,0,.26);flex:0;position:relative;border:0;padding:0;transition:left .18s cubic-bezier(.4,0,.2,1)}.mdl-snackbar{position:fixed;bottom:0;left:50%;cursor:default;background-color:#323232;z-index:3;display:block;display:flex;justify-content:space-between;font-family:Roboto,Helvetica,Arial,sans-serif;will-change:transform;transform:translateY(80px);transition:transform .25s cubic-bezier(.4,0,1,1);pointer-events:none}@media (max-width:479px){.mdl-snackbar{width:100%;left:0;min-height:48px;max-height:80px}}@media (min-width:480px){.mdl-snackbar{min-width:288px;max-width:568px;border-radius:2px;transform:translate(-50%,80px)}}.mdl-snackbar--active{transform:translate(0);pointer-events:auto;transition:transform .25s cubic-bezier(0,0,.2,1)}@media (min-width:480px){.mdl-snackbar--active{transform:translate(-50%)}}.mdl-snackbar__text{padding:14px 12px 14px 24px;vertical-align:middle;color:#fff;float:left}.mdl-snackbar__action{background:transparent;border:none;color:#ff4081;float:right;padding:14px 24px 14px 12px;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:14px;font-weight:500;text-transform:uppercase;line-height:1;letter-spacing:0;overflow:hidden;outline:none;opacity:0;pointer-events:none;cursor:pointer;text-decoration:none;text-align:center;-ms-grid-row-align:center;align-self:center}.mdl-snackbar__action::-moz-focus-inner{border:0}.mdl-snackbar__action:not([aria-hidden]){opacity:1;pointer-events:auto}.mdl-spinner{display:inline-block;position:relative;width:28px;height:28px}.mdl-spinner:not(.is-upgraded).is-active:after{content:"Loading..."}.mdl-spinner.is-upgraded.is-active{animation:d 1.56823529s linear infinite}@keyframes d{to{transform:rotate(1turn)}}.mdl-spinner__layer{position:absolute;width:100%;height:100%;opacity:0}.mdl-spinner__layer-1{border-color:#42a5f5}.mdl-spinner--single-color .mdl-spinner__layer-1{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-1{animation:e 5332ms cubic-bezier(.4,0,.2,1) infinite both,f 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__layer-2{border-color:#f44336}.mdl-spinner--single-color .mdl-spinner__layer-2{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-2{animation:e 5332ms cubic-bezier(.4,0,.2,1) infinite both,g 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__layer-3{border-color:#fdd835}.mdl-spinner--single-color .mdl-spinner__layer-3{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-3{animation:e 5332ms cubic-bezier(.4,0,.2,1) infinite both,h 5332ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__layer-4{border-color:#4caf50}.mdl-spinner--single-color .mdl-spinner__layer-4{border-color:#3f51b5}.mdl-spinner.is-active .mdl-spinner__layer-4{animation:e 5332ms cubic-bezier(.4,0,.2,1) infinite both,i 5332ms cubic-bezier(.4,0,.2,1) infinite both}@keyframes e{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(3turn)}}@keyframes f{0%{opacity:.99}25%{opacity:.99}26%{opacity:0}89%{opacity:0}90%{opacity:.99}to{opacity:.99}}@keyframes g{0%{opacity:0}15%{opacity:0}25%{opacity:.99}50%{opacity:.99}51%{opacity:0}}@keyframes h{0%{opacity:0}40%{opacity:0}50%{opacity:.99}75%{opacity:.99}76%{opacity:0}}@keyframes i{0%{opacity:0}65%{opacity:0}75%{opacity:.99}90%{opacity:.99}to{opacity:0}}.mdl-spinner__gap-patch{position:absolute;box-sizing:border-box;top:0;left:45%;width:10%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__gap-patch .mdl-spinner__circle{width:1000%;left:-450%}.mdl-spinner__circle-clipper{display:inline-block;position:relative;width:50%;height:100%;overflow:hidden;border-color:inherit}.mdl-spinner__circle-clipper.mdl-spinner__left{float:left}.mdl-spinner__circle-clipper.mdl-spinner__right{float:right}.mdl-spinner__circle-clipper .mdl-spinner__circle{width:200%}.mdl-spinner__circle{box-sizing:border-box;height:100%;border-width:3px;border-style:solid;border-color:inherit;border-bottom-color:transparent!important;border-radius:50%;animation:none;position:absolute;top:0;right:0;bottom:0;left:0}.mdl-spinner__left .mdl-spinner__circle{border-right-color:transparent!important;transform:rotate(129deg)}.mdl-spinner.is-active .mdl-spinner__left .mdl-spinner__circle{animation:j 1333ms cubic-bezier(.4,0,.2,1) infinite both}.mdl-spinner__right .mdl-spinner__circle{left:-100%;border-left-color:transparent!important;transform:rotate(-129deg)}.mdl-spinner.is-active .mdl-spinner__right .mdl-spinner__circle{animation:k 1333ms cubic-bezier(.4,0,.2,1) infinite both}@keyframes j{0%{transform:rotate(130deg)}50%{transform:rotate(-5deg)}to{transform:rotate(130deg)}}@keyframes k{0%{transform:rotate(-130deg)}50%{transform:rotate(5deg)}to{transform:rotate(-130deg)}}.mdl-switch{position:relative;z-index:1;vertical-align:middle;display:inline-block;box-sizing:border-box;width:100%;height:24px;margin:0;padding:0;overflow:visible;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mdl-switch.is-upgraded{padding-left:28px}.mdl-switch__input{line-height:24px}.mdl-switch.is-upgraded .mdl-switch__input{position:absolute;width:0;height:0;margin:0;padding:0;opacity:0;-ms-appearance:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;border:none}.mdl-switch__track{background:rgba(0,0,0,.26);position:absolute;left:0;top:5px;height:14px;width:36px;border-radius:14px;cursor:pointer}.mdl-switch.is-checked .mdl-switch__track{background:rgba(63,81,181,.5)}.mdl-switch.is-disabled .mdl-switch__track,.mdl-switch__track fieldset[disabled] .mdl-switch{background:rgba(0,0,0,.12);cursor:auto}.mdl-switch__thumb{background:#fafafa;position:absolute;left:0;top:2px;height:20px;width:20px;border-radius:50%;cursor:pointer;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);transition-duration:.28s;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-property:left}.mdl-switch.is-checked .mdl-switch__thumb{background:#3f51b5;left:16px;box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-switch.is-disabled .mdl-switch__thumb,.mdl-switch__thumb fieldset[disabled] .mdl-switch{background:#bdbdbd;cursor:auto}.mdl-switch__focus-helper{position:absolute;top:50%;left:50%;transform:translate(-4px,-4px);display:inline-block;box-sizing:border-box;width:8px;height:8px;border-radius:50%;background-color:transparent}.mdl-switch.is-focused .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(0,0,0,.1);background-color:rgba(0,0,0,.1)}.mdl-switch.is-focused.is-checked .mdl-switch__focus-helper{box-shadow:0 0 0 20px rgba(63,81,181,.26);background-color:rgba(63,81,181,.26)}.mdl-switch__label{position:relative;cursor:pointer;font-size:16px;line-height:24px;margin:0;left:24px}.mdl-switch.is-disabled .mdl-switch__label,.mdl-switch__label fieldset[disabled] .mdl-switch{color:#bdbdbd;cursor:auto}.mdl-switch__ripple-container{position:absolute;z-index:2;top:-12px;left:-14px;box-sizing:border-box;width:48px;height:48px;border-radius:50%;cursor:pointer;overflow:hidden;-webkit-mask-image:-webkit-radial-gradient(circle,#fff,#000);transition-duration:.4s;transition-timing-function:step-end;transition-property:left}.mdl-switch__ripple-container .mdl-ripple{background:#3f51b5}.mdl-switch.is-disabled .mdl-switch__ripple-container,.mdl-switch__ripple-container fieldset[disabled] .mdl-switch{cursor:auto}.mdl-switch.is-disabled .mdl-switch__ripple-container .mdl-ripple,fieldset[disabled] .mdl-switch .mdl-switch__ripple-container .mdl-ripple{background:transparent}.mdl-switch.is-checked .mdl-switch__ripple-container{left:2px}.mdl-tabs{display:block;width:100%}.mdl-tabs__tab-bar{display:flex;flex-direction:row;justify-content:center;align-content:space-between;align-items:flex-start;height:48px;padding:0;margin:0;border-bottom:1px solid #e0e0e0}.mdl-tabs__tab{margin:0;border:none;padding:0 24px;float:left;position:relative;display:block;text-decoration:none;height:48px;line-height:48px;text-align:center;font-weight:500;font-size:14px;text-transform:uppercase;color:rgba(0,0,0,.54);overflow:hidden}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active{color:rgba(0,0,0,.87)}.mdl-tabs.is-upgraded .mdl-tabs__tab.is-active:after{height:2px;width:100%;display:block;content:" ";bottom:0;left:0;position:absolute;background:#3f51b5;animation:l .2s cubic-bezier(.4,0,.4,1) .01s alternate forwards;transition:all 1s cubic-bezier(.4,0,1,1)}.mdl-tabs__tab .mdl-tabs__ripple-container{display:block;position:absolute;height:100%;width:100%;left:0;top:0;z-index:1;overflow:hidden}.mdl-tabs__tab .mdl-tabs__ripple-container .mdl-ripple{background:#3f51b5}.mdl-tabs__panel{display:block}.mdl-tabs.is-upgraded .mdl-tabs__panel{display:none}.mdl-tabs.is-upgraded .mdl-tabs__panel.is-active{display:block}@keyframes l{0%{opacity:0;width:0}to{opacity:1;width:100%}}.mdl-textfield{position:relative;font-size:16px;display:inline-block;box-sizing:border-box;width:300px;max-width:100%;margin:0;padding:20px 0}.mdl-textfield .mdl-button{position:absolute;bottom:20px}.mdl-textfield--align-right{text-align:right}.mdl-textfield--full-width{width:100%}.mdl-textfield--expandable{min-width:32px;width:auto;min-height:32px}.mdl-textfield--expandable .mdl-button--icon{top:16px}.mdl-textfield__input{border:none;border-bottom:1px solid rgba(0,0,0,.12);display:block;font-size:16px;font-family:Helvetica,Arial,sans-serif;margin:0;padding:4px 0;width:100%;background:none;text-align:left;color:inherit}.mdl-textfield__input[type=number]{-moz-appearance:textfield}.mdl-textfield__input[type=number]::-webkit-inner-spin-button,.mdl-textfield__input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.mdl-textfield.is-focused .mdl-textfield__input{outline:none}.mdl-textfield.is-invalid .mdl-textfield__input{border-color:#d50000;box-shadow:none}.mdl-textfield.is-disabled .mdl-textfield__input,fieldset[disabled] .mdl-textfield .mdl-textfield__input{background-color:transparent;border-bottom:1px dotted rgba(0,0,0,.12);color:rgba(0,0,0,.26)}.mdl-textfield textarea.mdl-textfield__input{display:block}.mdl-textfield__label{bottom:0;color:rgba(0,0,0,.26);font-size:16px;left:0;right:0;pointer-events:none;position:absolute;display:block;top:24px;width:100%;overflow:hidden;white-space:nowrap;text-align:left}.mdl-textfield.has-placeholder .mdl-textfield__label,.mdl-textfield.is-dirty .mdl-textfield__label{visibility:hidden}.mdl-textfield--floating-label .mdl-textfield__label{transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label{transition:none}.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label,fieldset[disabled] .mdl-textfield .mdl-textfield__label{color:rgba(0,0,0,.26)}.mdl-textfield--floating-label.has-placeholder .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__label,.mdl-textfield--floating-label.is-focused .mdl-textfield__label{color:#3f51b5;font-size:12px;top:4px;visibility:visible}.mdl-textfield--floating-label.has-placeholder .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.is-dirty .mdl-textfield__expandable-holder .mdl-textfield__label,.mdl-textfield--floating-label.is-focused .mdl-textfield__expandable-holder .mdl-textfield__label{top:-16px}.mdl-textfield--floating-label.is-invalid .mdl-textfield__label{color:#d50000;font-size:12px}.mdl-textfield__label:after{background-color:#3f51b5;bottom:20px;content:"";height:2px;left:45%;position:absolute;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);visibility:hidden;width:10px}.mdl-textfield.is-focused .mdl-textfield__label:after{left:0;visibility:visible;width:100%}.mdl-textfield.is-invalid .mdl-textfield__label:after{background-color:#d50000}.mdl-textfield__error{color:#d50000;position:absolute;font-size:12px;margin-top:3px;visibility:hidden;display:block}.mdl-textfield.is-invalid .mdl-textfield__error{visibility:visible}.mdl-textfield__expandable-holder{position:relative;margin-left:32px;transition-duration:.2s;transition-timing-function:cubic-bezier(.4,0,.2,1);display:inline-block;max-width:.1px}.mdl-textfield.is-dirty .mdl-textfield__expandable-holder,.mdl-textfield.is-focused .mdl-textfield__expandable-holder{max-width:600px}.mdl-textfield__expandable-holder .mdl-textfield__label:after{bottom:0}.mdl-tooltip{transform:scale(0);transform-origin:top center;z-index:999;background:rgba(97,97,97,.9);border-radius:2px;color:#fff;display:inline-block;font-size:10px;font-weight:500;line-height:14px;max-width:170px;position:fixed;top:-500px;left:-500px;padding:8px;text-align:center}.mdl-tooltip.is-active{animation:m .2s cubic-bezier(0,0,.2,1) forwards}.mdl-tooltip--large{line-height:14px;font-size:14px;padding:16px}@keyframes m{0%{transform:scale(0);opacity:0}50%{transform:scale(.99)}to{transform:scale(1);opacity:1;visibility:visible}}.mdl-shadow--2dp{box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12)}.mdl-shadow--3dp{box-shadow:0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.2),0 1px 8px 0 rgba(0,0,0,.12)}.mdl-shadow--4dp{box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2)}.mdl-shadow--6dp{box-shadow:0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12),0 3px 5px -1px rgba(0,0,0,.2)}.mdl-shadow--8dp{box-shadow:0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12),0 5px 5px -3px rgba(0,0,0,.2)}.mdl-shadow--16dp{box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.2)}.mdl-shadow--24dp{box-shadow:0 9px 46px 8px rgba(0,0,0,.14),0 11px 15px -7px rgba(0,0,0,.12),0 24px 38px 3px rgba(0,0,0,.2)}.mdl-grid{display:flex;flex-flow:row wrap;margin:0 auto;align-items:stretch}.mdl-grid.mdl-grid--no-spacing{padding:0}.mdl-cell{box-sizing:border-box}.mdl-cell--top{align-self:flex-start}.mdl-cell--middle{-ms-grid-row-align:center;align-self:center}.mdl-cell--bottom{align-self:flex-end}.mdl-cell--stretch{-ms-grid-row-align:stretch;align-self:stretch}.mdl-grid.mdl-grid--no-spacing>.mdl-cell{margin:0}.mdl-cell--order-1{order:1}.mdl-cell--order-2{order:2}.mdl-cell--order-3{order:3}.mdl-cell--order-4{order:4}.mdl-cell--order-5{order:5}.mdl-cell--order-6{order:6}.mdl-cell--order-7{order:7}.mdl-cell--order-8{order:8}.mdl-cell--order-9{order:9}.mdl-cell--order-10{order:10}.mdl-cell--order-11{order:11}.mdl-cell--order-12{order:12}@media (max-width:479px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:100%}.mdl-cell--hide-phone{display:none!important}.mdl-cell--order-1-phone.mdl-cell--order-1-phone{order:1}.mdl-cell--order-2-phone.mdl-cell--order-2-phone{order:2}.mdl-cell--order-3-phone.mdl-cell--order-3-phone{order:3}.mdl-cell--order-4-phone.mdl-cell--order-4-phone{order:4}.mdl-cell--order-5-phone.mdl-cell--order-5-phone{order:5}.mdl-cell--order-6-phone.mdl-cell--order-6-phone{order:6}.mdl-cell--order-7-phone.mdl-cell--order-7-phone{order:7}.mdl-cell--order-8-phone.mdl-cell--order-8-phone{order:8}.mdl-cell--order-9-phone.mdl-cell--order-9-phone{order:9}.mdl-cell--order-10-phone.mdl-cell--order-10-phone{order:10}.mdl-cell--order-11-phone.mdl-cell--order-11-phone{order:11}.mdl-cell--order-12-phone.mdl-cell--order-12-phone{order:12}.mdl-cell--1-col,.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-phone.mdl-cell--1-col-phone{width:25%}.mdl-cell--2-col,.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-phone.mdl-cell--2-col-phone{width:50%}.mdl-cell--3-col,.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-phone.mdl-cell--3-col-phone{width:75%}.mdl-cell--4-col,.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-phone.mdl-cell--4-col-phone{width:100%}.mdl-cell--5-col,.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-phone.mdl-cell--5-col-phone{width:100%}.mdl-cell--6-col,.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-phone.mdl-cell--6-col-phone{width:100%}.mdl-cell--7-col,.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-phone.mdl-cell--7-col-phone{width:100%}.mdl-cell--8-col,.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-phone.mdl-cell--8-col-phone{width:100%}.mdl-cell--9-col,.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-phone.mdl-cell--9-col-phone{width:100%}.mdl-cell--10-col,.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-phone.mdl-cell--10-col-phone{width:100%}.mdl-cell--11-col,.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-phone.mdl-cell--11-col-phone{width:100%}.mdl-cell--12-col,.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-phone.mdl-cell--12-col-phone{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-phone.mdl-cell--1-offset-phone{margin-left:25%}.mdl-cell--2-offset,.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-phone.mdl-cell--2-offset-phone{margin-left:50%}.mdl-cell--3-offset,.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-phone.mdl-cell--3-offset-phone{margin-left:75%}}@media (min-width:480px) and (max-width:839px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:50%}.mdl-cell--hide-tablet{display:none!important}.mdl-cell--order-1-tablet.mdl-cell--order-1-tablet{order:1}.mdl-cell--order-2-tablet.mdl-cell--order-2-tablet{order:2}.mdl-cell--order-3-tablet.mdl-cell--order-3-tablet{order:3}.mdl-cell--order-4-tablet.mdl-cell--order-4-tablet{order:4}.mdl-cell--order-5-tablet.mdl-cell--order-5-tablet{order:5}.mdl-cell--order-6-tablet.mdl-cell--order-6-tablet{order:6}.mdl-cell--order-7-tablet.mdl-cell--order-7-tablet{order:7}.mdl-cell--order-8-tablet.mdl-cell--order-8-tablet{order:8}.mdl-cell--order-9-tablet.mdl-cell--order-9-tablet{order:9}.mdl-cell--order-10-tablet.mdl-cell--order-10-tablet{order:10}.mdl-cell--order-11-tablet.mdl-cell--order-11-tablet{order:11}.mdl-cell--order-12-tablet.mdl-cell--order-12-tablet{order:12}.mdl-cell--1-col,.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:calc(12.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-tablet.mdl-cell--1-col-tablet{width:12.5%}.mdl-cell--2-col,.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-tablet.mdl-cell--2-col-tablet{width:25%}.mdl-cell--3-col,.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:calc(37.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-tablet.mdl-cell--3-col-tablet{width:37.5%}.mdl-cell--4-col,.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-tablet.mdl-cell--4-col-tablet{width:50%}.mdl-cell--5-col,.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:calc(62.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-tablet.mdl-cell--5-col-tablet{width:62.5%}.mdl-cell--6-col,.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-tablet.mdl-cell--6-col-tablet{width:75%}.mdl-cell--7-col,.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:calc(87.5% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-tablet.mdl-cell--7-col-tablet{width:87.5%}.mdl-cell--8-col,.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-tablet.mdl-cell--8-col-tablet{width:100%}.mdl-cell--9-col,.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-tablet.mdl-cell--9-col-tablet{width:100%}.mdl-cell--10-col,.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-tablet.mdl-cell--10-col-tablet{width:100%}.mdl-cell--11-col,.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-tablet.mdl-cell--11-col-tablet{width:100%}.mdl-cell--12-col,.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-tablet.mdl-cell--12-col-tablet{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:calc(12.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-tablet.mdl-cell--1-offset-tablet{margin-left:12.5%}.mdl-cell--2-offset,.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-tablet.mdl-cell--2-offset-tablet{margin-left:25%}.mdl-cell--3-offset,.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:calc(37.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-tablet.mdl-cell--3-offset-tablet{margin-left:37.5%}.mdl-cell--4-offset,.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-tablet.mdl-cell--4-offset-tablet{margin-left:50%}.mdl-cell--5-offset,.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:calc(62.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-tablet.mdl-cell--5-offset-tablet{margin-left:62.5%}.mdl-cell--6-offset,.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-tablet.mdl-cell--6-offset-tablet{margin-left:75%}.mdl-cell--7-offset,.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:calc(87.5% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-tablet.mdl-cell--7-offset-tablet{margin-left:87.5%}}@media (min-width:840px){.mdl-grid{padding:8px}.mdl-cell{margin:8px;width:calc(33.33333% - 16px)}.mdl-grid--no-spacing>.mdl-cell{width:33.33333%}.mdl-cell--hide-desktop{display:none!important}.mdl-cell--order-1-desktop.mdl-cell--order-1-desktop{order:1}.mdl-cell--order-2-desktop.mdl-cell--order-2-desktop{order:2}.mdl-cell--order-3-desktop.mdl-cell--order-3-desktop{order:3}.mdl-cell--order-4-desktop.mdl-cell--order-4-desktop{order:4}.mdl-cell--order-5-desktop.mdl-cell--order-5-desktop{order:5}.mdl-cell--order-6-desktop.mdl-cell--order-6-desktop{order:6}.mdl-cell--order-7-desktop.mdl-cell--order-7-desktop{order:7}.mdl-cell--order-8-desktop.mdl-cell--order-8-desktop{order:8}.mdl-cell--order-9-desktop.mdl-cell--order-9-desktop{order:9}.mdl-cell--order-10-desktop.mdl-cell--order-10-desktop{order:10}.mdl-cell--order-11-desktop.mdl-cell--order-11-desktop{order:11}.mdl-cell--order-12-desktop.mdl-cell--order-12-desktop{order:12}.mdl-cell--1-col,.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:calc(8.33333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--1-col,.mdl-grid--no-spacing>.mdl-cell--1-col-desktop.mdl-cell--1-col-desktop{width:8.33333%}.mdl-cell--2-col,.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:calc(16.66667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--2-col,.mdl-grid--no-spacing>.mdl-cell--2-col-desktop.mdl-cell--2-col-desktop{width:16.66667%}.mdl-cell--3-col,.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:calc(25% - 16px)}.mdl-grid--no-spacing>.mdl-cell--3-col,.mdl-grid--no-spacing>.mdl-cell--3-col-desktop.mdl-cell--3-col-desktop{width:25%}.mdl-cell--4-col,.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:calc(33.33333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--4-col,.mdl-grid--no-spacing>.mdl-cell--4-col-desktop.mdl-cell--4-col-desktop{width:33.33333%}.mdl-cell--5-col,.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:calc(41.66667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--5-col,.mdl-grid--no-spacing>.mdl-cell--5-col-desktop.mdl-cell--5-col-desktop{width:41.66667%}.mdl-cell--6-col,.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:calc(50% - 16px)}.mdl-grid--no-spacing>.mdl-cell--6-col,.mdl-grid--no-spacing>.mdl-cell--6-col-desktop.mdl-cell--6-col-desktop{width:50%}.mdl-cell--7-col,.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:calc(58.33333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--7-col,.mdl-grid--no-spacing>.mdl-cell--7-col-desktop.mdl-cell--7-col-desktop{width:58.33333%}.mdl-cell--8-col,.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:calc(66.66667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--8-col,.mdl-grid--no-spacing>.mdl-cell--8-col-desktop.mdl-cell--8-col-desktop{width:66.66667%}.mdl-cell--9-col,.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:calc(75% - 16px)}.mdl-grid--no-spacing>.mdl-cell--9-col,.mdl-grid--no-spacing>.mdl-cell--9-col-desktop.mdl-cell--9-col-desktop{width:75%}.mdl-cell--10-col,.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:calc(83.33333% - 16px)}.mdl-grid--no-spacing>.mdl-cell--10-col,.mdl-grid--no-spacing>.mdl-cell--10-col-desktop.mdl-cell--10-col-desktop{width:83.33333%}.mdl-cell--11-col,.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:calc(91.66667% - 16px)}.mdl-grid--no-spacing>.mdl-cell--11-col,.mdl-grid--no-spacing>.mdl-cell--11-col-desktop.mdl-cell--11-col-desktop{width:91.66667%}.mdl-cell--12-col,.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:calc(100% - 16px)}.mdl-grid--no-spacing>.mdl-cell--12-col,.mdl-grid--no-spacing>.mdl-cell--12-col-desktop.mdl-cell--12-col-desktop{width:100%}.mdl-cell--1-offset,.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:calc(8.33333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--1-offset-desktop.mdl-cell--1-offset-desktop{margin-left:8.33333%}.mdl-cell--2-offset,.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:calc(16.66667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--2-offset-desktop.mdl-cell--2-offset-desktop{margin-left:16.66667%}.mdl-cell--3-offset,.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:calc(25% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--3-offset-desktop.mdl-cell--3-offset-desktop{margin-left:25%}.mdl-cell--4-offset,.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:calc(33.33333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--4-offset-desktop.mdl-cell--4-offset-desktop{margin-left:33.33333%}.mdl-cell--5-offset,.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:calc(41.66667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--5-offset-desktop.mdl-cell--5-offset-desktop{margin-left:41.66667%}.mdl-cell--6-offset,.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:calc(50% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--6-offset-desktop.mdl-cell--6-offset-desktop{margin-left:50%}.mdl-cell--7-offset,.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:calc(58.33333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--7-offset-desktop.mdl-cell--7-offset-desktop{margin-left:58.33333%}.mdl-cell--8-offset,.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:calc(66.66667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--8-offset-desktop.mdl-cell--8-offset-desktop{margin-left:66.66667%}.mdl-cell--9-offset,.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:calc(75% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--9-offset-desktop.mdl-cell--9-offset-desktop{margin-left:75%}.mdl-cell--10-offset,.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:calc(83.33333% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--10-offset-desktop.mdl-cell--10-offset-desktop{margin-left:83.33333%}.mdl-cell--11-offset,.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:calc(91.66667% + 8px)}.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset,.mdl-grid.mdl-grid--no-spacing>.mdl-cell--11-offset-desktop.mdl-cell--11-offset-desktop{margin-left:91.66667%}}
+
+/*!
+ * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
+
+/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:Glyphicons Halflings;src:url(../fonts/bootstrap/glyphicons-halflings-regular.eot);src:url(../fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/bootstrap/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/bootstrap/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/bootstrap/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/bootstrap/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:Glyphicons Halflings;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before,.glyphicon-btc:before,.glyphicon-xbt:before{content:"\e227"}.glyphicon-jpy:before,.glyphicon-yen:before{content:"\00a5"}.glyphicon-rub:before,.glyphicon-ruble:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*,:after,:before{box-sizing:border-box}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.initialism,.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"}address{margin-bottom:20px;font-style:normal;line-height:1.42857}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,Courier New,monospace}code{color:#c7254e;background-color:#f9f2f4;border-radius:4px}code,kbd{padding:2px 4px;font-size:90%}kbd{color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:after,.container-fluid:before{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777}caption,th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{margin:0;min-width:0}fieldset,legend{padding:0;border:0}legend{display:block;width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{padding-top:7px}.form-control,output{display:block;font-size:14px;line-height:1.42857;color:#555}.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.075);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control:focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox-inline input[type=checkbox],.checkbox input[type=checkbox],.radio-inline input[type=radio],.radio input[type=radio]{position:absolute;margin-left:-20px;margin-top:4px\9}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .checkbox label,fieldset[disabled] .radio-inline,fieldset[disabled] .radio label,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm,.input-group-lg>.form-control-static.form-control,.input-group-lg>.form-control-static.input-group-addon,.input-group-lg>.input-group-btn>.form-control-static.btn,.input-group-sm>.form-control-static.form-control,.input-group-sm>.form-control-static.input-group-addon,.input-group-sm>.input-group-btn>.form-control-static.btn{padding-left:0;padding-right:0}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select[multiple].btn,.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:46px;line-height:46px}.input-group-lg>.input-group-btn>select[multiple].btn,.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.33333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success.checkbox-inline label,.has-success.checkbox label,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.radio-inline label,.has-success.radio label{color:#3c763d}.has-success .form-control{border-color:#3c763d;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning.checkbox-inline label,.has-warning.checkbox label,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.radio-inline label,.has-warning.radio label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error.checkbox-inline label,.has-error.checkbox label,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.radio-inline label,.has-error.radio label{color:#a94442}.has-error .form-control{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{content:" ";display:table}.form-horizontal .form-group:after{clear:both}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.btn-default.dropdown-toggle.focus,.open>.btn-default.dropdown-toggle:focus,.open>.btn-default.dropdown-toggle:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.btn-primary.dropdown-toggle.focus,.open>.btn-primary.dropdown-toggle:focus,.open>.btn-primary.dropdown-toggle:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success.active,.btn-success:active,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.btn-success.dropdown-toggle.focus,.open>.btn-success.dropdown-toggle:focus,.open>.btn-success.dropdown-toggle:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info.active,.btn-info:active,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.btn-info.dropdown-toggle.focus,.open>.btn-info.dropdown-toggle:focus,.open>.btn-info.dropdown-toggle:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.btn-warning.dropdown-toggle.focus,.open>.btn-warning.dropdown-toggle:focus,.open>.btn-warning.dropdown-toggle:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.btn-danger.dropdown-toggle.focus,.open>.btn-danger.dropdown-toggle:focus,.open>.btn-danger.dropdown-toggle:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:400;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;transition-property:height,visibility;transition-duration:.35s;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar:after,.btn-toolbar:before{content:" ";display:table}.btn-toolbar:after{clear:both}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{box-shadow:none}.btn .caret{margin-left:0}.btn-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-group-lg>.btn .caret,.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group .form-control:first-child{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group .form-control:last-child{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{font-size:0;white-space:nowrap}.input-group-btn,.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav:after{clear:both}.nav>li,.nav>li>a{position:relative;display:block}.nav>li>a{padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:after,.navbar:before{content:" ";display:table}.navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-header:after,.navbar-header:before{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container-fluid .navbar-brand,.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin:8px -15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1),0 1px 0 hsla(0,0%,100%,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#090909;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.33333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:after,.pager:before{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;background-color:#eee}.jumbotron,.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container-fluid .jumbotron,.container .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container-fluid .jumbotron,.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857;background-color:#fff;border:1px solid #ddd;border-radius:4px;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@keyframes n{0%{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{animation:n 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-body:after,.panel-body:before{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle,.panel-title{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table-responsive>.table caption,.panel>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal,.modal-open{overflow:hidden}.modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{transform:translateY(-25%);transition:transform .3s ease-out}.modal.in .modal-dialog{transform:translate(0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header:after,.modal-header:before{content:" ";display:table}.modal-header:after{clear:both}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:after,.modal-footer:before{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px}.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{left:5px}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.42857;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel,.carousel-inner{position:relative}.carousel-inner{overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;transition:left .6s ease-in-out}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}@media (-webkit-transform-3d),(transform-3d){.carousel-inner>.item{transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{transform:translateZ(0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:transparent}.carousel-control.left{background-image:linear-gradient(90deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#80000000",endColorstr="#00000000",GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:linear-gradient(90deg,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5));background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#00000000",endColorstr="#80000000",GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000\9;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}@keyframes o{to{background-position:25px 0}}.plyr{position:relative;max-width:100%;min-width:200px;font-family:Avenir,Avenir Next,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;direction:ltr}.plyr,.plyr *,.plyr :after,.plyr :before{box-sizing:border-box}.plyr a,.plyr button,.plyr input,.plyr label{touch-action:manipulation}.plyr:focus{outline:0}.plyr audio,.plyr video{width:100%;height:auto;vertical-align:middle;border-radius:inherit}.plyr input[type=range]{display:block;height:20px;width:100%;margin:0;padding:0;vertical-align:middle;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:none;background:transparent}.plyr input[type=range]::-webkit-slider-runnable-track{height:8px;background:transparent;border:0;border-radius:4px;-webkit-user-select:none;user-select:none}.plyr input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;margin-top:-4px;position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-moz-range-track{height:8px;background:transparent;border:0;border-radius:4px;-moz-user-select:none;user-select:none}.plyr input[type=range]::-moz-range-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box}.plyr input[type=range]::-ms-track{height:8px;background:transparent;border:0;color:transparent}.plyr input[type=range]::-ms-fill-upper{height:8px;background:transparent;border:0;border-radius:4px;-ms-user-select:none;user-select:none}.plyr input[type=range]::-ms-fill-lower{height:8px;background:transparent;border:0;border-radius:4px;-ms-user-select:none;user-select:none;background:#0798e2}.plyr input[type=range]::-ms-thumb{position:relative;height:16px;width:16px;background:#fff;border:2px solid transparent;border-radius:100%;transition:background .2s ease,border .2s ease,transform .2s ease;box-shadow:0 1px 1px rgba(0,0,0,.15),0 0 0 1px rgba(0,0,0,.15);box-sizing:border-box;margin-top:0}.plyr input[type=range]::-ms-tooltip{display:none}.plyr input[type=range]:focus{outline:0}.plyr input[type=range]::-moz-focus-outer{border:0}.plyr input[type=range].tab-focus:focus{outline-offset:3px}.plyr input[type=range]:active::-webkit-slider-thumb{background:#0798e2;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-moz-range-thumb{background:#0798e2;border-color:#fff;transform:scale(1.25)}.plyr input[type=range]:active::-ms-thumb{background:#0798e2;border-color:#fff;transform:scale(1.25)}.plyr--video input[type=range].tab-focus:focus{outline:1px dotted hsla(0,0%,100%,.5)}.plyr--audio input[type=range].tab-focus:focus{outline:1px dotted rgba(86,93,100,.5)}.plyr__sr-only{clip:rect(1px,1px,1px,1px);overflow:hidden;position:absolute!important;padding:0!important;border:0!important;height:1px!important;width:1px!important}.plyr__video-wrapper{position:relative;background:#000;border-radius:inherit}.plyr__video-embed{padding-bottom:56.25%;height:0;border-radius:inherit;overflow:hidden;z-index:0}.plyr__video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.plyr__video-embed>div{position:relative;padding-bottom:200%;transform:translateY(-35.95%)}.plyr .plyr__video-embed iframe{pointer-events:none}.plyr video::-webkit-media-text-track-container{display:none}.plyr__captions{display:none;position:absolute;bottom:0;left:0;width:100%;padding:20px;transform:translateY(-60px);transition:transform .3s ease;color:#fff;font-size:16px;text-align:center;font-weight:400}.plyr__captions span{border-radius:2px;padding:3px 10px;background:rgba(0,0,0,.7);-webkit-box-decoration-break:clone;box-decoration-break:clone;line-height:150%}.plyr__captions span:empty{display:none}@media (min-width:768px){.plyr__captions{font-size:24px}}.plyr--captions-active .plyr__captions{display:block}.plyr--hide-controls .plyr__captions{transform:translateY(-20px)}@media (min-width:1024px){.plyr--fullscreen-active .plyr__captions{font-size:32px}}.plyr ::-webkit-media-controls{display:none}.plyr__controls{display:flex;align-items:center;line-height:1;text-align:center;pointer-events:none}.plyr__controls>*{pointer-events:all}.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:5px}.plyr__controls .plyr__progress:first-child,.plyr__controls .plyr__time:first-child,.plyr__controls>button:first-child{margin-left:0}.plyr__controls .plyr__volume{margin-left:5px}.plyr__controls [data-plyr=pause]{margin-left:0}.plyr__controls button{position:relative;display:inline-block;flex-shrink:0;overflow:visible;vertical-align:middle;padding:7px;border:0;background:transparent;border-radius:3px;cursor:pointer;transition:background .3s ease,color .3s ease,opacity .3s ease;color:inherit}.plyr__controls button svg{width:18px;height:18px;display:block;fill:currentColor}.plyr__controls button:focus{outline:0}.plyr__controls .icon--captions-on,.plyr__controls .icon--exit-fullscreen,.plyr__controls .icon--muted{display:none}@media (min-width:480px){.plyr__controls .plyr__progress,.plyr__controls .plyr__time,.plyr__controls>button{margin-left:10px}}.plyr--hide-controls .plyr__controls{opacity:0;pointer-events:none}.plyr--video .plyr__controls{position:absolute;left:0;right:0;bottom:0;padding:50px 10px 10px;background:linear-gradient(transparent,rgba(0,0,0,.5));border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;color:#fff;transition:opacity .3s ease}.plyr--video .plyr__controls button.tab-focus:focus,.plyr--video .plyr__controls button:hover{background:#0798e2;color:#fff}.plyr--audio .plyr__controls{padding:10px;border-radius:inherit;background:#fff;border:1px solid #dbe3e8;color:#565d64}.plyr--audio .plyr__controls button.tab-focus:focus,.plyr--audio .plyr__controls button:hover,.plyr__play-large{background:#0798e2;color:#fff}.plyr__play-large{display:none;position:absolute;z-index:1;top:50%;left:50%;transform:translate(-50%,-50%);padding:10px;border:4px solid currentColor;border-radius:100%;box-shadow:0 1px 1px rgba(0,0,0,.15);transition:all .3s ease}.plyr__play-large svg{width:20px;height:20px;fill:currentColor}.plyr__play-large:focus{outline:1px dotted hsla(0,0%,100%,.5)}.plyr .plyr__play-large{display:inline-block}.plyr--audio .plyr__play-large{display:none}.plyr--playing .plyr__play-large{opacity:0;visibility:hidden}.plyr--playing .plyr__controls [data-plyr=play],.plyr__controls [data-plyr=pause]{display:none}.plyr--playing .plyr__controls [data-plyr=pause]{display:inline-block}.plyr--captions-active .plyr__controls .icon--captions-on,.plyr--fullscreen-active .icon--exit-fullscreen,.plyr--muted .plyr__controls .icon--muted{display:block}.plyr--captions-active .plyr__controls .icon--captions-on+svg,.plyr--fullscreen-active .icon--exit-fullscreen+svg,.plyr--muted .plyr__controls .icon--muted+svg,.plyr [data-plyr=captions],.plyr [data-plyr=fullscreen]{display:none}.plyr--captions-enabled [data-plyr=captions],.plyr--fullscreen-enabled [data-plyr=fullscreen]{display:inline-block}.plyr__tooltip{position:absolute;z-index:2;bottom:100%;margin-bottom:10px;padding:5px 7.5px;pointer-events:none;opacity:0;background:rgba(0,0,0,.7);border-radius:3px;color:#fff;font-size:14px;line-height:1.3;transform:translate(-50%,10px) scale(.8);transform-origin:50% 100%;transition:transform .2s ease .1s,opacity .2s ease .1s}.plyr__tooltip:before{content:"";position:absolute;width:0;height:0;left:50%;transform:translateX(-50%);bottom:-4px;border-right:4px solid transparent;border-top:4px solid rgba(0,0,0,.7);border-left:4px solid transparent;z-index:2}.plyr__tooltip--visible,.plyr button.tab-focus:focus .plyr__tooltip,.plyr button:hover .plyr__tooltip{opacity:1;transform:translate(-50%) scale(1)}.plyr button:hover .plyr__tooltip{z-index:3}.plyr__controls button:first-child .plyr__tooltip{left:0;transform:translateY(10px) scale(.8);transform-origin:0 100%}.plyr__controls button:first-child .plyr__tooltip:before{left:16px}.plyr__controls button:last-child .plyr__tooltip{right:0;transform:translateY(10px) scale(.8);transform-origin:100% 100%}.plyr__controls button:last-child .plyr__tooltip:before{left:auto;right:16px;transform:translateX(50%)}.plyr__controls button:first-child .plyr__tooltip--visible,.plyr__controls button:first-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:first-child:hover .plyr__tooltip,.plyr__controls button:last-child .plyr__tooltip--visible,.plyr__controls button:last-child.tab-focus:focus .plyr__tooltip,.plyr__controls button:last-child:hover .plyr__tooltip{transform:translate(0) scale(1)}.plyr__progress{display:none;position:relative;flex:1}.plyr__progress input[type=range]{position:relative;z-index:2}.plyr__progress input[type=range]::-webkit-slider-runnable-track{background:transparent}.plyr__progress input[type=range]::-moz-range-track{background:transparent}.plyr__progress input[type=range]::-ms-fill-upper{background:transparent}.plyr__progress .plyr__tooltip{left:0}.plyr .plyr__progress{display:inline-block}.plyr__progress--buffer,.plyr__progress--played,.plyr__volume--display{position:absolute;left:0;top:50%;width:100%;height:8px;margin:-4px 0 0;padding:0;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:100px}.plyr__progress--buffer::-webkit-progress-bar,.plyr__progress--played::-webkit-progress-bar,.plyr__volume--display::-webkit-progress-bar{background:transparent}.plyr__progress--buffer::-webkit-progress-value,.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-moz-progress-bar,.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{background:currentColor;border-radius:100px;min-width:8px}.plyr__progress--buffer::-ms-fill,.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{border-radius:100px}.plyr__progress--played,.plyr__volume--display{z-index:1;color:#0798e2;background:transparent;transition:none}.plyr__progress--played::-webkit-progress-value,.plyr__volume--display::-webkit-progress-value{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-moz-progress-bar,.plyr__volume--display::-moz-progress-bar{min-width:8px;max-width:99%;border-top-right-radius:0;border-bottom-right-radius:0;transition:none}.plyr__progress--played::-ms-fill,.plyr__volume--display::-ms-fill{display:none}.plyr__progress--buffer::-webkit-progress-value{transition:width .2s ease}.plyr__progress--buffer::-moz-progress-bar{transition:width .2s ease}.plyr__progress--buffer::-ms-fill{transition:width .2s ease}.plyr--video .plyr__progress--buffer,.plyr--video .plyr__volume--display{background:hsla(0,0%,100%,.25)}.plyr--video .plyr__progress--buffer{color:hsla(0,0%,100%,.25)}.plyr--audio .plyr__progress--buffer,.plyr--audio .plyr__volume--display{background:rgba(198,214,219,.67)}.plyr--audio .plyr__progress--buffer{color:rgba(198,214,219,.67)}.plyr--loading .plyr__progress--buffer{animation:o 1s linear infinite;background-size:25px 25px;background-repeat:repeat-x;background-image:linear-gradient(-45deg,rgba(0,0,0,.15) 25%,transparent 0,transparent 50%,rgba(0,0,0,.15) 0,rgba(0,0,0,.15) 75%,transparent 0,transparent);color:transparent}.plyr--video.plyr--loading .plyr__progress--buffer{background-color:hsla(0,0%,100%,.25)}.plyr--audio.plyr--loading .plyr__progress--buffer{background-color:rgba(198,214,219,.67)}.plyr__time{display:inline-block;vertical-align:middle;font-size:14px}.plyr__time+.plyr__time{display:none}@media (min-width:768px){.plyr__time+.plyr__time{display:inline-block}}.plyr__time+.plyr__time:before{content:"\2044";margin-right:10px}.plyr__volume{display:none}.plyr .plyr__volume{flex:1;position:relative}.plyr .plyr__volume input[type=range]{position:relative;z-index:2}@media (min-width:480px){.plyr .plyr__volume{display:block;max-width:60px}}@media (min-width:768px){.plyr .plyr__volume{max-width:100px}}.plyr--is-ios .plyr__volume,.plyr--is-ios [data-plyr=mute]{display:none!important}.plyr--fullscreen-active{height:100%;width:100%;background:#000;border-radius:0!important}.plyr--fullscreen-active video{height:100%}.plyr--fullscreen-active .plyr__video-wrapper{height:100%;width:100%}.plyr--fullscreen-active .plyr__video-embed{overflow:visible}.plyr--fullscreen-active.plyr--vimeo .plyr__video-wrapper{height:0;top:50%;transform:translateY(-50%)}.plyr--fullscreen-fallback.plyr--fullscreen-active{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000000}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown),html.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:hidden}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast{flex-direction:column}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-icon{margin:0 0 15px}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-buttonswrapper{flex:1;-ms-grid-row-align:stretch;align-self:stretch;justify-content:flex-end}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-loading{justify-content:center}body.swal2-toast-shown.swal2-has-input>.swal2-container>.swal2-toast .swal2-input{height:32px;font-size:14px;margin:5px auto}body.swal2-toast-shown>.swal2-container{position:fixed;background-color:transparent}body.swal2-toast-shown>.swal2-container.swal2-shown{background-color:transparent}body.swal2-toast-shown>.swal2-container.swal2-top{top:0;left:50%;bottom:auto;right:auto;transform:translateX(-50%)}body.swal2-toast-shown>.swal2-container.swal2-top-end,body.swal2-toast-shown>.swal2-container.swal2-top-right{top:0;left:auto;bottom:auto;right:0}body.swal2-toast-shown>.swal2-container.swal2-top-left,body.swal2-toast-shown>.swal2-container.swal2-top-start{top:0;left:0;bottom:auto;right:auto}body.swal2-toast-shown>.swal2-container.swal2-center-left,body.swal2-toast-shown>.swal2-container.swal2-center-start{top:50%;left:0;bottom:auto;right:auto;transform:translateY(-50%)}body.swal2-toast-shown>.swal2-container.swal2-center{top:50%;left:50%;bottom:auto;right:auto;transform:translate(-50%,-50%)}body.swal2-toast-shown>.swal2-container.swal2-center-end,body.swal2-toast-shown>.swal2-container.swal2-center-right{top:50%;left:auto;bottom:auto;right:0;transform:translateY(-50%)}body.swal2-toast-shown>.swal2-container.swal2-bottom-left,body.swal2-toast-shown>.swal2-container.swal2-bottom-start{top:auto;left:0;bottom:0;right:auto}body.swal2-toast-shown>.swal2-container.swal2-bottom{top:auto;left:50%;bottom:0;right:auto;transform:translateX(-50%)}body.swal2-toast-shown>.swal2-container.swal2-bottom-end,body.swal2-toast-shown>.swal2-container.swal2-bottom-right{top:auto;left:auto;bottom:0;right:0}body.swal2-iosfix{position:fixed;left:0;right:0}body.swal2-no-backdrop>.swal2-shown{top:auto;bottom:auto;left:auto;right:auto;background-color:transparent}body.swal2-no-backdrop>.swal2-shown>.swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}body.swal2-no-backdrop>.swal2-shown.swal2-top{top:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-top-left,body.swal2-no-backdrop>.swal2-shown.swal2-top-start{top:0;left:0}body.swal2-no-backdrop>.swal2-shown.swal2-top-end,body.swal2-no-backdrop>.swal2-shown.swal2-top-right{top:0;right:0}body.swal2-no-backdrop>.swal2-shown.swal2-center{top:50%;left:50%;transform:translate(-50%,-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-center-left,body.swal2-no-backdrop>.swal2-shown.swal2-center-start{top:50%;left:0;transform:translateY(-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-center-end,body.swal2-no-backdrop>.swal2-shown.swal2-center-right{top:50%;right:0;transform:translateY(-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-bottom{bottom:0;left:50%;transform:translateX(-50%)}body.swal2-no-backdrop>.swal2-shown.swal2-bottom-left,body.swal2-no-backdrop>.swal2-shown.swal2-bottom-start{bottom:0;left:0}body.swal2-no-backdrop>.swal2-shown.swal2-bottom-end,body.swal2-no-backdrop>.swal2-shown.swal2-bottom-right{bottom:0;right:0}.swal2-container{display:flex;flex-direction:row;align-items:center;justify-content:center;position:fixed;padding:10px;top:0;left:0;right:0;bottom:0;background-color:transparent;z-index:1060}.swal2-container.swal2-top{align-items:flex-start}.swal2-container.swal2-top-left,.swal2-container.swal2-top-start{align-items:flex-start;justify-content:flex-start}.swal2-container.swal2-top-end,.swal2-container.swal2-top-right{align-items:flex-start;justify-content:flex-end}.swal2-container.swal2-center{align-items:center}.swal2-container.swal2-center-left,.swal2-container.swal2-center-start{align-items:center;justify-content:flex-start}.swal2-container.swal2-center-end,.swal2-container.swal2-center-right{align-items:center;justify-content:flex-end}.swal2-container.swal2-bottom{align-items:flex-end}.swal2-container.swal2-bottom-left,.swal2-container.swal2-bottom-start{align-items:flex-end;justify-content:flex-start}.swal2-container.swal2-bottom-end,.swal2-container.swal2-bottom-right{align-items:flex-end;justify-content:flex-end}.swal2-container.swal2-grow-fullscreen>.swal2-modal{display:flex!important;flex:1;align-self:stretch;justify-content:center}.swal2-container.swal2-grow-row>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container.swal2-grow-column{flex:1;flex-direction:column}.swal2-container.swal2-grow-column.swal2-bottom,.swal2-container.swal2-grow-column.swal2-center,.swal2-container.swal2-grow-column.swal2-top{align-items:center}.swal2-container.swal2-grow-column.swal2-bottom-left,.swal2-container.swal2-grow-column.swal2-bottom-start,.swal2-container.swal2-grow-column.swal2-center-left,.swal2-container.swal2-grow-column.swal2-center-start,.swal2-container.swal2-grow-column.swal2-top-left,.swal2-container.swal2-grow-column.swal2-top-start{align-items:flex-start}.swal2-container.swal2-grow-column.swal2-bottom-end,.swal2-container.swal2-grow-column.swal2-bottom-right,.swal2-container.swal2-grow-column.swal2-center-end,.swal2-container.swal2-grow-column.swal2-center-right,.swal2-container.swal2-grow-column.swal2-top-end,.swal2-container.swal2-grow-column.swal2-top-right{align-items:flex-end}.swal2-container.swal2-grow-column>.swal2-modal{display:flex!important;flex:1;align-content:center;justify-content:center}.swal2-container:not(.swal2-top):not(.swal2-top-start):not(.swal2-top-end):not(.swal2-top-left):not(.swal2-top-right):not(.swal2-center-start):not(.swal2-center-end):not(.swal2-center-left):not(.swal2-center-right):not(.swal2-bottom):not(.swal2-bottom-start):not(.swal2-bottom-end):not(.swal2-bottom-left):not(.swal2-bottom-right)>.swal2-modal{margin:auto}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.swal2-container .swal2-modal{margin:0!important}}.swal2-container.swal2-fade{transition:background-color .1s}.swal2-container.swal2-shown{background-color:rgba(0,0,0,.4)}.swal2-popup{flex-direction:column;background-color:#fff;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;border-radius:5px;box-sizing:border-box;text-align:center;overflow-x:hidden;overflow-y:auto;display:none;position:relative;max-width:100%}.swal2-popup.swal2-toast{width:300px;padding:0 15px;flex-direction:row;align-items:center;overflow-y:hidden;box-shadow:0 0 10px #d9d9d9}.swal2-popup.swal2-toast .swal2-title{max-width:300px;font-size:16px;text-align:left}.swal2-popup.swal2-toast .swal2-content{font-size:14px;text-align:left}.swal2-popup.swal2-toast .swal2-icon{width:32px;min-width:32px;height:32px;margin:0 15px 0 0}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:32px;height:32px}.swal2-popup.swal2-toast .swal2-icon.swal2-info,.swal2-popup.swal2-toast .swal2-icon.swal2-question,.swal2-popup.swal2-toast .swal2-icon.swal2-warning{font-size:26px;line-height:32px}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:14px;width:22px}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:5px}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:5px}.swal2-popup.swal2-toast .swal2-buttonswrapper{margin:0 0 0 5px}.swal2-popup.swal2-toast .swal2-styled{margin:0 0 0 5px;padding:5px 10px}.swal2-popup.swal2-toast .swal2-styled:focus{box-shadow:0 0 0 1px #fff,0 0 0 2px rgba(50,100,150,.4)}.swal2-popup.swal2-toast .swal2-validationerror{width:100%;margin:5px -20px}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:32px;height:64px;transform:rotate(45deg)}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:64px 0 0 64px;top:-4px;left:-15px;transform:rotate(-45deg);transform-origin:32px 32px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 64px 64px 0;top:-5px;left:14px;transform-origin:0 32px}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:32px;height:32px}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{width:7px;height:90px;left:28px;top:8px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:5px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{width:12px;left:3px;top:18px}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{width:22px;right:3px;top:15px}.swal2-popup.swal2-toast .swal2-animate-success-line-tip{animation:v .75s}.swal2-popup.swal2-toast .swal2-animate-success-line-long{animation:w .75s}.swal2-popup:focus{outline:none}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-popup .swal2-title{color:#595959;font-size:30px;text-align:center;font-weight:600;text-transform:none;position:relative;margin:0 0 .4em;padding:0;display:block;word-wrap:break-word}.swal2-popup .swal2-buttonswrapper{align-items:center;justify-content:center;margin-top:15px}.swal2-popup .swal2-buttonswrapper:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4;cursor:no-drop}.swal2-popup .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-confirm{box-sizing:border-box;border:4px solid transparent;border-color:transparent;width:40px;height:40px;padding:0;margin:7.5px;vertical-align:top;background-color:transparent!important;color:transparent;cursor:default;border-radius:100%;animation:A 1.5s linear 0s infinite normal;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-popup .swal2-buttonswrapper.swal2-loading .swal2-styled.swal2-cancel{margin-left:30px;margin-right:30px}.swal2-popup .swal2-buttonswrapper.swal2-loading :not(.swal2-styled).swal2-confirm:after{display:inline-block;content:"";margin-left:5px;vertical-align:-1px;height:15px;width:15px;border:3px solid #999;box-shadow:1px 1px 1px #fff;border-right-color:transparent;border-radius:50%;animation:A 1.5s linear 0s infinite normal}.swal2-popup .swal2-styled{border:0;border-radius:3px;box-shadow:none;color:#fff;cursor:pointer;font-size:17px;font-weight:500;margin:15px 5px 0;padding:10px 32px}.swal2-popup .swal2-styled:focus{outline:none;box-shadow:0 0 0 2px #fff,0 0 0 4px rgba(50,100,150,.4)}.swal2-popup .swal2-image{margin:20px auto;max-width:100%}.swal2-popup .swal2-close{background:transparent;border:0;margin:0;padding:0;width:38px;height:40px;font-size:36px;line-height:40px;font-family:serif;position:absolute;top:5px;right:8px;cursor:pointer;color:#ccc;transition:color .1s ease}.swal2-popup .swal2-close:hover{color:#d55}.swal2-popup>.swal2-checkbox,.swal2-popup>.swal2-file,.swal2-popup>.swal2-input,.swal2-popup>.swal2-radio,.swal2-popup>.swal2-select,.swal2-popup>.swal2-textarea{display:none}.swal2-popup .swal2-content{font-size:18px;text-align:center;font-weight:300;position:relative;float:none;margin:0;padding:0;line-height:normal;color:#545454;word-wrap:break-word}.swal2-popup .swal2-checkbox,.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-radio,.swal2-popup .swal2-select,.swal2-popup .swal2-textarea{margin:20px auto}.swal2-popup .swal2-file,.swal2-popup .swal2-input,.swal2-popup .swal2-textarea{width:100%;box-sizing:border-box;font-size:18px;border-radius:3px;border:1px solid #d9d9d9;box-shadow:inset 0 1px 1px rgba(0,0,0,.06);transition:border-color .3s,box-shadow .3s}.swal2-popup .swal2-file.swal2-inputerror,.swal2-popup .swal2-input.swal2-inputerror,.swal2-popup .swal2-textarea.swal2-inputerror{border-color:#f27474!important;box-shadow:0 0 2px #f27474!important}.swal2-popup .swal2-file:focus,.swal2-popup .swal2-input:focus,.swal2-popup .swal2-textarea:focus{outline:none;border:1px solid #b4dbed;box-shadow:0 0 3px #c4e6f5}.swal2-popup .swal2-file:-ms-input-placeholder,.swal2-popup .swal2-input:-ms-input-placeholder,.swal2-popup .swal2-textarea:-ms-input-placeholder{color:#ccc}.swal2-popup .swal2-file::placeholder,.swal2-popup .swal2-input::placeholder,.swal2-popup .swal2-textarea::placeholder{color:#ccc}.swal2-popup .swal2-range input{float:left;width:80%}.swal2-popup .swal2-range output{float:right;width:20%;font-size:20px;font-weight:600;text-align:center}.swal2-popup .swal2-range input,.swal2-popup .swal2-range output{height:43px;line-height:43px;vertical-align:middle;margin:20px auto;padding:0}.swal2-popup .swal2-input{height:43px;padding:0 12px}.swal2-popup .swal2-input[type=number]{max-width:150px}.swal2-popup .swal2-file{font-size:20px}.swal2-popup .swal2-textarea{height:108px;padding:12px}.swal2-popup .swal2-select{color:#545454;font-size:inherit;padding:5px 10px;min-width:40%;max-width:100%}.swal2-popup .swal2-radio{border:0}.swal2-popup .swal2-radio label:not(:first-child){margin-left:20px}.swal2-popup .swal2-radio input,.swal2-popup .swal2-radio span{vertical-align:middle}.swal2-popup .swal2-radio input{margin:0 3px 0 0}.swal2-popup .swal2-checkbox{color:#545454}.swal2-popup .swal2-checkbox input,.swal2-popup .swal2-checkbox span{vertical-align:middle}.swal2-popup .swal2-validationerror{background-color:#f0f0f0;margin:0 -20px;overflow:hidden;padding:10px;color:gray;font-size:16px;font-weight:300;display:none}.swal2-popup .swal2-validationerror:before{content:"!";display:inline-block;width:24px;height:24px;border-radius:50%;background-color:#ea7d7d;color:#fff;line-height:24px;text-align:center;margin-right:10px}@supports (-ms-accelerator:true){.swal2-range input{width:100%!important}.swal2-range output{display:none}}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.swal2-range input{width:100%!important}.swal2-range output{display:none}}.swal2-icon{width:80px;height:80px;border:4px solid transparent;border-radius:50%;margin:20px auto 30px;padding:0;position:relative;box-sizing:content-box;cursor:default;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.swal2-icon.swal2-error{border-color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;display:block}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{position:absolute;height:5px;width:47px;background-color:#f27474;display:block;top:37px;border-radius:2px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{transform:rotate(45deg);left:17px}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{transform:rotate(-45deg);right:16px}.swal2-icon.swal2-warning{color:#f8bb86;border-color:#facea8}.swal2-icon.swal2-info,.swal2-icon.swal2-warning{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-info{color:#3fc3ee;border-color:#9de0f6}.swal2-icon.swal2-question{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#87adbd;border-color:#c9dae1;font-size:60px;line-height:80px;text-align:center}.swal2-icon.swal2-success{border-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{border-radius:50%;position:absolute;width:60px;height:120px;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{border-radius:120px 0 0 120px;top:-7px;left:-33px;transform:rotate(-45deg);transform-origin:60px 60px}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{border-radius:0 120px 120px 0;top:-11px;left:30px;transform:rotate(-45deg);transform-origin:0 60px}.swal2-icon.swal2-success .swal2-success-ring{width:80px;height:80px;border:4px solid hsla(98,55%,69%,.2);border-radius:50%;box-sizing:content-box;position:absolute;left:-4px;top:-4px;z-index:2}.swal2-icon.swal2-success .swal2-success-fix{width:7px;height:90px;position:absolute;left:28px;top:8px;z-index:1;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{height:5px;background-color:#a5dc86;display:block;border-radius:2px;position:absolute;z-index:2}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{width:25px;left:14px;top:46px;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{width:47px;right:8px;top:38px;transform:rotate(-45deg)}.swal2-progresssteps{font-weight:600;margin:0 0 20px;padding:0}.swal2-progresssteps li{display:inline-block;position:relative}.swal2-progresssteps .swal2-progresscircle{background:#3085d6;border-radius:2em;color:#fff;height:2em;line-height:2em;text-align:center;width:2em;z-index:20}.swal2-progresssteps .swal2-progresscircle:first-child{margin-left:0}.swal2-progresssteps .swal2-progresscircle:last-child{margin-right:0}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep{background:#3085d6}.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progresscircle,.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep~.swal2-progressline{background:#add8e6}.swal2-progresssteps .swal2-progressline{background:#3085d6;height:.4em;margin:0 -1px;z-index:10}[class^=swal2]{-webkit-tap-highlight-color:transparent}@keyframes p{0%{transform:translateY(-10px) rotate(2deg);opacity:0}33%{transform:translateY(0) rotate(-2deg);opacity:.5}66%{transform:translateY(5px) rotate(2deg);opacity:.7}to{transform:translateY(0) rotate(0);opacity:1}}@keyframes q{0%{opacity:1}33%{opacity:.5}to{transform:rotate(1deg);opacity:0}}@keyframes r{0%{transform:scale(.7)}45%{transform:scale(1.05)}80%{transform:scale(.95)}to{transform:scale(1)}}@keyframes s{0%{transform:scale(1);opacity:1}to{transform:scale(.5);opacity:0}}.swal2-show{animation:r .3s}.swal2-show.swal2-toast{animation:p .5s}.swal2-show.swal2-noanimation{animation:none}.swal2-hide{animation:s .15s forwards}.swal2-hide.swal2-toast{animation:q .2s forwards}.swal2-hide.swal2-noanimation{animation:none}[dir=rtl] .swal2-close{left:8px;right:auto}@keyframes t{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}to{width:25px;left:14px;top:45px}}@keyframes u{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}to{width:47px;right:8px;top:38px}}@keyframes v{0%{width:0;left:1px;top:9px}54%{width:0;left:1px;top:9px}70%{width:24px;left:-4px;top:17px}84%{width:8px;left:10px;top:20px}to{width:12px;left:3px;top:18px}}@keyframes w{0%{width:0;right:22px;top:26px}65%{width:0;right:22px;top:26px}84%{width:26px;right:0;top:15px}to{width:22px;right:3px;top:15px}}@keyframes x{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}to{transform:rotate(-405deg)}}.swal2-animate-success-line-tip{animation:t .75s}.swal2-animate-success-line-long{animation:u .75s}.swal2-success.swal2-animate-success-icon .swal2-success-circular-line-right{animation:x 4.25s ease-in}@keyframes y{0%{transform:rotateX(100deg);opacity:0}to{transform:rotateX(0deg);opacity:1}}.swal2-animate-error-icon{animation:y .5s}@keyframes z{0%{transform:scale(.4);margin-top:26px;opacity:0}50%{transform:scale(.4);margin-top:26px;opacity:0}80%{transform:scale(1.15);margin-top:-6px}to{transform:scale(1);margin-top:0;opacity:1}}.swal2-animate-x-mark{animation:z .5s}@keyframes A{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.swal2-modal{border-radius:0;padding:20px 30px!important;min-height:0}.swal2-modal .swal2-spacer{height:0!important}.swal2-modal .swal2-close{font-size:42px!important;top:8px!important;right:16px!important;outline:none}.swal2-modal .swal2-title{font:400 3rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;margin-bottom:18px;color:#1d1d1b}.swal2-modal .swal2-content{font:300 2rem/2.5rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;color:#1d1d1b}.swal2-modal .swal2-styled{outline:none;display:none}.plyr__play-large{background:rgba(0,0,0,.6);border:5px solid #fff;padding:30px;outline:none!important;box-shadow:0 1px 2px 1px rgba(0,0,0,.2);opacity:.8}.plyr__play-large svg{position:relative;left:2px;width:40px;height:40px;display:block}@font-face{font-family:gobold;src:url(../fonts/gobold_lowplus-webfont.woff2) format("woff2"),url(../fonts/gobold_lowplus-webfont.woff) format("woff");font-weight:200;font-style:normal}@font-face{font-family:gobold;src:url(../fonts/gobold_regular-webfont.woff2) format("woff2"),url(../fonts/gobold_regular-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:gobold;src:url(../fonts/gobold_thin-webfont.woff2) format("woff2"),url(../fonts/gobold_thin-webfont.woff) format("woff");font-weight:300;font-style:normal}@font-face{font-family:gobold;src:url(../fonts/gobold_uplow-webfont.woff2) format("woff2"),url(../fonts/gobold_uplow-webfont.woff) format("woff");font-weight:700;font-style:normal}@font-face{font-family:aller;src:url(../fonts/aller_std_lt-webfont.woff2) format("woff2"),url(../fonts/aller_std_lt-webfont.woff) format("woff");font-weight:300;font-style:normal}@font-face{font-family:aller;src:url(../fonts/aller_std_rg-webfont.woff2) format("woff2"),url(../fonts/aller_std_rg-webfont.woff) format("woff");font-weight:400;font-style:normal}@font-face{font-family:icomoon;src:url(../fonts/icomoon.eot?1aewbj);src:url(../fonts/icomoon.eot?1aewbj#iefix) format("embedded-opentype"),url(../fonts/icomoon.ttf?1aewbj) format("truetype"),url(../fonts/icomoon.woff?1aewbj) format("woff"),url(../fonts/icomoon.svg?1aewbj#icomoon) format("svg");font-weight:400;font-style:normal}[class*=" icon-"],[class^=icon-]{font-family:icomoon!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-linkedin:before{content:"\e905"}.icon-coderockr:before{content:"\e904"}.icon-earth:before{content:"\e906"}.icon-star:before{content:"\e903"}.icon-youtube-custom:before{content:"\e902"}.icon-medium:before{content:"\e901"}.icon-google-plus:before{content:"\ea8d"}.icon-facebook:before{content:"\ea90"}.icon-twitter:before{content:"\ea96"}.icon-youtube:before{content:"\ea9d"}.icon-github:before{content:"\eab0"}.icon-instagram:before{content:"\e900"}.browserupgrade{margin:.2em 0;background:#ced4da;color:#000;padding:.2em 0}::-moz-selection{color:#fff}::selection{background:#f1a10a;color:#fff}::-moz-selection{background:#f1a10a}html{background-color:#fff;box-sizing:border-box;font-size:10px;line-height:1.2;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent;font-family:aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}body,html{margin:0;padding:0;min-height:100%;height:100%;color:#1d1d1b}html *{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:after,:before{box-sizing:inherit}a{outline:none!important;transition-property:background-color,border-color,color;transition-duration:.12s;transition-timing-function:ease-in}.btn{background:transparent;display:inline-block;border-radius:0;border:2px solid #f1a10a;color:#f1a10a;padding:12px 30px 11px;font:1.8rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.05rem;text-decoration:none;margin:0 auto}.btn:focus,.btn:hover{color:#fff;background-color:#f1a10a}p{font:300 1.8rem/3.2rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}.products .coderockrway .subtitle h2,.title{clear:both;font:4.5rem/7rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.4rem;color:#1d1d1b;text-align:center;margin:100px auto 70px}.subtitle h2{display:block;width:100%;font:3.5rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.2rem;margin:0}.subtitle span{display:inline-block;clear:both;width:100px;border-top:4px solid #f1a10a;margin:15px 0 30px}.flex-row{display:flex;flex-direction:row}.flex-column,body,html{display:flex;flex-direction:column}#header{position:fixed!important;width:100%;height:100px;z-index:1;margin-top:-100px;background-color:#fff;opacity:.98;box-shadow:0 3px 5px 0 rgba(0,0,0,.2)}#header .flex-row{height:100px;align-items:center;justify-content:space-between}#header .flex-row .logo img{display:block;width:222px;height:65px}#header .flex-row li{float:left;list-style:none;margin-left:48px}#header .flex-row li a{font:1.8rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;text-decoration:none;color:#000;cursor:pointer}#header .flex-row li a:focus,#header .flex-row li a:hover{color:#f1a10a}#header .flex-row a.mobile{cursor:pointer;float:right;display:block;padding:8px 14px 10px;border-radius:3px;border:2px solid #000;letter-spacing:normal}#header .flex-row a.mobile img{width:24px}#home>.banner{width:100%;background-color:#f1a10a;max-height:550px;height:550px;background:url(../images/crowd-bg.jpg) bottom #f1a10a;box-shadow:inset 0 -3px 5px 0 rgba(0,0,0,.2)}#home>.banner h1{font:4rem/8.5rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.4rem;color:#fff;text-align:center;margin-top:98px;text-shadow:1px 1px 5px rgba(0,0,0,.3)}.what-we-do .blurred{display:block;position:relative;height:80px;box-shadow:0 -3px 5px 0 #fff}.what-we-do .blurred:before{width:100%;height:85px;top:-85px;left:0;background:url(../images/crowd-bg.jpg) bottom;filter:blur(5px)}.what-we-do header{position:relative;min-height:160px;margin-top:-170px;opacity:.9;background-color:#fff;box-shadow:0 -3px 3px 3px rgba(0,0,0,.2)}.what-we-do header:after{clear:both;width:100%;height:3px;left:0;bottom:-3px;background-color:#fff}.what-we-do header h3{float:left;font:300 3.5rem/5rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;padding:0 30px;text-align:center;margin-top:32px!important}.what-we-do header h3 span{font-weight:400}.what-we-do section{padding-bottom:100px;margin-top:-40px}.what-we-do section p{clear:both}.what-we-do section .wrapper{position:relative;float:left;padding:10px 0;margin-top:40px}.what-we-do section .wrapper:after{height:103%;left:50%;top:-4.5%;margin-left:-2px;border-right:4px solid #000}.what-we-do section .service{float:left}.what-we-do section .left{padding-right:70px;text-align:right}.what-we-do section .left h2{float:right;margin-right:-.6rem}.what-we-do section .left .subtitle span{float:right}.what-we-do section .right{padding-left:70px;float:left;text-align:left}.what-we-do section .service:nth-child(2n){margin-top:275px}.what-we-do section .service:nth-child(3n){margin-top:38px}.what-we-do section .service:nth-child(4n){margin:340px 0 60px}.what-we-do section h4{font:300 2rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.12rem;margin:70px 0 25px}.what-we-do section .btn{font:1.8rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.1rem;padding:13px 30px}.products{position:relative}.products header{width:100%;position:absolute;background-color:#010d16;max-height:590px;height:590px;background:url(../images/grid-pattern.png) 0 -4px;box-shadow:inset 0 -3px 5px 0 rgba(0,0,0,.2)}.products header:before{width:100%;max-height:590px;height:590px;background:url(../images/graphs.png) center 31px no-repeat}.products .wrapper{position:relative;width:100%;top:0;left:0}.products .coderockrway .subtitle h2,.products .title{color:#fff;margin:92px auto 60px}.products .planrockr{position:relative}.products .planrockr img{display:block;width:100%;max-width:773px;margin:0 auto}.products .planrockr .subtitle{text-align:center}.products .planrockr .subtitle img{display:block;width:250px;margin:50px auto 26px}.products .planrockr .subtitle span{border-color:#0798e2}.products .planrockr .btn{border-color:#0798e2;color:#0798e2;margin-top:23px}.products .planrockr .btn:focus,.products .planrockr .btn:hover{background:#0798e2;color:#fff}.products .estimeoprazo{margin-top:80px}.products .estimeoprazo .wrapper{position:relative;margin-right:35px;float:right;text-align:right}.products .estimeoprazo .wrapper .subtitle{margin-top:30px}.products .estimeoprazo .wrapper .subtitle span{border-color:#0798e2}.products .estimeoprazo .wrapper p{width:320px;float:right;padding-left:15px}.products .estimeoprazo .wrapper .btn{border-color:#0798e2;color:#0798e2;margin-top:23px}.products .estimeoprazo .wrapper .btn:focus,.products .estimeoprazo .wrapper .btn:hover{background:#0798e2;color:#fff}.products .estimeoprazo img{display:block;float:left;width:240px;margin:38px 0 0 35px}.products .coderockrway{padding-bottom:100px}.products .coderockrway .subtitle h2{color:#fff;margin:110px auto 0}.products .coderockrway .subtitle h3{color:#0798e2;font:3.2rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.2rem;text-align:center;display:flex;flex-direction:row;justify-content:center;margin:15px 0 50px}.products .coderockrway .subtitle h3:after,.products .coderockrway .subtitle h3:before{position:relative;flex-grow:1;height:4px;content:"";background-color:#0798e2;top:2rem;max-width:80px}.products .coderockrway .subtitle h3:before{margin-right:2rem}.products .coderockrway .subtitle h3:after{margin-left:2rem}.products .coderockrway .plyr__controls,.products .coderockrway .plyr__play-large{z-index:0}.products .coderockrway .plyr__video-wrapper{margin-bottom:40px}.products .coderockrway video{width:100%!important}.products .coderockrway .text{text-align:center}.products .coderockrway .text .btn{margin-top:23px}.products .coderockrway .btn{color:#0798e2;border-color:#0798e2}.products .coderockrway .btn:focus,.products .coderockrway .btn:hover{color:#fff;background-color:#0798e2}.testimonials{border-top:1px solid #e9ecef;border-bottom:1px solid #e9ecef;background:#f8f9fa;padding-bottom:80px}.testimonials .fotorama__stage{transition:height .1s linear}.testimonials .fotorama__stage .fotorama__arr{width:46px;height:85px;top:200px;background:url(../images/arrow.svg);background-size:46px 85px}.testimonials .fotorama__stage .fotorama__arr.fotorama__arr--prev{left:20px;transform:rotate(180deg)}.testimonials .fotorama__stage .fotorama__arr.fotorama__arr--next{right:20px}.testimonials .fotorama__nav{position:absolute;transition:top .1s linear}.testimonials .fotorama__nav .fotorama__nav__frame--dot{width:9px;height:9px;border-radius:50%;border:2px solid #f1a10a;margin:0 9px}.testimonials .fotorama__nav .fotorama__nav__frame--dot.fotorama__active{background:#f1a10a}.testimonials .testimonial{text-align:center}.testimonials .testimonial img{display:block;width:240px;height:240px;border-radius:50%;border:3px solid #f1a10a;padding:10px;margin:0 auto}.testimonials .testimonial h3{position:relative;top:-60px;background:#f1a10a;display:inline-block;padding:5px 20px;color:#fff;font:2.4rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;text-transform:uppercase;letter-spacing:.2rem}.testimonials .testimonial h4{margin-top:-50px;font:1.8rem/2.8rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;text-transform:uppercase}.testimonials .testimonial blockquote{display:inline-block;border:0;margin-top:50px;font-family:gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;quotes:"“" "”" "‘" "’"}.testimonials .testimonial blockquote:after,.testimonials .testimonial blockquote:before{display:inline-block;position:static;color:#f1a10a;font-size:3em;line-height:0;vertical-align:-2.8rem}.testimonials .testimonial blockquote:before{content:open-quote;margin-right:8px}.testimonials .testimonial blockquote:after{content:close-quote;margin-left:-10px}.testimonials .testimonial blockquote p{display:inline}.articles{padding-bottom:30px}.articles ul{display:block;width:100%}.articles ul li{list-style:none;margin-bottom:60px;padding:0 25px}.articles ul li .header{text-decoration:none;color:#1d1d1b}.articles ul li .header img{display:block;width:100%}.articles ul li .header h2{font:300 3rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;line-height:4.2rem}.articles ul li .header h3{font:400 1.8rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}.articles ul li span{display:inline-block;clear:both;width:90px;border-top:4px solid #f1a10a;margin:15px 0}.articles ul li .anchor{float:left;text-decoration:none;font:1.7rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;text-transform:uppercase;color:#f1a10a;border-bottom:2px solid #f1a10a;margin-top:8px}.articles ul li .anchor:focus,.articles ul li .anchor:hover{color:#1d1d1b;border-color:#1d1d1b}footer{background:#1d1d1b;color:#fff;padding:33px 0}footer .social{margin:26px 0 0;padding:0;display:inline-block}footer .social li{list-style:none;float:left;margin:0 14px}footer .social li a{text-decoration:none;color:inherit}footer .social li a span{font-size:2.8rem}footer .social li a:focus span,footer .social li a:hover span{color:#f1a10a}footer .social li:first-child{margin-left:0!important}footer .social li:last-child{margin-right:0!important}footer .text{float:right;margin:9px 32px 0 0;text-align:right}footer .text p{font:300 1.6rem/2.6rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif!important}footer img{width:28px;margin-top:5px}#contact>.banner{width:100%;background-color:#212529;max-height:550px;height:550px;background:url(../images/mic-bg.jpg) bottom;box-shadow:inset 0 -3px 5px 0 rgba(0,0,0,.2)}#contact>.banner h1{width:100%;max-width:450px;font:5rem/9.5rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.4rem;color:#fff;margin:132px 0 0 160px;text-shadow:1px 1px 5px rgba(0,0,0,.3)}#contact .lets-talk{padding-bottom:100px}#contact .lets-talk header{text-align:center}#contact .lets-talk header .products .coderockrway .subtitle h2,#contact .lets-talk header .title,.products .coderockrway .subtitle #contact .lets-talk header h2{margin-bottom:25px}#contact .lets-talk header .products .coderockrway .subtitle h2 span,#contact .lets-talk header .title span,.products .coderockrway .subtitle #contact .lets-talk header h2 span{display:block;width:200px;border-top:4px solid #f1a10a;margin:19px auto 0}#contact .lets-talk header p span{display:block;clear:both;font-weight:400;-webkit-font-smoothing:auto}#contact .lets-talk .cross-title{position:static;letter-spacing:.2rem;margin-bottom:50px}#contact .lets-talk .cross-title:after{width:50%;border-bottom:4px solid #f1a10a}#contact .lets-talk .cross-title h2{position:relative;top:10px}#contact .lets-talk .cross-title h2:after{z-index:2;right:0;left:240px;border-bottom:4px solid #fff}#contact .lets-talk .cross-title h2 .number{position:absolute;bottom:-30px;z-index:-1;font:8rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;color:#dee2e6}#contact .lets-talk .cross-title h2 .products .coderockrway .subtitle h2,#contact .lets-talk .cross-title h2 .title,.products .coderockrway .subtitle #contact .lets-talk .cross-title h2 h2{position:relative;font:3.5rem/5.2rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}#contact .lets-talk .cross-title.left:after{left:0;min-width:255px}#contact .lets-talk .cross-title.left h2 .products .coderockrway .subtitle h2,#contact .lets-talk .cross-title.left h2 .title,.products .coderockrway .subtitle #contact .lets-talk .cross-title.left h2 h2{left:41px}#contact .lets-talk .cross-title.right:after{right:0;min-width:355px}#contact .lets-talk .cross-title.right h2{right:0;text-align:right}#contact .lets-talk .cross-title.right h2:after{left:0;right:338px}#contact .lets-talk .cross-title.right h2 .number{right:0}#contact .lets-talk .cross-title.right h2 .products .coderockrway .subtitle h2,#contact .lets-talk .cross-title.right h2 .title,.products .coderockrway .subtitle #contact .lets-talk .cross-title.right h2 h2{right:39px}#contact .lets-talk .about-you{width:100%;margin:45px 0}#contact .lets-talk .about-project{width:100%;margin-top:40px}#contact .lets-talk .about-project h3{font:3rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}#contact .lets-talk .about-project .list{display:table;margin:0 auto}#contact .lets-talk .about-project .list ul{margin:0;padding:0}#contact .lets-talk .about-project .list ul li{list-style:none}#contact .lets-talk .about-project .mdl-checkbox,#contact .lets-talk .about-project .mdl-radio{padding-left:50px;margin:12px 0;line-height:37px;height:auto}#contact .lets-talk .about-project .mdl-checkbox input,#contact .lets-talk .about-project .mdl-radio input{display:block!important}#contact .lets-talk .about-project .mdl-checkbox input:focus~.mdl-radio__label,#contact .lets-talk .about-project .mdl-radio input:focus~.mdl-radio__label{color:#f1a10a}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple,#contact .lets-talk .about-project .mdl-checkbox .mdl-radio__ripple-container .mdl-ripple,#contact .lets-talk .about-project .mdl-radio .mdl-radio__ripple-container .mdl-ripple{background:#f1a10a}#contact .lets-talk .about-project .mdl-checkbox .mdl-radio__label,#contact .lets-talk .about-project .mdl-radio .mdl-radio__label{font:300 2.2rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__box-outline,#contact .lets-talk .about-project .mdl-checkbox .mdl-radio__outer-circle,#contact .lets-talk .about-project .mdl-radio .mdl-radio__outer-circle{width:26px;height:26px;border-color:#f1a10a}#contact .lets-talk .about-project .mdl-checkbox .mdl-radio__inner-circle,#contact .lets-talk .about-project .mdl-radio .mdl-radio__inner-circle{width:16px;height:16px;top:9px;left:5px;background-color:#f1a10a}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__ripple-container,#contact .lets-talk .about-project .mdl-checkbox .mdl-radio__ripple-container,#contact .lets-talk .about-project .mdl-radio .mdl-radio__ripple-container{width:61px;height:61px;top:-14px;left:-18px}#contact .lets-talk .about-project .mdl-checkbox{top:1px}#contact .lets-talk .about-project .mdl-checkbox.is-upgraded{padding-left:50px}#contact .lets-talk .about-project .mdl-checkbox.is-focused .mdl-checkbox__label{color:#f1a10a}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__ripple-container .mdl-ripple{background:#f1a10a}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__label{font:300 2.2rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__box-outline{border-radius:0}#contact .lets-talk .about-project .mdl-checkbox.is-checked .mdl-checkbox__box-outline{border-color:#f1a10a}#contact .lets-talk .about-project .mdl-checkbox.is-checked .mdl-checkbox__tick-outline{background-color:#f1a10a}#contact .lets-talk .about-project .mdl-checkbox .mdl-checkbox__focus-helper{display:none!important}#contact .lets-talk .about-project .slider{position:relative;width:100%;margin:50px 0 40px}#contact .lets-talk .about-project .slider label{float:right;font:1.85rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;margin-top:-11px}#contact .lets-talk .about-project .slider .input{position:relative;padding-right:113px;margin-top:40px}#contact .lets-talk .about-project .slider .noUi-target{background:#000;border-radius:0;border:0;box-shadow:none}#contact .lets-talk .about-project .slider .noUi-target.noUi-horizontal{height:2px}#contact .lets-talk .about-project .slider .noUi-target .noUi-handle{width:23px;height:23px;left:-13px;top:-11px;border-radius:50%;box-shadow:1px 1px 1px rgba(0,0,0,.4);background-color:#f1a10a;border:0;transition-property:width,height,top;transition-duration:.04s;transition-timing-function:linear}#contact .lets-talk .about-project .slider .noUi-target .noUi-handle.noUi-active{width:27px;height:27px;top:-13px}#contact .lets-talk .about-project .slider .noUi-target .noUi-handle:after,#contact .lets-talk .about-project .slider .noUi-target .noUi-handle:before{display:none}#contact .lets-talk .about-project .slider .noUi-target .noUi-connect{background:#f1a10a;box-shadow:none}#contact .lets-talk .about-project .deadline{margin-top:30px;margin-bottom:30px}#contact .lets-talk .about-project .budget .input{padding-right:159px}#contact .lets-talk .about-project .description{margin-top:45px;margin-bottom:10px;clear:both}#contact .lets-talk .about-project .details{margin-top:30px}#contact .lets-talk .about-project .btn{font-size:2.4rem;margin-top:50px;padding:12px 40px 11px;outline:none;transition-property:background-color,border-color,color;transition-duration:.12s;transition-timing-function:ease-in}#contact .lets-talk .about-project .btn:active{box-shadow:none}#address{width:100%;height:600px;border-top:1px solid #e9ecef;text-align:center}#address #map{width:100%;height:100%;background:url(../images/map-bg.jpg) top no-repeat}#address .card{background:#fff;margin-top:-472px;padding:20px 0;box-shadow:1px 1px 3px 0 hsla(0,0%,69%,.35)}#address .card .products .coderockrway .subtitle h2,#address .card .title,.products .coderockrway .subtitle #address .card h2{font:3.5rem/5.2rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;margin:12px 0 22px!important}#address .card .products .coderockrway .subtitle h2 span,#address .card .title span,.products .coderockrway .subtitle #address .card h2 span{display:block;width:160px;border-top:4px solid #f1a10a;margin:20px auto 0}#address .card p{font-size:2.2rem}#address .card p.strong{font:400 2.2rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}#about .banner{width:100%;background-color:#e9ecef;max-height:550px;height:550px;background:url(../images/white_wall.png) repeat;box-shadow:inset 0 -3px 5px 0 rgba(0,0,0,.2)}#about .banner .subtitle{text-align:center;margin:70px 0 0}#about .banner .subtitle h2{font-size:4.5rem}#about .banner .subtitle span{width:300px}#about .photos{text-align:center;font-size:0;margin:-345px 0 55px}#about .photos .row{padding:0 30px;min-height:205px}#about .photos .row img{display:inline-block}#about .coderockr .history{padding-bottom:60px}#about .coderockr .history .cross-title{position:static;letter-spacing:.2rem;margin-bottom:10px}#about .coderockr .history .cross-title:after{width:50%;border-bottom:3px solid #f1a10a;margin-left:-30px}#about .coderockr .history .cross-title h2{position:relative;top:10px;height:55px;padding-left:150px}#about .coderockr .history .cross-title h2 span{display:inline-block;margin:0}#about .coderockr .history .cross-title h2 span:after{width:224px;z-index:2;left:0;bottom:-6px;border-bottom:3px solid #f1a10a}#about .coderockr .history .cross-title h2:after{z-index:2;right:0;left:374px;bottom:-3px;border-bottom:3px solid #fff}#about .coderockr .history .cross-title h2 .number{position:absolute;bottom:-30px;z-index:-1;font:8rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;color:#dee2e6}#about .coderockr .history .cross-title h2 .products .coderockrway .subtitle h2,#about .coderockr .history .cross-title h2 .title,.products .coderockrway .subtitle #about .coderockr .history .cross-title h2 h2{position:relative;font:3.5rem/5.2rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}#about .coderockr .history .cross-title.left:after{left:0}#about .coderockr .history .logo{text-align:center}#about .coderockr .history .logo img{max-width:150px;margin:130px 0 90px}#about .coderockr .history p{margin-bottom:30px}#about .coderockr .history p i{font-weight:400}#about .coderockr .principles{border-top:1px solid #e9ecef;width:100%;background:#f1f3f5;padding-top:65px}#about .coderockr .principles .container:after{border-top:1px solid #e9ecef;width:100%;height:133px;background:#fff;left:0;margin-top:-133px}#about .coderockr .principles .container ul{margin:0;padding:0}#about .coderockr .principles .container ul li{list-style:none;text-align:center;margin-bottom:70px}#about .coderockr .principles .container ul li h3{font:3.5rem/5.2rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}#about .coderockr .principles .container ul li h3:after{display:block;content:"";width:100px;margin:15px auto 16px;border-bottom:3px solid #f1a10a}#about .coderockr .principles .container header{display:block;position:relative;z-index:1;width:100%;height:544px;background:url(../images/rockstar.jpg) bottom}#about .coderockr .principles .container header span{display:block;float:left;width:500px;color:#fff;margin:110px 0 0 80px;font:4.5rem/8rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.4rem;text-shadow:1px 1px 5px rgba(0,0,0,.3)}#about .team .container .row>.subtitle{text-align:center;margin:95px 0 60px}#about .team .container .row>.subtitle h2{font-size:4.5rem}#about .team .container .row>.subtitle span{width:300px}#about .team .container .row>ul{padding:0;list-style:none}#about .team .container .row>ul li:nth-child(2n) .person{flex-direction:row-reverse}#about .team .container .row>ul li:nth-child(2n) .person .profile .subtitle,#about .team .container .row>ul li:nth-child(2n) .person .profile p{text-align:right}#about .team .container .row>ul li:nth-child(2n) .person .profile a{float:right;clear:both;margin-bottom:1rem}#about .team .container .row>ul li .person{align-items:center}#about .team .container .row>ul li .person .avatar{width:210px;margin:10px 30px 0}#about .team .container .row>ul li .person .avatar .shadow{width:210px;display:inline-block;position:relative;border-radius:50%;box-shadow:inset 3px 3px 10px rgba(0,0,0,.2)}#about .team .container .row>ul li .person .avatar .shadow img{width:210px;display:inline-block;max-width:100%;position:relative;z-index:-1;border-radius:50%}#about .team .container .row>ul li .person .avatar ul{list-style:none;padding:0;justify-content:center}#about .team .container .row>ul li .person .avatar ul li{margin-top:28px}#about .team .container .row>ul li .person .avatar ul li a{text-decoration:none;font-size:2.8rem;color:#f1a10a;margin:0 5px}#about .team .container .row>ul li .person .avatar ul li a:focus,#about .team .container .row>ul li .person .avatar ul li a:hover{color:#000}#about .team .container .row>ul li .person .profile{margin:0 30px;display:block}#about .team .container .row>ul li .person .profile .subtitle{text-align:left;margin-top:0}#about .team .container .row>ul li .person .profile .subtitle h2{font-size:2.7rem}#about .team .container .row>ul li .person .profile .subtitle span{width:80px;margin:22px 0 10px;border-top:3px solid #f1a10a}#about .team .container .row>ul li .person .profile a{display:inline-block;font:2rem/2.5rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.1rem;text-decoration:none;text-transform:uppercase;color:#f1a10a;border-bottom:2px solid #f1a10a;margin-top:8px;padding-bottom:1px}#about .team .container .row>ul li .person .profile a:focus,#about .team .container .row>ul li .person .profile a:hover{color:#1d1d1b;border-color:#1d1d1b}#about .team .container .row>ul li .stars{justify-content:center;padding:55px 0 70px;font-size:1.6rem}#about .team .container .row h3{clear:both;color:#1d1d1b;font:3.5rem/5.2rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;letter-spacing:.2rem;text-align:center;display:flex;flex-direction:row;justify-content:center;margin:100px 0}#about .team .container .row h3:after,#about .team .container .row h3:before{position:relative;flex-grow:1;height:3px;content:"";background-color:#f1a10a;top:2.4rem;max-width:80px}#about .team .container .row h3:before{margin-right:2rem}#about .team .container .row h3:after{margin-left:2rem}#main-content{padding-top:100px;background-color:#fff;box-shadow:0 0 40px rgba(0,0,0,.8);z-index:1;-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;transition-property:opacity;transition-duration:.4s}#main-content.move-out{opacity:0}.no-js #main-content{height:auto;overflow-x:auto;overflow-y:auto}#menu-mobile{position:absolute;top:0;left:0;width:100%;min-height:100%;background:#fff;-webkit-transform:translateZ(0);-webkit-backface-visibility:hidden;transform:translateY(-100%);transition-property:transform;transition-duration:.4s;z-index:3}#menu-mobile ul{padding:0;margin-top:40px}#menu-mobile li{text-align:center;list-style:none;margin:28px 0}#menu-mobile li a{display:inline-block;margin-bottom:5px;border-bottom:2px solid #f1a10a;font:2rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif;-webkit-font-smoothing:auto;text-decoration:none;color:#000}#menu-mobile .close-menu{position:absolute;top:25px;right:19px;display:inline-block;padding:10px}#menu-mobile .close-menu img{width:26px}.no-touch #menu-mobile li a:hover{border-color:#fff}#menu-mobile.is-visible{box-shadow:0 0 20px rgba(0,0,0,.4);transform:translateY(0)}.no-js #menu-mobile{position:static;transform:translateY(0)}.no-js #menu-mobile .close-menu{display:none}.shadow-layer{position:fixed;top:0;left:0;height:100%;width:100%;background:rgba(0,0,0,.4);z-index:2;opacity:0;visibility:hidden;transition:visibility 0s .5s,opacity .5s 0s}.shadow-layer.is-visible{opacity:1;visibility:visible;transition-delay:0s}.group{position:relative;margin:30px 0;font:2.2rem aller,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif}.group input{padding:10px 10px 5px 5px;display:block;width:100%;border:none;border-radius:0;border-bottom:2px solid #1d1d1b}.group input:focus~label,.group input:valid~label{top:-20px;font-size:1.4rem;color:#868e96}.group input input:focus~.highlight{animation:B .3s ease}.group input:focus~.bar:after,.group input:focus~.bar:before{width:50%}.group input:focus{outline:none}.group .highlight{position:absolute;height:60%;width:100px;top:25%;left:0;pointer-events:none;opacity:.5}.group .bar{position:relative;display:block;width:100%}.group .bar:after,.group .bar:before{height:2px;width:0;top:-2px;background:#f1a10a;transition:all .2s ease}.group .bar:before{left:50%}.group .bar:after{right:50%}.group label{color:#868e96;font-weight:400;position:absolute;pointer-events:none;left:5px;top:10px;transition:all .2s ease}@keyframes B{0%{background:#5264ae}to{width:0;background:transparent}}#about .coderockr .history .cross-title:after,#about .coderockr .history .cross-title h2 span:after,#about .coderockr .history .cross-title h2:after,#about .coderockr .principles .container:after,#contact .lets-talk .cross-title:after,#contact .lets-talk .cross-title h2:after,.group .bar:after,.group .bar:before,.products header:before,.pseudo,.what-we-do .blurred:before,.what-we-do header:after,.what-we-do section .wrapper:after{display:block;position:absolute;content:""}@media only screen and (max-width:1480px){#about .photos .row .pic-0,#about .photos .row .pic-3,#about .photos .row .pic-4,#about .photos .row .pic-9{display:none}}@media only screen and (max-width:1200px){#home>.banner{width:100%;max-height:500px;height:500px;background:url(../images/crowd-lg.jpg) bottom}#home>.banner h1{font-size:3.8rem;line-height:7.5rem;margin-top:56px}#contact>.banner{width:100%;max-height:500px;height:500px;background:url(../images/mic-lg.jpg) bottom}#contact>.banner h1{margin:105px 0 0 100px}.what-we-do header h3{font-size:3rem}.what-we-do .development h2{margin-right:0!important}.what-we-do h2{letter-spacing:normal}.team header{margin-top:-356px!important}}@media only screen and (max-width:1010px){#about .photos .row{padding:0 15px}#about .photos .row .pic-0,#about .photos .row .pic-2,#about .photos .row .pic-3,#about .photos .row .pic-4,#about .photos .row .pic-8,#about .photos .row .pic-9{display:none}}@media only screen and (max-width:992px){.group{margin:60px 0 30px!important}#about .coderockr .cross-title h2{padding:0!important;text-align:center}#about .coderockr .cross-title h2:after{left:470px!important}#about .coderockr .history{padding-bottom:45px}#about .coderockr .history .logo img{max-width:100px;margin:75px 0 60px}#about .coderockr .history p{text-align:center}#about .coderockr .principles{padding-top:58px}#about .team .container .row>.subtitle{text-align:center;margin:85px 0 45px}#about .team .container .row>ul li .stars{padding:45px 0 60px}#about .coderockr .principles .container ul li{margin-bottom:58px}#about .team .container .row h3{margin:80px 0}.team header{margin-top:-112px!important}#header nav{display:none}#home>.banner{background:url(../images/crowd-md.jpg) bottom}#contact>.banner{background:url(../images/mic-md.jpg) bottom}.what-we-do header{margin-bottom:20px}.what-we-do header h3{font-size:2.8rem}.products .coderockrway .subtitle .what-we-do h2,.what-we-do .products .coderockrway .subtitle h2,.what-we-do .title{margin-bottom:0}.what-we-do .wrapper:after{display:none!important}.what-we-do .service{padding:0!important;margin:30px 0!important}.what-we-do .left h2{margin-right:-.4rem!important}.products .coderockrway .subtitle h2,.title{margin:80px 0 60px}.coderockrway .title,.products .coderockrway .subtitle h2{margin:80px 0 15px}.coderockrway h3{margin-bottom:35px!important}.coderockrway .plyr,.coderockrway .text{margin:0!important}.coderockrway .text{margin-top:25px!important;text-align:center}#footer{text-align:center}#footer img{float:none!important;display:block;clear:both;margin:35px auto}#footer .text{clear:both;width:100%;margin:0;text-align:center!important}}@media only screen and (max-width:768px){#about .photos .row .img-responsive{display:inline-block}#about .photos .row .pic-0,#about .photos .row .pic-1,#about .photos .row .pic-2,#about .photos .row .pic-3,#about .photos .row .pic-4,#about .photos .row .pic-7,#about .photos .row .pic-8,#about .photos .row .pic-9{display:none}#about .principles header span{font-size:3.5rem!important;line-height:7rem!important;width:330px!important;margin:62px 0 0 40px!important}#about .person{flex-direction:column!important;text-align:center}#about .person .profile .subtitle{text-align:center!important;margin-top:30px!important}#home>.banner{width:100%;max-height:450px;height:450px;background:url(../images/crowd-sm.jpg) bottom}#home>.banner h1{font-size:3rem;line-height:7.5rem;margin-top:72px}#contact>.banner{width:100%;max-height:450px;height:450px;background:url(../images/mic-sm.jpg) bottom}#contact>.banner h1{max-width:380px;font-size:4rem;margin:85px auto 0}.what-we-do .blurred,.what-we-do .blurred:before,.what-we-do header{display:none}.what-we-do section{margin-top:0}.products header,.products header:before{max-height:500px!important;height:500px!important}.products header:before{background:url(../images/graphs.png) center -36px no-repeat}.products .estimeoprazo .wrapper{text-align:center;margin:0}.products .estimeoprazo .wrapper .subtitle{margin-top:20px}.products .estimeoprazo .wrapper p{width:auto;padding:0;float:left}.products .estimeoprazo img{margin:40px auto 0;float:none}}@media only screen and (max-width:608px){#home>.banner h1{font-size:3rem;line-height:6rem}}@media only screen and (max-width:550px){#home>.banner{width:100%;max-height:400px;height:400px}#home>.banner h1{font-size:2.5rem;line-height:5.5rem;margin:34px 30px 0}}@media only screen and (max-width:550px) and (-webkit-min-device-pixel-ratio:2){#home>.banner{max-height:355px;height:355px}}@media only screen and (max-width:480px){#home>.banner{background:url(../images/crowd-xs.jpg) bottom}#contact>.banner{background:url(../images/mic-xs.jpg) bottom}#contact>.banner h1{margin:55px auto 0;max-width:260px;line-height:8.5rem;text-align:center}.products .coderockrway .subtitle h2,.title{font-size:3.8rem}.subtitle h2{font-size:2.5rem}.what-we-do h4{margin-top:30px!important}.what-we-do .service{margin:18px 0!important}.what-we-do .service:nth-child(1n){margin-top:0!important}.what-we-do .btn{font-size:1.6rem!important;padding:13px 15px!important}#about .principles header span{font-size:3.5rem!important;line-height:7rem!important;width:330px!important;margin:62px 0 0 40px!important}.products header,.products header:before{max-height:400px!important;height:400px!important}.products header:before{background:url(../images/graphs.png) center -130px no-repeat}.products .estimeoprazo{margin-top:55px!important}.products .coderockrway{padding-bottom:80px}.products .coderockrway h3{font-size:2rem!important}.products .coderockrway h3:after,.products .coderockrway h3:before{top:1.2rem!important}.products .coderockrway .subtitle h2,.products .title{margin:62px auto 20px!important}.fotorama__arr{display:none!important}#footer li{margin:0 10px}#footer li:first-child{margin-left:0!important}#footer li:last-child{margin-right:0!important}}@media only screen and (max-width:465px){.products .coderockrway .subtitle h2,.title{margin:60px 0 40px}#home>.banner h1{font-size:2.2rem;line-height:5.2rem;margin:43px 0}.what-we-do section{padding-bottom:76px}#contact .cross-title h2 .number{bottom:-24px!important;font:6rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif!important}#contact .cross-title h2 .products .coderockrway .subtitle h2,#contact .cross-title h2 .title,.products .coderockrway .subtitle #contact .cross-title h2 h2{font:2.6rem/5.2rem gobold,Helvetica Neue,Segoe UI,Helvetica,Arial,sans-serif!important;bottom:-6px}#contact .cross-title.left:after{min-width:204px!important}#contact .cross-title.left h2:after{left:189px!important}#contact .cross-title.left h2 .products .coderockrway .subtitle h2,#contact .cross-title.left h2 .title,.products .coderockrway .subtitle #contact .cross-title.left h2 h2{left:31px!important}#contact .cross-title.right:after{min-width:283px!important}#contact .cross-title.right h2:after{right:268px!important}#contact .cross-title.right h2 .products .coderockrway .subtitle h2,#contact .cross-title.right h2 .title,.products .coderockrway .subtitle #contact .cross-title.right h2 h2{right:30px!important}}@media only screen and (max-width:368px){#home>.banner h1{font-size:2rem;line-height:5rem;margin:43px 0}#about .photos{margin:-345px 0 65px}#about .principles header span{font-size:3rem!important;line-height:7rem!important;width:280px!important;margin:62px 0 0 18px!important}}@media only screen and (max-width:346px){#home>.banner h1{margin:24px 0}}@media only screen and (max-width:320px){#home>.banner h1{font-size:1.8rem;line-height:4.75rem;margin:35px 0}#about .photos{margin:-345px 0 90px}}
+/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tbGl0ZS9zcmMvdHlwb2dyYXBoeS9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9fbWl4aW5zLnNjc3MiLCJmb3RvcmFtYS5zY3NzIiwibWFpbi5jc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbm91aXNsaWRlci9kaXN0cmlidXRlL25vdWlzbGlkZXIuY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9yZXNldHMvX2g1YnAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tbGl0ZS9zcmMvX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9yZXNldHMvX21vYmlsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9yZXNldHMvX3Jlc2V0cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9wYWxldHRlL19wYWxldHRlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL3JpcHBsZS9fcmlwcGxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL2FuaW1hdGlvbi9fYW5pbWF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL2JhZGdlL19iYWRnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9idXR0b24vX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9jYXJkL19jYXJkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL2NoZWNrYm94L19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9jaGlwL19jaGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL2RhdGEtdGFibGUvX2RhdGEtdGFibGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tbGl0ZS9zcmMvZGlhbG9nL19kaWFsb2cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tbGl0ZS9zcmMvZm9vdGVyL19tZWdhX2Zvb3Rlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9mb290ZXIvX21pbmlfZm9vdGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL2ljb24tdG9nZ2xlL19pY29uLXRvZ2dsZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9saXN0L19saXN0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL21lbnUvX21lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tbGl0ZS9zcmMvcHJvZ3Jlc3MvX3Byb2dyZXNzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL2xheW91dC9fbGF5b3V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL3JhZGlvL19yYWRpby5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9zbGlkZXIvX3NsaWRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9zbmFja2Jhci9fc25hY2tiYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tbGl0ZS9zcmMvc3Bpbm5lci9fc3Bpbm5lci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy9zd2l0Y2gvX3N3aXRjaC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21hdGVyaWFsLWRlc2lnbi1saXRlL3NyYy90YWJzL190YWJzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL3RleHRmaWVsZC9fdGV4dGZpZWxkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWF0ZXJpYWwtZGVzaWduLWxpdGUvc3JjL3Rvb2x0aXAvX3Rvb2x0aXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tbGl0ZS9zcmMvc2hhZG93L19zaGFkb3cuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tbGl0ZS9zcmMvZ3JpZC9fZ3JpZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9fYm9vdHN0cmFwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbm9ybWFsaXplLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcHJpbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19nbHlwaGljb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fc2NhZmZvbGRpbmcuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdmVuZG9yLXByZWZpeGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3RhYi1mb2N1cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3R5cGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fY2xlYXJmaXguc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGV4dC1vdmVyZmxvdy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2NvZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19ncmlkLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2dyaWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL190YWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fdGFibGUtcm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZm9ybXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZm9ybXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19idXR0b25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2J1dHRvbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fb3BhY2l0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2NvbXBvbmVudC1hbmltYXRpb25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZHJvcGRvd25zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Jlc2V0LWZpbHRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2J1dHRvbi1ncm91cHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2lucHV0LWdyb3Vwcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX25hdnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19uYXZiYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fbmF2LXZlcnRpY2FsLWFsaWduLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19wYWdlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2xhYmVscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19sYWJlbHMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19iYWRnZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19qdW1ib3Ryb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL190aHVtYm5haWxzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fYWxlcnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2FsZXJ0cy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Byb2dyZXNzLWJhcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX21lZGlhLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbGlzdC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcGFuZWxzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX3BhbmVscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3Jlc3BvbnNpdmUtZW1iZWQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL193ZWxscy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX2Nsb3NlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fbW9kYWxzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fdG9vbHRpcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcG9wb3ZlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19jYXJvdXNlbC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvX3V0aWxpdGllcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19jZW50ZXItYmxvY2suc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9faGlkZS10ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fcmVzcG9uc2l2ZS11dGlsaXRpZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fcmVzcG9uc2l2ZS12aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Nzcy9wbHlyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Nzcy92YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9wbHlyL3NyYy9zY3NzL21peGlucy5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N3ZWV0YWxlcnQyL3NyYy9zd2VldGFsZXJ0Mi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL3N3ZWV0YWxlcnQyL3NyYy9taXhpbnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9zd2VldGFsZXJ0Mi9zcmMvdmFyaWFibGVzLnNjc3MiLCJtYWluLnNjc3MiLCJfY29udGFjdC5zY3NzIiwiX2Fib3V0LnNjc3MiLCJfcGFydGlhbHMuc2NzcyIsIl9taWRpYS1xdWVyaWVzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0ZFLGlCQzJFaUI7O0FDMUtuQjs7R0FFRyxBQUNILDZRQUE2USxrQkFBa0IsQUFBQyxXQUFXLEFBQUMsWUFBWSxBQUFDLE1BQU0sQUFBQyxRQUFRLEFBQUMsT0FBTyxBQUFDLFFBQVMsQ0FBRSxBQUFELHFDQUFxQyw0QkFBMkIsQUFBQyw2QkFBNEIsQUFBQyxzQkFBcUIsQUFBQyx1QkFBc0IsQUFBQywwQkFBeUIsQUFBQywwQkFBeUIsQUFBQyxtQkFBbUIsQ0FBRSxBQUFELGdDQUFnQyxZQUFZLEFBQUMsb0JBQW9CLEFBQUMsZUFBZSxBQUFDLGdCQUFnQixBQUFDLFdBQVksQ0FBRSxBQUFELHNCQUFzQixZQUFZLEFBQUMsd0JBQXdCLEFBQUMsbUJBQW1CLEFB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RSxDQUNsRSxBQUlELHNCQUNFLHVCQUFzRCxDQUN2RCxBQUVELGlCQUNFLGtDQUFpRSxDQUNsRSxBQUVELHlCQUNFLHVCQUFxRCxDQUN0RCxBQUVELG9CQUNFLGtDQUFnRSxDQUNqRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUlELHdCQUNFLHVCQUF3RCxDQUN6RCxBQUVELG1CQUNFLGtDQUFtRSxDQUNwRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLG9CQUF5RCxDQUMxRCxBQUVELHdCQUNFLCtCQUFvRSxDQUNyRSxBQUlELDZCQUNFLHVCQUE2RCxDQUM5RCxBQUVELHdCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUlELHdCQUNFLHVCQUF3RCxDQUN6RCxBQUVELG1CQUNFLGtDQUFtRSxDQUNwRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUlELHNCQUNFLHVCQUFzRCxDQUN2RCxBQUVELGlCQUNFLGtDQUFpRSxDQUNsRSxBQUVELHlCQUNFLHVCQUFxRCxDQUN0RCxBQUVELG9CQUNFLGtDQUFnRSxDQUNqRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUlELDRCQUNFLHVCQUE0RCxDQUM3RCxBQUVELHVCQUNFLGtDQUF1RSxDQUN4RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUlELHNCQUNFLHVCQUFzRCxDQUN2RCxBQUVELGlCQUNFLGtDQUFpRSxDQUNsRSxBQUVELHlCQUNFLHVCQUFxRCxDQUN0RCxBQUVELG9CQUNFLGtDQUFnRSxDQUNqRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUlELHNCQUNFLHVCQUFzRCxDQUN2RCxBQUVELGlCQUNFLGtDQUFpRSxDQUNsRSxBQUVELHlCQUNFLHVCQUFxRCxDQUN0RCxBQUVELG9CQUNFLGtDQUFnRSxDQUNqRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUlELHVCQUNFLHVCQUF1RCxDQUN4RCxBQUVELGtCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUlELDZCQUNFLHVCQUE2RCxDQUM5RCxBQUVELHdCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUlELHNCQUNFLHVCQUFzRCxDQUN2RCxBQUVELGlCQUNFLGtDQUFpRSxDQUNsRSxBQUVELHlCQUNFLHVCQUFxRCxDQUN0RCxBQUVELG9CQUNFLGtDQUFnRSxDQUNqRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUlELHdCQUNFLHVCQUF3RCxDQUN6RCxBQUVELG1CQUNFLGtDQUFtRSxDQUNwRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLG9CQUF5RCxDQUMxRCxBQUVELHdCQUNFLCtCQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUlELHVCQUNFLHVCQUF1RCxDQUN4RCxBQUVELGtCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUlELHdCQUNFLHVCQUF3RCxDQUN6RCxBQUVELG1CQUNFLGtDQUFtRSxDQUNwRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDRCQUNFLHVCQUF3RCxDQUN6RCxBQUVELHVCQUNFLGtDQUFtRSxDQUNwRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUVELDZCQUNFLHVCQUF5RCxDQUMxRCxBQUVELHdCQUNFLGtDQUFvRSxDQUNyRSxBQUlELDZCQUNFLHVCQUE2RCxDQUM5RCxBQUVELHdCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGdDQUNFLHVCQUE0RCxDQUM3RCxBQUVELDJCQUNFLGtDQUF1RSxDQUN4RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGlDQUNFLHVCQUE2RCxDQUM5RCxBQUVELDRCQUNFLGtDQUF3RSxDQUN6RSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUVELGtDQUNFLHVCQUE4RCxDQUMvRCxBQUVELDZCQUNFLGtDQUF5RSxDQUMxRSxBQUlELHVCQUNFLHVCQUF1RCxDQUN4RCxBQUVELGtCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUVELDJCQUNFLHVCQUF1RCxDQUN4RCxBQUVELHNCQUNFLGtDQUFrRSxDQUNuRSxBQUlELHNCQUNFLHVCQUFzRCxDQUN2RCxBQUVELGlCQUNFLGtDQUFpRSxDQUNsRSxBQUVELHlCQUNFLHVCQUFxRCxDQUN0RCxBQUVELG9CQUNFLGtDQUFnRSxDQUNqRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLG9CQUFzRCxDQUN2RCxBQUVELHFCQUNFLCtCQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUVELDBCQUNFLHVCQUFzRCxDQUN2RCxBQUVELHFCQUNFLGtDQUFpRSxDQUNsRSxBQUlELDJCQUNFLHVCQUEyRCxDQUM1RCxBQUVELHNCQUNFLGtDQUFzRSxDQUN2RSxBQUVELDhCQUNFLHVCQUEwRCxDQUMzRCxBQUVELHlCQUNFLGtDQUFxRSxDQUN0RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUVELCtCQUNFLHVCQUEyRCxDQUM1RCxBQUVELDBCQUNFLGtDQUFzRSxDQUN2RSxBQUlELGtCQUNFLCtCQUE0RCxDQUM3RCxBQUVELHVCQUNFLG9CQUFpRCxDQUNsRCxBQUlELGtCQUNFLCtCQUE0RCxDQUM3RCxBQUVELHVCQUNFLG9CQUFpRCxDQUNsRCxBQUtILG9CQUNFLGtDQUE4RCxDQUMvRCxBQUVELDZCQUNFLCtCQUF1RSxDQUN4RSxBQUVELHlCQUNFLGtDQUFtRSxDQUNwRSxBQUVELG1CQUNFLGtDQUE2RCxDQUM5RCxBQUVELDRCQUNFLCtCQUFz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Q3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHNCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGlDQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLG1DQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGtDQUErQyxlQUFpQixDQUFJLEFBQ3BFLG9DQUErQyxlQUFpQixDQUFJLEFBQ3BFLHNCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHFDQUErQyxlQUFpQixDQUFJLEFBQ3BFLG9DQUErQyxlQUFpQixDQUFJLEFBQ3BFLGtDQUErQyxlQUFpQixDQUFJLEFBQ3BFLG9DQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHNCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHNCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLG1DQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVDQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLG9DQUErQyxlQUFpQixDQUFJLEFBQ3BFLHFDQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlDQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGlDQUErQyxlQUFpQixDQUFJLEFBQ3BFLG9DQUErQyxlQUFpQixDQUFJLEFBQ3BFLGlDQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGlDQUErQyxlQUFpQixDQUFJLEFBQ3BFLHFCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBU3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHlCQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHNCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHVCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDJCQUErQyxlQUFpQixDQUFJLEFBR3BFLHNFQUErQyxlQUFpQixDQUFJLEFBRXBFLDRDQUErQyxlQUFpQixDQUFJLEFBRXBFLDhDQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLG1DQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLG9DQUErQyxlQUFpQixDQUFJLEFBQ3BFLGtDQUErQyxlQUFpQixDQUFJLEFBQ3BFLGlDQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHNCQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLGtDQUErQyxlQUFpQixDQUFJLEFBQ3BFLG1DQUErQyxlQUFpQixDQUFJLEFBQ3BFLHNDQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBDQUErQyxlQUFpQixDQUFJLEFBQ3BFLG9DQUErQyxlQUFpQixDQUFJLEFBQ3BFLHdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLHFDQUErQyxlQUFpQixDQUFJLEFBQ3BFLGlDQUErQyxlQUFpQixDQUFJLEFBQ3BFLGdDQUErQyxlQUFpQixDQUFJLEFBQ3BFLGtDQUErQyxlQUFpQixDQUFJLEFBQ3BFLCtCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDhCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDZCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDRCQUErQyxlQUFpQixDQUFJLEFBQ3BFLDBCQUErQyxlQUFpQixDQUFJLEFD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a0JmMEI0QixBZXpCNUIsZWZyQjBCLEFlc0IxQixvQmZnQ2lDLEFlL0JqQyxpQmZtQzJCLENlbEM1QixBQUVELHlJQUNFLFlmd0lrQyxBZXZJbEMsZ0JmdUlrQyxDZXRJbkMsQUFFRCxrVUFDRSxXQUFhLENBQ2QsQURnUkgsNkJBRUksWWRoSmtDLEFjaUpsQyxrQmR0UTRCLEFjdVE1QixlZHJUMEIsQWNzVDFCLG9CZGhRaUMsQWNpUWpDLGlCZDdQMkIsQ2M4UDVCLEFBUEgsbUNBU0ksWWR2SmtDLEFjd0psQyxnQmR4SmtDLENjeUpuQyxBQVhILGtGQWNJLFdBQWEsQ0FDZCxBQWZILG9DQWlCSSxZZC9Ka0MsQWNnS2xDLGdCQUFrQyxBQUNsQyxrQmR0UjRCLEFjdVI1QixlZHJVMEIsQWNzVTFCLG1CZGhSaUMsQ2NpUmxDLEFBUUgsY0FFRSxpQkFBbUIsQ0FNcEIsQUFSRCw0QkFNSSxvQkFBa0MsQ0FDbkMsQUFHSCx1QkFDRSxrQkFBbUIsQUFDbkIsTUFBTyxBQUNQLFFBQVMsQUFDVCxVQUFXLEFBQ1gsY0FBZSxBQUNmLFdkOUxxRCxBYytMckQsWWQvTHFELEFjZ01yRCxpQmRoTXFELEFjaU1yRCxrQkFBbUIsQUFDbkIsbUJBQXFCLENBQ3RCLEFBQ0Qsd1NBR0UsV2RyTW9DLEFjc01wQyxZZHRNb0MsQWN1TXBDLGdCZHZNb0MsQ2N3TXJDLEFBQ0Qsd1NBR0UsV2QxTXFDLEFjMk1yQyxZZDNNcUMsQWM0TXJDLGdCZDVNcUMsQ2M2TXRDLEFDL1pDLGlSQVVFLGFmc2VvQyxDZXJlckMsQUFFRCwyQkFDRSxxQmZrZW9DLEFEbGI5QiwyQ2dCL0NrQyxDQU16QyxBQVJELGlDQUlJLHFCQUFvQixBaEI2Q2hCLDJEZ0I1Q3NELENBRTNELEFBR0gsZ0NBQ0UsY2Z3ZG9DLEFldmRwQyxxQmZ1ZG9DLEFldGRwQyx3QmZ1ZG9DLENldGRyQyxBQUVELG9DQUNFLGFma2RvQyxDZWpkckMsQUEvQkQsaVJBVUUsYWY4ZW9DLENlN2VyQyxBQUVELDJCQUNFLHFCZjBlb0MsQUQxYjlCLDJDZ0IvQ2tDLENBTXpDLEFBUkQsaUNB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Q3BCLG9CQUFvQixDQVN6QixBRGdDSCx1UkNwQ00sV2pCd0grQixBaUJ2SC9CLHlCQUF3QixBQUNwQixvQkFBb0IsQ0FDekIsQURpQ0wsMkVDNUJJLHFCQUF1QixDQUN4QixBRDJCSCw2UkNwQk0sc0JqQnlHK0IsQWlCeEczQixpQmpCeUcyQixDaUJ4R2hDLEFBR0gsb0JBQ0UsV2pCbUdpQyxBaUJsR2pDLHFCakJpR2lDLENpQmhHbEMsQURlSCxhQ2hFRSxXakJxSm1DLEFpQnBKbkMseUJqQlU0QixBaUJUNUIsb0JqQnFKcUMsQ2dCckZ0QyxBQUZELHNDQzFESSxXakIrSWlDLEFpQjlJakMseUJBQXdCLEFBQ3BCLG9CQUFvQixDQUN6QixBRHVESCw4RkM5Q0ksV2pCbUlpQyxBaUJsSWpDLHlCQUF3QixBQUNwQixvQkFBb0IsQ0FTekIsQURtQ0gsdVJDdkNNLFdqQjRIK0IsQWlCM0gvQix5QkFBd0IsQUFDcEIsb0JBQW9CLENBQ3pCLEFEb0NMLDJFQy9CSSxxQkFBdUIsQ0FDeEIsQUQ4QkgsNlJDdkJNLHlCakI5QndCLEFpQitCcEIsb0JqQjZHNkIsQ2lCNUdsQyxBQUdILG9CQUNFLGNqQnBDMEIsQWlCcUMxQixxQmpCcUdpQyxDaUJwR2xDLEFEbUJILGFDcEVFLFdqQnlKbUMsQWlCeEpuQyx5QmpCVzZCLEFpQlY3QixvQmpCeUpxQyxDZ0JyRnRDLEFBRkQsc0NDOURJLFdqQm1KaUMsQWlCbEpqQyx5QkFBd0IsQUFDcEIsb0JBQW9CLENBQ3pCLEFEMkRILDhGQ2xESSxXakJ1SWlDLEFpQnRJakMseUJBQXdCLEFBQ3BCLG9CQUFvQixDQVN6QixBRHVDSCx1UkMzQ00sV2pCZ0krQixBaUIvSC9CLHlCQUF3QixBQUNwQixvQkFBb0IsQ0FDekIsQUR3Q0wsMkVDbkNJLHFCQUF1QixDQUN4QixBRGtDSCw2UkMzQk0seUJqQjdCeUIsQWlCOEJyQixvQmpCaUg2QixDaUJoSGxDLEFBR0gsb0JBQ0UsY2pCbkMyQixBaUJvQzNCLHFCakJ5R2lDLENpQnhHbEMsQUR1QkgsVUN4RUUsV2pCNkptQyxBaUI1Sm5DLHlCakJZNkIsQWlCWDdCLG9CakI2SnFDLENnQnJGdEMsQUFGRCxnQ0NsRUksV2pCdUppQyxBaUJ0SmpDLHlCQUF3QixBQUNwQixvQkFBb0IsQ0FDekIsQUQrREgsa0ZDdERJLFdqQjJJaUMsQWlCMUlqQyx5QkFBd0IsQUFDcEIsb0JBQW9CLENBU3pCLEFEMkNILDRQQy9DTSxXakJvSStCLEFpQm5JL0IseUJBQXdCLEFBQ3BCLG9CQUFvQixDQUN6QixBRDRDTCxrRUN2Q0kscUJBQXVCLENBQ3hCLEFEc0NILGtRQy9CTSx5QmpCNUJ5QixBaUI2QnJCLG9CakJxSDZCLENpQnBIbEMsQUFHSCxpQkFDRSxjakJsQzJCLEFpQm1DM0IscUJqQjZHaUMsQ2lCNUdsQyxBRDJCSCxhQzVFRSxXakJpS21DLEFpQmhLbkMseUJqQmE2QixBaUJaN0Isb0JqQmlLcUMsQ2dCckZ0QyxBQUZELHNDQ3RFSSxXakIySmlDLEFpQjFKakMseUJBQXdCLEFBQ3BCLG9CQUFvQixDQUN6QixBRG1FSCw4RkMxREksV2pCK0lpQyxBaUI5SWpDLHlCQUF3QixBQUNwQixvQkFBb0IsQ0FTekIsQUQrQ0gsdVJDbkRNLFdqQndJK0IsQWlCdkkvQix5QkFBd0IsQUFDcEIsb0JBQW9CLENBQ3pCLEFEZ0RMLDJFQzNDSSxxQkFBdUIsQ0FDeEIsQUQwQ0gsNlJDbkNNLHlCakIzQnlCLEFpQjRCckIsb0JqQnlINkIsQ2lCeEhsQyxBQUdILG9CQUNFLGNqQmpDMkIsQWlCa0MzQixxQmpCaUhpQyxDaUJoSGxDLEFEK0JILFlDaEZFLFdqQnFLbUMsQWlCcEtuQyx5QmpCYzZCLEFpQmI3QixvQmpCcUtxQyxDZ0JyRnRDLEFBRkQsb0NDMUVJLFdqQitKaUMsQWlCOUpqQyx5QkFBd0IsQUFDcEIsb0JBQW9CLENBQ3pCLEFEdUVILDBGQzlESSxXakJtSmlDLEFpQmxKakMseUJBQXdCLEFBQ3BCLG9CQUFvQixDQVN6QixBRG1ESCw4UUN2RE0sV2pCNEkrQixBaUIzSS9CLHlCQUF3QixBQUNwQixvQkFBb0IsQ0FDekIsQURvREwsd0VDL0NJLHFCQUF1QixDQUN4QixBRDhDSCxvUkN2Q00seUJqQjFCeUIsQWlCMkJyQixvQmpCNkg2QixDaUI1SGxDLEFBR0gsbUJBQ0UsY2pCaEMyQixBaUJpQzNCLHFCakJxSGlDLENpQnBIbEMsQUR3Q0gsVUFDRSxjaEIvRTRCLEFnQmdGNUIsZ0JBQW9CLEFBQ3BCLGVBQWlCLENBOEJsQixBQWpDRCw2RkFVSSw2QkFBOEIsQWpCcEN4QixlaUJxQ2tCLENBQ3pCLEFBWkgsMkRBaUJJLHdCQUEwQixDQUMzQixBQWxCSCxnQ0FxQkksY2hCaEYwQixBZ0JpRjFCLDBCaEIvRTZCLEFnQmdGN0IsNEJBQThCLENBQy9CLEFBeEJILDBIQTZCTSxXaEI5RzBCLEFnQitHMUIsb0JBQXNCLENBQ3ZCLEFBUUwsMkJDMUVFLGtCakJzQzhCLEFpQnJDOUIsZWpCVDRCLEFpQlU1QixvQmpCNENtQyxBaUIzQ25DLGlCakIrQzZCLENnQjJCOUIsQUFDRCwyQkM5RUUsaUJqQnlDOEIsQWlCeEM5QixlakJSNEIsQWlCUzVCLGdCakI2QzZCLEFpQjVDN0IsaUJqQmdENkIsQ2dCOEI5QixBQUNELDJCQ2xGRSxnQmpCNEM2QixBaUIzQzdCLGVqQlI0QixBaUJTNUIsZ0JqQjZDNkIsQWlCNUM3QixpQmpCZ0Q2QixDZ0JpQzlCLEFBTUQsV0FDRSxjQUFlLEFBQ2YsVUFBWSxDQUNiLEFBR0Qsc0JBQ0UsY0FBZ0IsQ0FDakIsQUFHRCxzRkFJSSxVQUFZLENBQ2IsQUc3SkgsTUFDRSxVQUFXLEFwQmlMSCw4Qm9CaEwrQixDQUl4QyxBQU5ELFNBSUksU0FBVyxDQUNaLEFBR0gsVUFDRSxZQUFjLENBS2YsQUFORCxhQUdjLGFBQWUsQ0FBSSxBQUtqQyxlQUFvQixpQkFBbUIsQ0FBSSxBQUUzQyxrQkFBb0IsdUJBQXlCLENBQUksQUFFakQsWUFDRSxrQkFBbUIsQUFDbkIsU0FBVSxBQUNWLGdCQUFpQixBcEIrSlQsc0NvQjlKdUMsQXBCc0t2Qyx5Qm9Cckt5QixBcEJ5S3pCLCtCb0J4S2dDLENBQ3pDLEFDOUJELE9BQ0UscUJBQXNCLEFBQ3RCLFFBQVMsQUFDVCxTQUFVLEFBQ1YsZ0JBQWlCLEFBQ2pCLHNCQUF1QixBQUN2QixzQkFBc0MsQUFDdEMsdUJBQXdDLEFBQ3hDLG1DQUFpRCxBQUNqRCxpQ0FBaUQsQ0FDbEQsQUFHRCxrQkFFRSxpQkFBbUIsQ0FDcEIsQUFHRCx1QkFDRSxTQUFXLENBQ1osQUFHRCxlQUNFLGtCQUFtQixBQUNuQixTQUFVLEFBQ1YsT0FBUSxBQUNSLGFwQm1QNkIsQW9CbFA3QixhQUFjLEFBQ2QsV0FBWSxBQUNaLGdCQUFpQixBQUNqQixjQUFlLEFBQ2YsZUFBZ0IsQUFDaEIsZ0JBQWlCLEFBQ2pCLGVwQlU0QixBb0JUNUIsZ0JBQWlCLEFBQ2pCLHNCcEJvTW1DLEFvQm5NbkMsc0JwQnVNbUMsQW9CdE1uQyxpQ3BCb01tQyxBb0JuTW5DLGtCcEIrRDZCLEFEeENyQix1Q3FCdEIyQixBQUNuQywyQkFBNkIsQ0F5QjlCLEFBM0NELDBCQXdCSSxRQUFTLEFBQ1QsU0FBVyxDQUNaLEFBMUJILHdCQ3pCRSxXQUFZLEFBQ1osYUFBMkMsQUFDM0MsZ0JBQWlCLEFBQ2pCLHdCckI2T3NDLENvQnhMckMsQUEvQkgsb0JBbUNJLGNBQWUsQUFDZixpQkFBa0IsQUFDbEIsV0FBWSxBQUNaLGdCQUFvQixBQUNwQixvQnBCTmlDLEFvQk9qQyxXcEIxRDRCLEFvQjJENUIsa0JBQW9CLENBQ3JCLEFBSUgsb0RBR0kscUJBQXNCLEFBQ3RCLGNwQjBLbUMsQW9CektuQyx3QnBCMktvQyxDb0IxS3JDLEFBSUgsdUZBSUksV3BCd0I0QixBb0J2QjVCLHFCQUFzQixBQUN0QixVQUFXLEFBQ1gsd0JwQjVFMEIsQ29CNkUzQixBQU9ILDZGQUlJLFVwQjNGNEIsQ29CNEY3QixBQUxILGtFQVVJLHFCQUFzQixBQUN0Qiw2QkFBOEIsQUFDOUIsc0JBQXVCLEFFM0d6QixtRUFBbUUsQUY2R2pFLGtCcEJvSHdDLENvQm5IekMsQUFJSCxxQkFHSSxhQUFlLENBQ2hCLEFBSkgsUUFRSSxTQUFXLENBQ1osQUFPSCxxQkFDRSxVQUFXLEFBQ1gsT0FBUyxDQUNWLEFBT0Qsb0JBQ0UsT0FBUSxBQUNSLFVBQVksQ0FDYixBQUdELGlCQUNFLGNBQWUsQUFDZixpQkFBa0IsQUFDbEIsZXBCdEc0QixBb0J1RzVCLG9CcEI3Rm1DLEFvQjhGbkMsV3BCL0k4QixBb0JnSjlCLGtCQUFvQixDQUNyQixBQUdELG1CQUNFLGVBQWdCLEFBQ2hCLE9BQVEsQUFDUixRQUFTLEFBQ1QsU0FBVSxBQUNWLE1BQU8sQUFDUCxXQUEwQixDQUMzQixBQUdELDJCQUNFLFFBQVMsQUFDVCxTQUFXLENBQ1osQUFPRCxxREFJSSxhQUFjLEFBQ2QseUJBQXVDLEFBQ3ZDLDBCQUF5QyxBQUN6QyxVQUFZLENBQ2IsQUFSSCxxRUFXSSxTQUFVLEFBQ1YsWUFBYSxBQUNiLGlCQUFtQixDQUNwQixBQVFILHlCQUNFLDZCQUVJLFFBQVMsQUFBRSxTQUFXLENBQ3ZCLEFBSEgsa0NBT0ksT0FBUSxBQUFFLFVBQVksQ0FDdkIsQ0FBQSxBR2hOTCwrQkFFRSxrQkFBbUIsQUFDbkIscUJBQXNCLEFBQ3RCLHFCQUF1QixDQVl4QixBQWhCRCx5Q0FNSSxrQkFBbUIsQUFDbkIsVUFBWSxDQVFiLEFBZkgsd05BYU0sU0FBVyxDQUNaLEFBS0wsNEdBS0ksZ0JBQWtCLENBQ25CLEFBSUgsYUFDRSxnQkFBa0IsQ0FhbkIsQUFkRCx1Q2pCbkJJLFlBQWEsQUFDYixhQUFlLENBQ2hCLEFpQmlCSCxtQmpCZkksVUFBWSxDQUNiLEFpQmNILG9FQU9JLFVBQVksQ0FDYixBQVJILG9FQVlJLGVBQWlCLENBQ2xCLEFBR0gseUVBQ0UsZUFBaUIsQ0FDbEIsQUFHRCw0QkFDRSxhQUFlLENBSWhCLEFBTEQsbUVDaERFLDZCRG1EZ0MsQUNsRDdCLHlCRGtENkIsQ0FDL0IsQUFHSCwyRkMvQ0UsNEJEaUQ2QixBQ2hEMUIsd0JEZ0QwQixDQUM5QixBQUdELHNCQUNFLFVBQVksQ0FDYixBQUNELDhEQUNFLGVBQWlCLENBQ2xCLEFBQ0QsdUlDbkVFLDZCRHNFZ0MsQUNyRTdCLHlCRHFFNkIsQ0FDL0IsQUFFSCxvRUNqRUUsNEJEa0U2QixBQ2pFMUIsd0JEaUUwQixDQUM5QixBQUdELG9FQUVFLFNBQVcsQ0FDWixBQWdCRCxpQ0FDRSxpQkFBa0IsQUFDbEIsaUJBQW1CLENBQ3BCLEFBQ0Qsa0ZBQ0Usa0JBQW1CLEFBQ25CLGtCQUFvQixDQUNyQixBQUlELGlDeEI5Q1UsMkN3QitDZ0MsQ0FNekMsQUFQRCwwQ3hCOUNVLGV3Qm1Ea0IsQ0FDekIsQUFLSCxZQUNFLGFBQWUsQ0FDaEIsQUFFRCx5Q0FDRSx1QkFBcUQsQUFDckQscUJBQXVCLENBQ3hCLEFBRUQseURBQ0Usc0J2QmY2QixDdUJnQjlCLEFBTUQsNEZBSUksY0FBZSxBQUNmLFdBQVksQUFDWixXQUFZLEFBQ1osY0FBZ0IsQ0FDakIsQUFSSCwyRWpCaElJLFlBQWEsQUFDYixhQUFlLENBQ2hCLEFpQjhISCxxQ2pCNUhJLFVBQVksQ0FDYixBaUIySEgsb0NBY00sVUFBWSxDQUNiLEFBZkwsZ0pBc0JJLGdCQUFpQixBQUNqQixhQUFlLENBQ2hCLEFBR0gsNERBRUksZUFBaUIsQ0FDbEIsQUFISCxzREN2S0UsNEJ4QjBHNkIsQXdCekc1QiwyQnhCeUc0QixBd0JsRzdCLDZCRHFLaUMsQUNwS2hDLDJCRG9LZ0MsQ0FDaEMsQUFQSCxzREN2S0UsMEJEZ0w4QixBQy9LN0IseUJEK0s2QixBQ3hLOUIsK0J4QmtHNkIsQXdCakc1Qiw2QnhCaUc0QixDdUJ3RTVCLEFBRUgsdUVBQ0UsZUFBaUIsQ0FDbEIsQUFDRCx5SkMvS0UsNkJEa0xpQyxBQ2pMaEMsMkJEaUxnQyxDQUNoQyxBQUVILDZFQzdMRSwwQkQ4TDRCLEFDN0wzQix3QkQ2TDJCLENBQzdCLEFBTUQscUJBQ0UsY0FBZSxBQUNmLFdBQVksQUFDWixtQkFBb0IsQUFDcEIsd0JBQTBCLENBYzNCLEFBbEJELDBEQU9JLFdBQVksQUFDWixtQkFBb0IsQUFDcEIsUUFBVSxDQUNYLEFBVkgscUNBWUksVUFBWSxDQUNiLEFBYkgsK0NBZ0JJLFNBQVcsQ0FDWixBOUQwbmRILGdOOERybWRNLGtCQUFtQixBQUNuQixtQkFBVSxBQUNWLG1CQUFxQixDQUN0QixBRTNPTCxhQUNFLGtCQUFtQixBQUNuQixjQUFlLEFBQ2Ysd0JBQTBCLENBMkIzQixBQTlCRCwwQkFPSSxXQUFZLEFBQ1osZUFBZ0IsQUFDaEIsZUFBaUIsQ0FDbEIsQUFWSCwyQkFlSSxrQkFBbUIsQUFDbkIsVUFBVyxBQUtYLFdBQVksQUFFWixXQUFZLEFBQ1osZUFBaUIsQ0FLbEIsQUE3QkgsaUNBMkJNLFNBQVcsQ0FDWixBQXVCTCwrREFHRSxrQkFBb0IsQ0FLckIsQUFSRCx3S0FNSSxlQUFpQixDQUNsQixBQUdILG9DQUVFLFNBQVUsQUFDVixtQkFBb0IsQUFDcEIscUJBQXVCLENBQ3hCLEFBSUQsbUJBQ0UsaUJ6QmtCOEIsQXlCakI5QixlekIzQjRCLEF5QjRCNUIsZ0JBQW9CLEFBQ3BCLGNBQWUsQUFDZixXekJwRThCLEF5QnFFOUIsa0JBQW1CLEFBQ25CLHNCekJwRThCLEF5QnFFOUIsc0J6QitHbUMsQXlCOUduQyxpQnpCd0I2QixDeUJMOUIsQUE1QkQsdUhBYUksaUJ6Qlk0QixBeUJYNUIsZXpCckMwQixBeUJzQzFCLGlCekJvQjJCLEN5Qm5CNUIsQUFoQkgsdUhBa0JJLGtCekJJNEIsQXlCSDVCLGV6QjNDMEIsQXlCNEMxQixpQnpCYzJCLEN5QmI1QixBQXJCSCw2RUEwQkksWUFBYyxDQUNmLEFBSUgsd1VEcEdFLDZCQzJHOEIsQUQxRzNCLHlCQzBHMkIsQ0FDL0IsQUFDRCwrQkFDRSxjQUFnQixDQUNqQixBQUNELGlURHhHRSw0QkMrRzZCLEFEOUcxQix3QkM4RzBCLENBQzlCLEFBQ0QsOEJBQ0UsYUFBZSxDQUNoQixBQUlELGlCQUlFLFlBQWEsQUFDYixrQkFBb0IsQ0ErQnJCLEFBcENELHVDQUNFLGlCQUFtQixDQW1CbEIsQUFwQkgsMkJBWU0sZ0JBQWtCLENBQ25CLEFBYkwscUZBa0JNLFNBQVcsQ0FDWixBQW5CTCwwRUEwQk0saUJBQW1CLENBQ3BCLEFBM0JMLHdFQWdDTSxVQUFXLEFBQ1gsZ0JBQWtCLENBQ25CLEFDaEtMLEtBQ0UsZ0JBQWlCLEFBQ2pCLGVBQWdCLEFBQ2hCLGVBQWlCLENBeURsQixBQTVERCx1QnBCT0ksWUFBYSxBQUNiLGFBQWUsQ0FDaEIsQW9CVEgsV3BCV0ksVUFBWSxDQUNiLEFvQlpILGtCQU9JLGtCQUFtQixBQUNuQixhQUFlLENBUm5CLEFBbUJLLFVBTkMsaUIxQnFaK0MsQzBCL1loRCxBQW5CTCxnQ0FnQlEscUJBQXNCLEFBQ3RCLHFCMUJWd0IsQzBCV3pCLEFBbEJQLG1CQXVCTSxVMUJqQjBCLEMwQjBCM0IsQUFoQ0wsa0RBMkJRLFcxQnJCd0IsQTBCc0J4QixxQkFBc0IsQUFDdEIsNkJBQThCLEFBQzlCLGtCMUJpTW9DLEMwQmhNckMsQUEvQlAsbURBd0NNLHNCMUJqQzBCLEEwQmtDMUIsb0IxQmhDd0IsQzBCaUN6QixBQTFDTCxrQkxIRSxXQUFZLEFBQ1osYUFBMkMsQUFDM0MsZ0JBQWlCLEFBQ2pCLHdCQUpnQyxDS3dEL0IsQUFwREgsY0EwREksY0FBZ0IsQ0FDakIsQUFRSCxVQUNFLDRCMUJxVzhDLEMwQmxVL0MsQUFwQ0QsYUFHSSxXQUFZLEFBRVosa0JBQW9CLENBeUJyQixBQTlCSCxlQVNNLGlCQUFrQixBQUNsQixvQjFCdEIrQixBMEJ1Qi9CLDZCQUE4QixBQUM5Qix5QkFBMEQsQ0FJM0QsQUFoQkwscUJBY1EsMkIxQndWd0MsQzBCdlZ6QyxBQWZQLDhFQXVCUSxXMUJyRndCLEEwQnNGeEIsc0IxQnRFb0IsQTBCdUVwQixzQjFCbVZ3QyxBMEJsVnhDLGdDQUFpQyxBQUNqQyxjQUFnQixDQUNqQixBQWFQLGNBRUksVUFBWSxDQW1CYixBQXJCSCxnQkFNTSxpQjFCYnlCLEMwQmMxQixBQVBMLGlCQVNNLGVBQWlCLENBQ2xCLEFBVkwsaUZBaUJRLFcxQm5Cd0IsQTBCb0J4Qix3QjFCckhzQixDMEJzSHZCLEFBT1AsZ0JBRUksVUFBWSxDQUtiLEFBUEgsbUJBSU0sZUFBZ0IsQUFDaEIsYUFBZSxDQUNoQixBQVdMLHVDQUNFLFVBQVksQ0F3QmIsQUF6QkQsNkNBSUksVUFBWSxDQUtiLEFBVEgsaURBTU0sa0JBQW1CLEFBQ25CLGlCQUFtQixDQUNwQixBQVJMLHdDQVlJLFNBQVUsQUFDVixTQUFXLENBQ1osQUFFRCx5QkFoQkYsNkNBa0JNLG1CQUFvQixBQUNwQixRQUFVLENBSVgsQUF2QkwsaURBcUJRLGVBQWlCLENBQ2xCLENBQUEsQUFRUCw0Q0FDRSxlQUFpQixDQXlCbEIsQUExQkQsc0RBS0ksZUFBZ0IsQUFDaEIsaUIxQnRGMkIsQzBCdUY1QixBQVBILHdOQVlJLHFCMUJnUGtELEMwQi9PbkQsQUFFRCx5QkFmRixzREFpQk0sNkIxQjJPZ0QsQTBCMU9oRCx5QkFBMEQsQ0FDM0QsQUFuQkwsd05BdUJNLHdCMUJ2THNCLEMwQndMdkIsQ0FBQSxBQVNMLHVCQUVJLFlBQWMsQ0FDZixBQUhILHFCQUtJLGFBQWUsQ0FDaEIsQUFRSCx5QkFFRSxnQkFBaUIsQUYzT2pCLDBCRTZPNEIsQUY1TzNCLHdCRTRPMkIsQ0FDN0IsQUN2T0QsUUFDRSxrQkFBbUIsQUFDbkIsZ0IzQmdXcUMsQTJCL1ZyQyxtQjNCb0Q2QixBMkJuRDdCLDRCQUE4QixDQVEvQixBQVpELDZCckJLSSxZQUFhLEFBQ2IsYUFBZSxDQUNoQixBcUJQSCxjckJTSSxVQUFZLENBQ2IsQXFCREQseUJBVEYsUUFVSSxpQjNCeUYyQixDMkJ2RjlCLENBQUEsQUFRRCwyQ3JCZkksWUFBYSxBQUNiLGFBQWUsQ0FDaEIsQXFCYUgscUJyQlhJLFVBQVksQ0FDYixBcUJhRCx5QkFIRixlQUlJLFVBQVksQ0FFZixDQUFBLEFBYUQsaUJBQ0UsbUJBQW9CLEFBQ3BCLG1CM0I0VHNDLEEyQjNUdEMsa0IzQjJUc0MsQTJCMVR0QyxpQ0FBa0MsQUFDbEMsNENBQThCLEFBRTlCLGdDQUFrQyxDQStCbkMsQUF0Q0QsK0NyQmxDSSxZQUFhLEFBQ2IsYUFBZSxDQUNoQixBcUJnQ0gsdUJyQjlCSSxVQUFZLENBQ2IsQXFCNkJILG9CQVVJLGVBQWlCLENBQ2xCLEFBRUQseUJBYkYsaUJBY0ksV0FBWSxBQUNaLGFBQWMsQUFDZCxlQUFpQixDQXNCcEIsQUF0Q0QsMEJBbUJNLHdCQUEwQixBQUMxQixzQkFBd0IsQUFDeEIsaUJBQWtCLEFBQ2xCLDBCQUE2QixDQUM5QixBQXZCTCxvQkEwQk0sa0JBQW9CLENBQ3JCLEFBM0JMLDZHQWtDTSxlQUFnQixBQUNoQixlQUFpQixDQUNsQixDQUFBLEFBSUwseUVBR0ksZ0IzQnFSb0MsQzJCaFJyQyxBQUhDLDREQUxKLHlFQU1NLGdCQUFrQixDQUVyQixDQUFBLEFBUUgsd0hBSUksbUIzQmtRb0MsQTJCalFwQyxpQjNCaVFvQyxDMkIzUHJDLEFBSkMseUJBUEosd0hBUU0sZUFBZ0IsQUFDaEIsYUFBZ0IsQ0FFbkIsQ0FBQSxBQVdILG1CQUNFLGEzQm9KNkIsQTJCbko3QixvQkFBc0IsQ0FLdkIsQUFIQyx5QkFKRixtQkFLSSxlQUFpQixDQUVwQixDQUFBLEFBR0QsdUNBRUUsZUFBZ0IsQUFDaEIsUUFBUyxBQUNULE9BQVEsQUFDUixZM0IwSTZCLEMyQnBJOUIsQUFIQyx5QkFSRix1Q0FTSSxlQUFpQixDQUVwQixDQUFBLEFBQ0Qsa0JBQ0UsTUFBTyxBQUNQLG9CQUFzQixDQUN2QixBQUNELHFCQUNFLFNBQVUsQUFDVixnQkFBaUIsQUFDakIsb0JBQXNCLENBQ3ZCLEFBS0QsY0FDRSxXQUFZLEFBQ1osYTNCMk1zQyxBMkIxTXRDLGUzQmpINEIsQTJCa0g1QixpQjNCckc2QixBMkJzRzdCLFczQnFNcUMsQzJCcEx0QyxBQXRCRCx3Q0FTSSxvQkFBc0IsQ0FDdkIsQUFWSCxrQkFhSSxhQUFlLENBQ2hCLEFBRUQseUJBaEJGLHdFQW1CTSxpQjNCMExrQyxDMkJ6TG5DLENBQUEsQUFVTCxlQUNFLGtCQUFtQixBQUNuQixZQUFhLEFBQ2Isa0IzQjRLc0MsQTJCM0t0QyxpQkFBa0IsQUM5TGxCLGVBQTRCLEFBQzVCLGtCQUErQixBRCtML0IsNkJBQThCLEFBQzlCLHNCQUF1QixBQUN2Qiw2QkFBOEIsQUFDOUIsaUIzQjVGNkIsQzJCa0g5QixBQS9CRCxxQkFjSSxTQUFXLENBQ1osQUFmSCx5QkFtQkksY0FBZSxBQUNmLFdBQVksQUFDWixXQUFZLEFBQ1osaUJBQW1CLENBQ3BCLEFBdkJILG1DQXlCSSxjQUFnQixDQUNqQixBQUVELHlCQTVCRixlQTZCSSxZQUFjLENBRWpCLENBQUEsQUFRRCxZQUNFLGtCM0J1SXNDLEMyQjFGdkMsQUE5Q0QsaUJBSUksaUJBQXFCLEFBQ3JCLG9CQUFxQixBQUNyQixnQjNCNUsyQixDMkI2SzVCLEFBRUQseUJBVEYsaUNBWU0sZ0JBQWlCLEFBQ2pCLFdBQVksQUFDWixXQUFZLEFBQ1osYUFBYyxBQUNkLDZCQUE4QixBQUM5QixTQUFVLEFBQ1YsZUFBaUIsQ0FZbEIsQUE5Qkwsd0ZBcUJRLHlCQUEyQixDQUM1QixBQXRCUCxzQ0F3QlEsZ0IzQjlMdUIsQzJCbU14QixBQTdCUCx3RkEyQlUscUJBQXVCLENBQ3hCLENBQUEsQUFNUCx5QkFsQ0YsWUFtQ0ksV0FBWSxBQUNaLFFBQVUsQ0FVYixBQTlDRCxlQXVDTSxVQUFZLENBS2IsQUE1Q0wsaUJBeUNRLGlCM0JnRzJDLEEyQi9GM0MsbUIzQitGMkMsQzJCOUY1QyxDQUFBLEFBV1AsYUFDRSxpQjNCaUZzQyxBMkIvRXRDLGtCM0IrRXNDLEEyQjlFdEMsaUNBQWtDLEFBQ2xDLG9DQUFxQyxBNUI3TjdCLHNFNEI4TmlELENBNkIxRCxBYjJKQyx5QkFFRSx5QkFDRSxxQkFBc0IsQUFDdEIsZ0JBQWlCLEFBQ2pCLHFCQUF1QixDQUN4QixBQUdELDJCQUNFLHFCQUFzQixBQUN0QixXQUFZLEFBQ1oscUJBQXVCLENBQ3hCLEFBR0Qsa0NBQ0Usb0JBQXNCLENBQ3ZCLEFBRUQsMEJBQ0UscUJBQXNCLEFBQ3RCLHFCQUF1QixDQU94QixBQUxDLGdJQUdFLFVBQVksQ0FDYixBQUlZLHdDQUNiLFVBQVksQ0FDYixBQUVELDRCQUNFLGdCQUFpQixBQUNqQixxQkFBdUIsQ0FDeEIsQUFJRCwyQ0FFRSxxQkFBc0IsQUFDdEIsYUFBYyxBQUNkLGdCQUFpQixBQUNqQixxQkFBdUIsQ0FLeEIsQUFIQyx1REFDRSxjQUFnQixDQUNqQixBQUVzQixrRkFFdkIsa0JBQW1CLEFBQ25CLGFBQWUsQ0FDaEIsQUFHYSxrREFDWixLQUFPLENBQ1IsQ0FBQSxBYWhQRCx5QkFiSix5QkFjTSxpQkFBbUIsQ0FNdEIsQUFwQkgsb0NBaUJRLGVBQWlCLENBQ2xCLENBQUEsQUFRTCx5QkExQkYsYUEyQkksV0FBWSxBQUNaLFNBQVUsQUFDVixjQUFlLEFBQ2YsZUFBZ0IsQUFDaEIsY0FBZSxBQUNmLGlCQUFrQixBNUJ4UFosZTRCeVBrQixDQUUzQixDQUFBLEFBTUQsOEJBQ0UsYUFBYyxBSHBVZCwwQkdxVTRCLEFIcFUzQix3QkdvVTJCLENBQzdCLEFBRUQsbURBQ0UsZ0JBQWlCLEFIelVqQiw0QnhCMEc2QixBd0J6RzVCLDJCeEJ5RzRCLEF3QmxHN0IsNkJHbVUrQixBSGxVOUIsMkJHa1U4QixDQUNoQyxBQU9ELFlDaFZFLGVBQTRCLEFBQzVCLGlCQUErQixDRHdWaEMsQUFURCxpRENoVkUsZ0JBQTRCLEFBQzVCLGtCQUErQixDRG9WOUIsQUFMSCxpRENoVkUsZ0JBQTRCLEFBQzVCLGtCQUErQixDRHVWOUIsQUFRSCxhQ2hXRSxnQkFBNEIsQUFDNUIsa0JBQStCLENEdVdoQyxBQUxDLHlCQUhGLGFBSUksV0FBWSxBQUNaLGlCM0JJb0MsQTJCSHBDLGlCM0JHb0MsQzJCRHZDLENBQUEsQUFXRCx5QkFDRSxhQUNFLG9CQUF1QixDQUN4QixBQUNELGNBQ0Usc0JBQXdCLEFBQzFCLGtCM0JoQnNDLEMyQnFCckMsQUFQRCw0QkFLSSxjQUFnQixDQUNqQixDQUFBLEFBU0wsZ0JBQ0UseUIzQnpCd0MsQTJCMEJ4QyxvQjNCekJ1QyxDMkJ5SnhDLEFBbElELDhCQUtJLFUzQnpCMkMsQzJCK0I1QyxBQVhILHdFQVFNLGMzQmxCMkMsQTJCbUIzQyw0QjNCbEJnRCxDMkJtQmpELEFBVkwsOERBbUJNLFUzQnZDeUMsQzJCOEMxQyxBQTFCTCw4RUF1QlEsVzNCMUN1QyxBMkIyQ3ZDLDRCM0IxQzhDLEMyQjJDL0MsQUF6QlAsOEhBK0JRLFczQmhEdUMsQTJCaUR2Qyx3QjNCaER5QyxDMkJpRDFDLEFBakNQLG9JQXVDUSxXM0J0RHVDLEEyQnVEdkMsNEIzQnREOEMsQzJCdUQvQyxBQXpDUCwrQkE4Q0ksaUIzQmxEMkMsQzJCMEQ1QyxBQXRESCwwRUFpRE0scUIzQnZEeUMsQzJCd0QxQyxBQWxETCx5Q0FvRE0scUIzQnpEeUMsQzJCMEQxQyxBQXJETCw4REEwREksb0IzQmpGcUMsQzJCa0Z0QyxBQTNESCx3SEFvRVEseUIzQnBGeUMsQTJCcUZ6QyxVM0J0RnVDLEMyQnVGeEMsQUFHSCx5QkF6RUosc0RBNkVVLFUzQmpHcUMsQzJCdUd0QyxBQW5GVCx3SEFnRlksVzNCbkdtQyxBMkJvR25DLDRCM0JuRzBDLEMyQm9HM0MsQUFsRlgsNkxBd0ZZLFczQnpHbUMsQTJCMEduQyx3QjNCekdxQyxDMkIwR3RDLEFBMUZYLG1NQWdHWSxXM0IvR21DLEEyQmdIbkMsNEIzQi9HMEMsQzJCZ0gzQyxDQUFBLEFBbEdYLDZCQThHSSxVM0JsSTJDLEMyQnNJNUMsQUFsSEgsbUNBZ0hNLFUzQm5JeUMsQzJCb0kxQyxBQWpITCwwQkFxSEksVTNCekkyQyxDMkJxSjVDLEFBaklILGdFQXdITSxVM0IzSXlDLEMyQjRJMUMsQUF6SEwsMExBOEhRLFUzQjdJdUMsQzJCOEl4QyxBQU9QLGdCQUNFLHNCM0JySThDLEEyQnNJOUMsb0IzQnJJZ0QsQzJCc1FqRCxBQW5JRCw4QkFLSSxhM0JySStDLEMyQjJJaEQsQUFYSCx3RUFRTSxXM0I5SDBDLEEyQitIMUMsNEIzQjlIaUQsQzJCK0hsRCxBQVZMLDhEQW1CTSxhM0JuSjZDLEMyQjBKOUMsQUExQkwsOEVBdUJRLFczQnRKd0MsQTJCdUp4Qyw0QjNCdEorQyxDMkJ1SmhELEFBekJQLDhIQStCUSxXM0I5SndDLEEyQitKeEMsd0IzQjVKMEMsQzJCNkozQyxBQWpDUCxvSUF1Q1EsVzNCbEt3QyxBMkJtS3hDLDRCM0JsSytDLEMyQm1LaEQsQUF6Q1AsK0JBK0NJLGlCM0IvSjRDLEMyQnVLN0MsQUF2REgsMEVBa0RNLHFCM0JwSzBDLEMyQnFLM0MsQUFuREwseUNBcURNLHFCM0J0SzBDLEMyQnVLM0MsQUF0REwsOERBMkRJLG9CQUFvQixDQUNyQixBQTVESCx3SEFvRVEseUIzQmhNMEMsQTJCaU0xQyxVM0JwTXdDLEMyQnFNekMsQUFHSCx5QkF6RUosa0VBNkVVLG9CM0JoTndDLEMyQmlOekMsQUE5RVQsMERBZ0ZVLHdCM0JuTndDLEMyQm9OekMsQUFqRlQsc0RBbUZVLGEzQm5OeUMsQzJCeU4xQyxBQXpGVCx3SEFzRlksVzNCck5vQyxBMkJzTnBDLDRCM0JyTjJDLEMyQnNONUMsQUF4RlgsNkxBOEZZLFczQjdOb0MsQTJCOE5wQyx3QjNCM05zQyxDMkI0TnZDLEFBaEdYLG1NQXNHWSxXM0JqT29DLEEyQmtPcEMsNEIzQmpPMkMsQzJCa081QyxDQUFBLEFBeEdYLDZCQStHSSxhM0IvTytDLEMyQm1QaEQsQUFuSEgsbUNBaUhNLFUzQmhQMEMsQzJCaVAzQyxBQWxITCwwQkFzSEksYTNCdFArQyxDMkJrUWhELEFBbElILGdFQXlITSxVM0J4UDBDLEMyQnlQM0MsQUExSEwsMExBK0hRLFUzQjFQd0MsQzJCMlB6QyxBRTdvQlAsWUFDRSxpQjdCcXhCa0MsQTZCcHhCbEMsbUI3QjBENkIsQTZCekQ3QixnQkFBaUIsQUFDakIseUI3Qm94QnFDLEE2Qm54QnJDLGlCN0JtRzZCLEM2QmxGOUIsQUF0QkQsZUFRSSxvQkFBc0IsQ0FTdkIsQUFqQkgseUJBYU0sYUFBMkMsQUFDM0MsY0FBZSxBQUNmLFU3QjJ3QjhCLEM2QjF3Qi9CLEFBaEJMLG9CQW9CSSxVN0JYNEIsQzZCWTdCLEFDdkJILFlBQ0UscUJBQXNCLEFBQ3RCLGVBQWdCLEFBQ2hCLGNBQStCLEFBQy9CLGlCOUJzRzZCLEM4QmxDOUIsQUF4RUQsZUFPSSxjQUFnQixDQTBCakIsQUFqQ0gscUNBVU0sa0JBQW1CLEFBQ25CLFdBQVksQUFDWixpQjlCZ0YwQixBOEIvRTFCLG9COUIrQytCLEE4QjlDL0IscUJBQXNCLEFBQ3RCLGM5QkR3QixBOEJFeEIsc0I5Qm9icUMsQThCbmJyQyxzQjlCb2JxQyxBOEJuYnJDLGdCQUFrQixDQUNuQixBQW5CTCw2REF1QlEsY0FBZSxBTlhyQiw4QnhCOEY2QixBd0I3RjFCLDBCeEI2RjBCLEM4QmpGeEIsQUF6QlAsMkROSUUsK0J4QnNHNkIsQXdCckcxQiwyQnhCcUcwQixDOEIzRXhCLEFBL0JQLGtHQXVDTSxVQUFXLEFBQ1gsYzlCUHdCLEE4QlF4QixzQjlCN0IwQixBOEI4QjFCLGlCOUIrWnFDLEM4QjladEMsQUEzQ0wscUtBbURNLFVBQVcsQUFDWCxXOUJ1WnFDLEE4QnRackMseUI5QnZDd0IsQThCd0N4QixxQjlCeEN3QixBOEJ5Q3hCLGNBQWdCLENBQ2pCLEFBeERMLGlMQWtFTSxXOUJ2RDBCLEE4QndEMUIsc0I5QjZZcUMsQThCNVlyQyxrQjlCNllxQyxBOEI1WXJDLGtCOUIrSnNDLEM4QjlKdkMsQUNyRUMsMkNBRUEsa0IvQjRGMEIsQStCM0YxQixlL0I2Q3dCLEErQjVDeEIsbUIvQmtHK0IsQytCakdoQyxBQUVHLG1FUElOLDhCeEIrRjZCLEF3QjlGMUIsMEJ4QjhGMEIsQytCaEd4QixBQUdDLGlFUFZOLCtCeEJ1RzZCLEF3QnRHMUIsMkJ4QnNHMEIsQytCMUZ4QixBQWhCRCwyQ0FFQSxpQi9CK0YwQixBK0I5RjFCLGUvQjhDd0IsQStCN0N4QixlL0JtR3lCLEMrQmxHMUIsQUFFRyxtRVBJTiw4QnhCZ0c2QixBd0IvRjFCLDBCeEIrRjBCLEMrQmpHeEIsQUFHQyxpRVBWTiwrQnhCd0c2QixBd0J2RzFCLDJCeEJ1RzBCLEMrQjNGeEIsQUNmUCxPQUNFLGVBQWdCLEFBQ2hCLGNBQStCLEFBQy9CLGdCQUFpQixBQUNqQixpQkFBbUIsQ0E0Q3BCLEFBaERELDJCMUJVSSxZQUFhLEFBQ2IsYUFBZSxDQUNoQixBMEJaSCxhMUJjSSxVQUFZLENBQ2IsQTBCZkgsVUFPSSxjQUFnQixDQWVqQixBQXRCSCwyQkFVTSxxQkFBc0IsQUFDdEIsaUJBQWtCLEFBQ2xCLHNCaENzYnFDLEFnQ3JickMsc0JoQ3NicUMsQWdDcmJyQyxrQmhDMGNxQyxDZ0N6Y3RDLEFBZkwsb0NBbUJNLHFCQUFzQixBQUN0QixxQmhDVjBCLENnQ1czQixBQXJCTCxpQ0EyQk0sV0FBYSxDQUNkLEFBNUJMLHlDQWtDTSxVQUFZLENB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L3JCL0IsQUFQcUIsMERBQ2xCLHFCL0Nxc0I0QixDK0Nwc0I3QixBQUNELHFDQUNFLGMvQ21zQitCLEErQ2xzQi9CLHFCL0NIMEIsQytDSTNCLEFBR21CLHlEQUNsQix3Qi9DNHJCNEIsQytDM3JCN0IsQUQyT0wsZUM3UEUsb0IvQ2M0QixDOENpUDdCLEFDN1BLLDhCQUNGLFcvQzZzQjhCLEErQzVzQjlCLHlCL0NVMEIsQStDVDFCLG9CL0NTMEIsQytDQTNCLEFBUHFCLDBEQUNsQix3Qi9DTXdCLEMrQ0x6QixBQUNELHFDQUNFLGMvQ0d3QixBK0NGeEIscUIvQ29zQjRCLEMrQ25zQjdCLEFBR21CLHlEQUNsQiwyQi9DSHdCLEMrQ0l6QixBRDhPTCxlQ2hRRSxvQi9Dc2ZxQyxDOENwUHRDLEFDaFFLLDhCQUNGLGMvQ2lmb0MsQStDaGZwQyx5Qi9DaWZvQyxBK0NoZnBDLG9CL0NpZm1DLEMrQ3hlcEMsQUFQcUIsMERBQ2xCLHdCL0M4ZWlDLEMrQzdlbEMsQUFDRCxxQ0FDRSxjL0MwZWtDLEErQ3plbEMsd0IvQ3dla0MsQytDdmVuQyxBQUdtQix5REFDbEIsMkIvQ3FlaUMsQytDcGVsQyxBRGlQTCxZQ25RRSxvQi9DMGZxQyxDOENyUHRDLEFDblFLLDJCQUNGLGMvQ3Fmb0MsQStDcGZwQyx5Qi9DcWZvQyxBK0NwZnBDLG9CL0NxZm1DLEMrQzVlcEMsQUFQcUIsdURBQ2xCLHdCL0NrZmlDLEMrQ2pmbEMsQUFDRCxrQ0FDRSxjL0M4ZWtDLEErQzdlbEMsd0IvQzRla0MsQytDM2VuQyxBQUdtQixzREFDbEIsMkIvQ3llaUMsQytDeGVsQyxBRG9QTCxlQ3RRRSxvQi9DOGZxQyxDOEN0UHRDLEFDdFFLLDhCQUNGLGMvQ3lmb0MsQStDeGZwQyx5Qi9DeWZvQyxBK0N4ZnBDLG9CL0N5Zm1DLEMrQ2hmcEMsQUFQcUIsMERBQ2xCLHdCL0NzZmlDLEMrQ3JmbEMsQUFDRCxxQ0FDRSxjL0NrZmtDLEErQ2pmbEMsd0IvQ2dma0MsQytDL2VuQyxBQUdtQix5REFDbEIsMkIvQzZlaUMsQytDNWVsQyxBRHVQTCxjQ3pRRSxv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Q0FBSSxDQUFBLEFBSWxELHlDQUNFLDRDQUFTLGtCQUFzQixDQUFJLEFBRW5DLGlCQUVJLGlCQUFrQixBQUNsQixtQkFBb0IsQUFDcEIsYUFBZSxDQUNoQixBQUdILG9CQUFzQixtQkFBcUIsQ0FBSSxBQUUvQyxpQ0FHTSx1QkFBeUIsQUFDekIsNkVBQXFDLENBQ3RDLEFBTEwsNEpBUU0sdUZBQThDLEFBQzlDLFdBQWEsQ0FDZCxBQVZMLGlDQWNjLHlCQUE2QixDQUFFLEFBZDdDLG9DQWdCZ0Isb0JBQXVCLENBQUksQUFoQjNDLDJLQWlCZSxtQkFBc0IsQ0FBSSxBQWpCekMsa0NBc0JjLHlCQUE2QixDQUFFLEFBdEI3QyxxQ0F3QmdCLHFCQUF3QixDQUFJLEFBeEI1Qyw4S0F5QmUsb0JBQXVCLENBQUksQ0FBQSxBQU01Qyx5Q0FDRSxpQkFFSSxlQUFnQixBQUNoQixpQkFBa0IsQUFDbEIsYUFBZSxDQUNoQixBQUdILGVBQWlCLG9CQUF3QixDQUFJLEFBRTdDLCtCQUNFLHlCQUEyQixBQUMzQiwyQkFBNkIsQUFDN0Isc0JBQXdCLEFBQ3hCLDhCQUFpQyxDQUNsQyxDQUFBLEFBR0gseUNBQ0UsaUJBQ08sYUFBZSxDQUFJLENBQUEsQUFLNUIseUNBQ0UsaUJBRUksaUJBQWtCLEFBQ2xCLG9CQUFxQixBQUNyQixhQUFlLENBQ2hCLEFBR0gsZUFBaUIsb0JBQXdCLENBQUksQ0FBQSIsImZpbGUiOiJtYWluLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnNcIjtcblxuQGlmICR0YXJnZXQtZWxlbWVudHMtZGlyZWN0bHkgPT0gdHJ1ZSB7XG4gIGh0bWwsIGJvZHkge1xuICAgIGZvbnQtZmFtaWx5OiAkcGVyZm9ybWFuY2VfZm9udDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgfVxuXG4gIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIHAge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyoqXG4gICogU3R5bGVzIGZvciBIVE1MIGVsZW1lbnRzXG4gICovXG5cbiAgaDEgc21hbGwsIGgyIHNtYWxsLCBoMyBzbWFsbCwgaDQgc21hbGwsIGg1IHNtYWxsLCBoNiBzbWFsbCB7XG4gICAgQGluY2x1ZGUgdHlwby1kaXNwbGF5LTMoJGNvbG9yQ29udHJhc3Q6IHRydWUpO1xuXG4gICAgZm9udC1zaXplOiAwLjZlbTtcbiAgfVxuXG4gIGgxIHtcbiAgICBAaW5jbHVkZSB0eXBvLWRpc3BsYXktMztcblxuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBAaW5jbHVkZSB0eXBvLWRpc3BsYXktMjtcblxuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxuXG4gIGgzIHtcbiAgICBAaW5jbHVkZSB0eXBvLWRpc3BsYXktMTtcblxuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxuXG4gIGg0IHtcbiAgICBAaW5jbHVkZSB0eXBvLWhlYWRsaW5lO1xuXG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG5cbiAgaDUge1xuICAgIEBpbmNsdWRlIHR5cG8tdGl0bGU7XG5cbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cblxuICBoNiB7XG4gICAgQGluY2x1ZGUgdHlwby1zdWJoZWFkO1xuXG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG5cbiAgcCB7XG4gICAgQGluY2x1ZGUgdHlwby1ib2R5LTE7XG5cbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICR0ZXh0LWxpbmstY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIHR5cG8tYmxvY2txdW90ZTtcbiAgfVxuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGZmODE7XG4gIH1cblxuICBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gIGFkZHJlc3Mge1xuICAgIEBpbmNsdWRlIHR5cG8tY2FwdGlvbjtcblxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxuXG4gIHVsLCBvbCB7XG4gICAgQGluY2x1ZGUgdHlwby1ib2R5LTE7XG4gIH1cbn1cblxuLyoqXG4gKiBDbGFzcyBOYW1lIFN0eWxlc1xuICovXG5cbi5tZGwtdHlwb2dyYXBoeS0tZGlzcGxheS00IHtcbiAgQGluY2x1ZGUgdHlwby1kaXNwbGF5LTQ7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tZGlzcGxheS00LWNvbG9yLWNvbnRyYXN0IHtcbiAgQGluY2x1ZGUgdHlwby1kaXNwbGF5LTQoJGNvbG9yQ29udHJhc3Q6IHRydWUpO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWRpc3BsYXktMyB7XG4gIEBpbmNsdWRlIHR5cG8tZGlzcGxheS0zO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWRpc3BsYXktMy1jb2xvci1jb250cmFzdCB7XG4gIEBpbmNsdWRlIHR5cG8tZGlzcGxheS0zKCRjb2xvckNvbnRyYXN0OiB0cnVlKTtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1kaXNwbGF5LTIge1xuICBAaW5jbHVkZSB0eXBvLWRpc3BsYXktMjtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1kaXNwbGF5LTItY29sb3ItY29udHJhc3Qge1xuICBAaW5jbHVkZSB0eXBvLWRpc3BsYXktMigkY29sb3JDb250cmFzdDogdHJ1ZSk7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tZGlzcGxheS0xIHtcbiAgQGluY2x1ZGUgdHlwby1kaXNwbGF5LTE7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tZGlzcGxheS0xLWNvbG9yLWNvbnRyYXN0IHtcbiAgQGluY2x1ZGUgdHlwby1kaXNwbGF5LTEoJGNvbG9yQ29udHJhc3Q6IHRydWUpO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWhlYWRsaW5lIHtcbiAgQGluY2x1ZGUgdHlwby1oZWFkbGluZTtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1oZWFkbGluZS1jb2xvci1jb250cmFzdCB7XG4gIEBpbmNsdWRlIHR5cG8taGVhZGxpbmUoJGNvbG9yQ29udHJhc3Q6IHRydWUpO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLXRpdGxlIHtcbiAgQGluY2x1ZGUgdHlwby10aXRsZTtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS10aXRsZS1jb2xvci1jb250cmFzdCB7XG4gIEBpbmNsdWRlIHR5cG8tdGl0bGUoJGNvbG9yQ29udHJhc3Q6IHRydWUpO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLXN1YmhlYWQge1xuICBAaW5jbHVkZSB0eXBvLXN1YmhlYWQ7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tc3ViaGVhZC1jb2xvci1jb250cmFzdCB7XG4gIEBpbmNsdWRlIHR5cG8tc3ViaGVhZCgkY29sb3JDb250cmFzdDogdHJ1ZSk7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tYm9keS0yIHtcbiAgQGluY2x1ZGUgdHlwby1ib2R5LTI7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tYm9keS0yLWNvbG9yLWNvbnRyYXN0IHtcbiAgQGluY2x1ZGUgdHlwby1ib2R5LTIoJGNvbG9yQ29udHJhc3Q6IHRydWUpO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWJvZHktMSB7XG4gIEBpbmNsdWRlIHR5cG8tYm9keS0xO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWJvZHktMS1jb2xvci1jb250cmFzdCB7XG4gIEBpbmNsdWRlIHR5cG8tYm9keS0xKCRjb2xvckNvbnRyYXN0OiB0cnVlKTtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1ib2R5LTItZm9yY2UtcHJlZmVycmVkLWZvbnQge1xuICBAaW5jbHVkZSB0eXBvLWJvZHktMigkdXNlUHJlZmVycmVkOiB0cnVlKTtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1ib2R5LTItZm9yY2UtcHJlZmVycmVkLWZvbnQtY29sb3ItY29udHJhc3Qge1xuICBAaW5jbHVkZSB0eXBvLWJvZHktMigkY29sb3JDb250cmFzdDogdHJ1ZSwgJHVzZVByZWZlcnJlZDogdHJ1ZSk7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tYm9keS0xLWZvcmNlLXByZWZlcnJlZC1mb250IHtcbiAgQGluY2x1ZGUgdHlwby1ib2R5LTEoJHVzZVByZWZlcnJlZDogdHJ1ZSk7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tYm9keS0xLWZvcmNlLXByZWZlcnJlZC1mb250LWNvbG9yLWNvbnRyYXN0IHtcbiAgQGluY2x1ZGUgdHlwby1ib2R5LTEoJGNvbG9yQ29udHJhc3Q6IHRydWUsICR1c2VQcmVmZXJyZWQ6IHRydWUpO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWNhcHRpb24ge1xuICBAaW5jbHVkZSB0eXBvLWNhcHRpb247XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tY2FwdGlvbi1mb3JjZS1wcmVmZXJyZWQtZm9udCB7XG4gIEBpbmNsdWRlIHR5cG8tY2FwdGlvbigkdXNlUHJlZmVycmVkOiB0cnVlKTtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1jYXB0aW9uLWNvbG9yLWNvbnRyYXN0IHtcbiAgQGluY2x1ZGUgdHlwby1jYXB0aW9uKCRjb2xvckNvbnRyYXN0OiB0cnVlKTtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1jYXB0aW9uLWZvcmNlLXByZWZlcnJlZC1mb250LWNvbG9yLWNvbnRyYXN0IHtcbiAgQGluY2x1ZGUgdHlwby1jYXB0aW9uKCRjb2xvckNvbnRyYXN0OiB0cnVlLCAkdXNlUHJlZmVycmVkOiB0cnVlKTtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1tZW51IHtcbiAgQGluY2x1ZGUgdHlwby1tZW51O1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLW1lbnUtY29sb3ItY29udHJhc3Qge1xuICBAaW5jbHVkZSB0eXBvLW1lbnUoJGNvbG9yQ29udHJhc3Q6IHRydWUpO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWJ1dHRvbiB7XG4gIEBpbmNsdWRlIHR5cG8tYnV0dG9uO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWJ1dHRvbi1jb2xvci1jb250cmFzdCB7XG4gIEBpbmNsdWRlIHR5cG8tYnV0dG9uKCRjb2xvckNvbnRyYXN0OiB0cnVlKTtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLXRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLXRleHQtbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tdGV4dC11cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLXRleHQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWZvbnQtdGhpbiB7XG4gIGZvbnQtd2VpZ2h0OiAyMDAgIWltcG9ydGFudDtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1mb250LWxpZ2h0IHtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG4ubWRsLXR5cG9ncmFwaHktLWZvbnQtcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1mb250LW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbn1cblxuLm1kbC10eXBvZ3JhcGh5LS1mb250LWJvbGQge1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbi5tZGwtdHlwb2dyYXBoeS0tZm9udC1ibGFjayB7XG4gIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcbn1cblxuLm1hdGVyaWFsLWljb25zIHtcbiAgQGluY2x1ZGUgdHlwby1pY29uO1xufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyogVHlwb2dyYXBoeSAqL1xuXG5AbWl4aW4gdHlwby1wcmVmZXJyZWQtZm9udCgkdXNlUHJlZmVycmVkOiB0cnVlKSB7XG4gIEBpZiAkdXNlUHJlZmVycmVkIHtcbiAgICBmb250LWZhbWlseTogJHByZWZlcnJlZF9mb250O1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWRpc3BsYXktNCgkY29sb3JDb250cmFzdDogZmFsc2UsICR1c2VQcmVmZXJyZWQ6IHRydWUpIHtcbiAgQGluY2x1ZGUgdHlwby1wcmVmZXJyZWQtZm9udCgkdXNlUHJlZmVycmVkKTtcbiAgZm9udC1zaXplOiAxMTJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuXG4gIEBpZiAkY29sb3JDb250cmFzdCB7XG4gICAgb3BhY2l0eTogMC41NDtcbiAgfVxufVxuXG5AbWl4aW4gdHlwby1kaXNwbGF5LTMoJGNvbG9yQ29udHJhc3Q6IGZhbHNlLCAkdXNlUHJlZmVycmVkOiB0cnVlKSB7XG4gIEBpbmNsdWRlIHR5cG8tcHJlZmVycmVkLWZvbnQoJHVzZVByZWZlcnJlZCk7XG4gIGZvbnQtc2l6ZTogNTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuXG4gIEBpZiAkY29sb3JDb250cmFzdCB7XG4gICAgb3BhY2l0eTogMC41NDtcbiAgfVxufVxuXG5AbWl4aW4gdHlwby1kaXNwbGF5LTIoJGNvbG9yQ29udHJhc3Q6IGZhbHNlLCAkdXNlUHJlZmVycmVkOiB0cnVlKSB7XG4gIEBpbmNsdWRlIHR5cG8tcHJlZmVycmVkLWZvbnQoJHVzZVByZWZlcnJlZCk7XG4gIGZvbnQtc2l6ZTogNDVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG5cbiAgQGlmICRjb2xvckNvbnRyYXN0IHtcbiAgICBvcGFjaXR5OiAwLjU0O1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWRpc3BsYXktMSgkY29sb3JDb250cmFzdDogZmFsc2UsICR1c2VQcmVmZXJyZWQ6IHRydWUpIHtcbiAgQGluY2x1ZGUgdHlwby1wcmVmZXJyZWQtZm9udCgkdXNlUHJlZmVycmVkKTtcbiAgZm9udC1zaXplOiAzNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogNDBweDtcblxuICBAaWYgJGNvbG9yQ29udHJhc3Qge1xuICAgIG9wYWNpdHk6IDAuNTQ7XG4gIH1cbn1cblxuQG1peGluIHR5cG8taGVhZGxpbmUoJGNvbG9yQ29udHJhc3Q6IGZhbHNlLCAkdXNlUHJlZmVycmVkOiB0cnVlKSB7XG4gIEBpbmNsdWRlIHR5cG8tcHJlZmVycmVkLWZvbnQoJHVzZVByZWZlcnJlZCk7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgQGlmICRjb2xvckNvbnRyYXN0IHtcbiAgICBvcGFjaXR5OiAwLjg3O1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLXRpdGxlKCRjb2xvckNvbnRyYXN0OiBmYWxzZSwgJHVzZVByZWZlcnJlZDogdHJ1ZSkge1xuICBAaW5jbHVkZSB0eXBvLXByZWZlcnJlZC1mb250KCR1c2VQcmVmZXJyZWQpO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuXG4gIEBpZiAkY29sb3JDb250cmFzdCB7XG4gICAgb3BhY2l0eTogMC44NztcbiAgfVxufVxuXG5AbWl4aW4gdHlwby1zdWJoZWFkKCRjb2xvckNvbnRyYXN0OiBmYWxzZSwgJHVzZVByZWZlcnJlZDogdHJ1ZSkge1xuICBAaW5jbHVkZSB0eXBvLXByZWZlcnJlZC1mb250KCR1c2VQcmVmZXJyZWQpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuXG4gIEBpZiAkY29sb3JDb250cmFzdCB7XG4gICAgb3BhY2l0eTogMC44NztcbiAgfVxufVxuXG5AbWl4aW4gdHlwby1zdWJoZWFkLTIoJGNvbG9yQ29udHJhc3Q6IGZhbHNlLCAkdXNlUHJlZmVycmVkOiB0cnVlKSB7XG4gIEBpbmNsdWRlIHR5cG8tcHJlZmVycmVkLWZvbnQoJHVzZVByZWZlcnJlZCk7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG5cbiAgQGlmICRjb2xvckNvbnRyYXN0IHtcbiAgICBvcGFjaXR5OiAwLjg3O1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWJvZHktMigkY29sb3JDb250cmFzdDogZmFsc2UsICR1c2VQcmVmZXJyZWQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHR5cG8tcHJlZmVycmVkLWZvbnQoJHVzZVByZWZlcnJlZCk7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgQGlmICR1c2VQcmVmZXJyZWQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH0gQGVsc2Uge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcblxuICBAaWYgJGNvbG9yQ29udHJhc3Qge1xuICAgIG9wYWNpdHk6IDAuODc7XG4gIH1cbn1cblxuQG1peGluIHR5cG8tYm9keS0xKCRjb2xvckNvbnRyYXN0OiBmYWxzZSwgJHVzZVByZWZlcnJlZDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgdHlwby1wcmVmZXJyZWQtZm9udCgkdXNlUHJlZmVycmVkKTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5cbiAgQGlmICRjb2xvckNvbnRyYXN0IHtcbiAgICBvcGFjaXR5OiAwLjg3O1xuICB9XG59XG5cbkBtaXhpbiB0eXBvLWNhcHRpb24oJGNvbG9yQ29udHJhc3Q6IGZhbHNlLCAkdXNlUHJlZmVycmVkOiBmYWxzZSkge1xuICBAaW5jbHVkZSB0eXBvLXByZWZlcnJlZC1mb250KCR1c2VQcmVmZXJyZWQpO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMDtcblxuICBAaWYgJGNvbG9yQ29udHJhc3Qge1xuICAgIG9wYWNpdHk6IDAuNTQ7XG4gIH1cbn1cblxuQG1peGluIHR5cG8tYmxvY2txdW90ZSgkY29sb3JDb250cmFzdDogZmFsc2UsICR1c2VQcmVmZXJyZWQ6IHRydWUpIHtcbiAgQGluY2x1ZGUgdHlwby1wcmVmZXJyZWQtZm9udCgkdXNlUHJlZmVycmVkKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMC41ZW07XG4gICAgY29udGVudDogJ+KAnCc7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAn4oCdJztcbiAgICBtYXJnaW4tbGVmdDogLTAuMDVlbTtcbiAgfVxuXG4gIEBpZiAkY29sb3JDb250cmFzdCB7XG4gICAgb3BhY2l0eTogMC41NDtcbiAgfVxufVxuXG5AbWl4aW4gdHlwby1tZW51KCRjb2xvckNvbnRyYXN0OiBmYWxzZSwgJHVzZVByZWZlcnJlZDogdHJ1ZSkge1xuICBAaW5jbHVkZSB0eXBvLXByZWZlcnJlZC1mb250KCR1c2VQcmVmZXJyZWQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMDtcblxuICBAaWYgJGNvbG9yQ29udHJhc3Qge1xuICAgIG9wYWNpdHk6IDAuODc7XG4gIH1cbn1cblxuQG1peGluIHR5cG8tYnV0dG9uKCRjb2xvckNvbnRyYXN0OiBmYWxzZSwgJHVzZVByZWZlcnJlZDogdHJ1ZSkge1xuICBAaW5jbHVkZSB0eXBvLXByZWZlcnJlZC1mb250KCR1c2VQcmVmZXJyZWQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMDtcblxuICBAaWYgJGNvbG9yQ29udHJhc3Qge1xuICAgIG9wYWNpdHk6IDAuODc7XG4gIH1cbn1cblxuQG1peGluIHR5cG8taWNvbigpIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuLyogU2hhZG93cyAqL1xuXG4vLyBGb2N1cyBzaGFkb3cgbWl4aW4uXG5AbWl4aW4gZm9jdXMtc2hhZG93KCkge1xuICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwwLDAsLjE4KSwwIDhweCAxNnB4IHJnYmEoMCwwLDAsLjM2KTtcbn1cblxuQG1peGluIHNoYWRvdy0yZHAoKSB7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgJHNoYWRvdy1rZXktcGVudW1icmEtb3BhY2l0eSksXG4gICAgICAgICAgICAgIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgJHNoYWRvdy1rZXktdW1icmEtb3BhY2l0eSksXG4gICAgICAgICAgICAgIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgJHNoYWRvdy1hbWJpZW50LXNoYWRvdy1vcGFjaXR5KTtcbn1cbkBtaXhpbiBzaGFkb3ctM2RwKCkge1xuICBib3gtc2hhZG93OiAwIDNweCA0cHggMCByZ2JhKDAsIDAsIDAsICRzaGFkb3cta2V5LXBlbnVtYnJhLW9wYWNpdHkpLFxuICAgICAgICAgICAgICAwIDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsICRzaGFkb3cta2V5LXVtYnJhLW9wYWNpdHkpLFxuICAgICAgICAgICAgICAwIDFweCA4cHggMCByZ2JhKDAsIDAsIDAsICRzaGFkb3ctYW1iaWVudC1zaGFkb3ctb3BhY2l0eSk7XG59XG5AbWl4aW4gc2hhZG93LTRkcCgpIHtcbiAgYm94LXNoYWRvdzogMCA0cHggNXB4IDAgcmdiYSgwLCAwLCAwLCAkc2hhZG93LWtleS1wZW51bWJyYS1vcGFjaXR5KSxcbiAgICAgICAgICAgICAgMCAxcHggMTBweCAwIHJnYmEoMCwgMCwgMCwgJHNoYWRvdy1hbWJpZW50LXNoYWRvdy1vcGFjaXR5KSxcbiAgICAgICAgICAgICAgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAkc2hhZG93LWtleS11bWJyYS1vcGFjaXR5KTtcbn1cbkBtaXhpbiBzaGFkb3ctNmRwKCkge1xuICBib3gtc2hhZG93OiAwIDZweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAkc2hhZG93LWtleS1wZW51bWJyYS1vcGFjaXR5KSxcbiAgICAgICAgICAgICAgMCAxcHggMThweCAwIHJnYmEoMCwgMCwgMCwgJHNoYWRvdy1hbWJpZW50LXNoYWRvdy1vcGFjaXR5KSxcbiAgICAgICAgICAgICAgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAkc2hhZG93LWtleS11bWJyYS1vcGFjaXR5KTtcbn1cbkBtaXhpbiBzaGFkb3ctOGRwKCkge1xuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsICRzaGFkb3cta2V5LXBlbnVtYnJhLW9wYWNpdHkpLFxuICAgICAgICAgICAgICAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsICRzaGFkb3ctYW1iaWVudC1zaGFkb3ctb3BhY2l0eSksXG4gICAgICAgICAgICAgIDAgNXB4IDVweCAtM3B4IHJnYmEoMCwgMCwgMCwgJHNoYWRvdy1rZXktdW1icmEtb3BhY2l0eSk7XG59XG5cbkBtaXhpbiBzaGFkb3ctMTZkcCgpIHtcbiAgYm94LXNoYWRvdzogMCAxNnB4IDI0cHggMnB4IHJnYmEoMCwgMCwgMCwgJHNoYWRvdy1rZXktcGVudW1icmEtb3BhY2l0eSksXG4gICAgICAgICAgICAgIDAgIDZweCAzMHB4IDVweCByZ2JhKDAsIDAsIDAsICRzaGFkb3ctYW1iaWVudC1zaGFkb3ctb3BhY2l0eSksXG4gICAgICAgICAgICAgIDAgIDhweCAxMHB4IC01cHggcmdiYSgwLCAwLCAwLCAkc2hhZG93LWtleS11bWJyYS1vcGFjaXR5KTtcbn1cblxuQG1peGluIHNoYWRvdy0yNGRwKCkge1xuICBib3gtc2hhZG93OiAwICA5cHggNDZweCAgOHB4IHJnYmEoMCwgMCwgMCwgJHNoYWRvdy1rZXktcGVudW1icmEtb3BhY2l0eSksXG4gICAgICAgICAgICAgIDAgMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAkc2hhZG93LWFtYmllbnQtc2hhZG93LW9wYWNpdHkpLFxuICAgICAgICAgICAgICAwIDI0cHggMzhweCAgM3B4IHJnYmEoMCwgMCwgMCwgJHNoYWRvdy1rZXktdW1icmEtb3BhY2l0eSk7XG59XG5cbi8qIEFuaW1hdGlvbnMgKi9cblxuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1mYXN0LW91dC1zbG93LWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhbmltYXRpb24tY3VydmUtZmFzdC1vdXQtc2xvdy1pbjtcbn1cblxuQG1peGluIG1hdGVyaWFsLWFuaW1hdGlvbi1saW5lYXItb3V0LXNsb3ctaW4oJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFuaW1hdGlvbi1jdXJ2ZS1saW5lYXItb3V0LXNsb3ctaW47XG59XG5cbkBtaXhpbiBtYXRlcmlhbC1hbmltYXRpb24tZmFzdC1vdXQtbGluZWFyLWluKCRkdXJhdGlvbjowLjJzKSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhbmltYXRpb24tY3VydmUtZmFzdC1vdXQtbGluZWFyLWluO1xufVxuXG5AbWl4aW4gbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoJGR1cmF0aW9uOjAuMnMpIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0O1xufVxuXG4vKiBEaWFsb2cgKi9cblxuQG1peGluIGRpYWxvZy13aWR0aCgkdW5pdHM6NSkge1xuICBAaWYodHlwZV9vZigkdW5pdHMpICE9ICdudW1iZXInKSB7XG4gICAgQGVycm9yIFwiVGhlIHVuaXQgZ2l2ZW4gdG8gZGlhbG9nLXdpZHRoIHNob3VsZCBiZSBhIG51bWJlci5cIjtcbiAgfVxuICAvLyA1NmRwIGlzIHRoZSBiYXNlIHVuaXQgd2lkdGggZm9yIERpYWxvZ3MuXG4gIC8vIFdpdGggNSB1bml0cyBiZWluZyB0aGUgbnVtYmVyIG9mIHVuaXRzIGZvciBhIG1vYmlsZSBkZXZpY2UuXG4gIC8vIGh0dHBzOi8vZ29vLmdsL3NLMk81b1xuICB3aWR0aDogJHVuaXRzICogNTZweDtcbn1cbiIsIi8qIVxuICogRm90b3JhbWEgNC42LjQgfCBodHRwOi8vZm90b3JhbWEuaW8vbGljZW5zZS9cbiAqL1xuLmZvdG9yYW1hX19hcnI6Zm9jdXM6YWZ0ZXIsLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246Zm9jdXM6YWZ0ZXIsLmZvdG9yYW1hX19odG1sLC5mb3RvcmFtYV9faW1nLC5mb3RvcmFtYV9fbmF2X19mcmFtZTpmb2N1cyAuZm90b3JhbWFfX2RvdDphZnRlciwuZm90b3JhbWFfX25hdl9fZnJhbWU6Zm9jdXMgLmZvdG9yYW1hX190aHVtYjphZnRlciwuZm90b3JhbWFfX3N0YWdlX19mcmFtZSwuZm90b3JhbWFfX3N0YWdlX19zaGFmdCwuZm90b3JhbWFfX3ZpZGVvIGlmcmFtZXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO3JpZ2h0OjA7bGVmdDowO2JvdHRvbTowfS5mb3RvcmFtYS0tZnVsbHNjcmVlbiwuZm90b3JhbWFfX2ltZ3ttYXgtd2lkdGg6OTk5OTlweCFpbXBvcnRhbnQ7bWF4LWhlaWdodDo5OTk5OXB4IWltcG9ydGFudDttaW4td2lkdGg6MCFpbXBvcnRhbnQ7bWluLWhlaWdodDowIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudH0uZm90b3JhbWFfX3dyYXAgLmZvdG9yYW1hX19ncmFie2N1cnNvcjptb3ZlO2N1cnNvcjotd2Via2l0LWdyYWI7Y3Vyc29yOi1vLWdyYWI7Y3Vyc29yOi1tcy1ncmFiO2N1cnNvcjpncmFifS5mb3RvcmFtYV9fZ3JhYmJpbmcgKntjdXJzb3I6bW92ZTtjdXJzb3I6LXdlYmtpdC1ncmFiYmluZztjdXJzb3I6LW8tZ3JhYmJpbmc7Y3Vyc29yOi1tcy1ncmFiYmluZztjdXJzb3I6Z3JhYmJpbmd9LmZvdG9yYW1hX19zcGlubmVye3Bvc2l0aW9uOmFic29sdXRlIWltcG9ydGFudDt0b3A6NTAlIWltcG9ydGFudDtsZWZ0OjUwJSFpbXBvcnRhbnR9LmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fYXJyLC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiwuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19uYXZfX3NoYWZ0LC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3N0YWdlX19zaGFmdCwuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX190aHVtYi1ib3JkZXIsLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fdmlkZW8tY2xvc2UsLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fdmlkZW8tcGxheXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX0uZm90b3JhbWFfX2NhcHRpb24sLmZvdG9yYW1hX19uYXY6YWZ0ZXIsLmZvdG9yYW1hX19uYXY6YmVmb3JlLC5mb3RvcmFtYV9fc3RhZ2U6YWZ0ZXIsLmZvdG9yYW1hX19zdGFnZTpiZWZvcmUsLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9faHRtbCwuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19uYXYsLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fc3Bpbm5lciwuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19zdGFnZSwuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19zdGFnZSAuZm90b3JhbWFfX2ltZywuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uZm90b3JhbWFfX2Fycjpmb2N1cywuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbjpmb2N1cywuZm90b3JhbWFfX25hdl9fZnJhbWV7b3V0bGluZTowfS5mb3RvcmFtYV9fYXJyOmZvY3VzOmFmdGVyLC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uOmZvY3VzOmFmdGVyLC5mb3RvcmFtYV9fbmF2X19mcmFtZTpmb2N1cyAuZm90b3JhbWFfX2RvdDphZnRlciwuZm90b3JhbWFfX25hdl9fZnJhbWU6Zm9jdXMgLmZvdG9yYW1hX190aHVtYjphZnRlcntjb250ZW50OicnO2JvcmRlci1yYWRpdXM6aW5oZXJpdDtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxNzUsMjM0LC41KX0uZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fc3RhZ2UsLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlX19mcmFtZS0tdmlkZW8sLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlX19mcmFtZS0tdmlkZW8gLmZvdG9yYW1hX19odG1sLC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUtLXZpZGVvIC5mb3RvcmFtYV9faW1nLC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZV9fc2hhZnR7LXdlYmtpdC10cmFuc2Zvcm06bm9uZSFpbXBvcnRhbnQ7dHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50fS5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX25hdl9fc2hhZnQsLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fc3RhZ2VfX3NoYWZ0LC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3RodW1iLWJvcmRlcnt0cmFuc2l0aW9uLXByb3BlcnR5Oi13ZWJraXQtdHJhbnNmb3JtLHdpZHRoO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLHdpZHRoO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjEsMCwuMjUsMSk7dHJhbnNpdGlvbi1kdXJhdGlvbjowbXN9LmZvdG9yYW1hX19hcnIsLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24sLmZvdG9yYW1hX19uby1zZWxlY3QsLmZvdG9yYW1hX192aWRlby1jbG9zZSwuZm90b3JhbWFfX3ZpZGVvLXBsYXksLmZvdG9yYW1hX193cmFwey13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uZm90b3JhbWFfX3NlbGVjdHstd2Via2l0LXVzZXItc2VsZWN0OnRleHQ7LW1vei11c2VyLXNlbGVjdDp0ZXh0Oy1tcy11c2VyLXNlbGVjdDp0ZXh0O3VzZXItc2VsZWN0OnRleHR9LmZvdG9yYW1hX19uYXYsLmZvdG9yYW1hX19uYXZfX2ZyYW1le21hcmdpbjphdXRvO3BhZGRpbmc6MH0uZm90b3JhbWFfX2NhcHRpb25fX3dyYXAsLmZvdG9yYW1hX19uYXZfX2ZyYW1lLC5mb3RvcmFtYV9fbmF2X19zaGFmdHstbW96LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOypkaXNwbGF5OmlubGluZTsqem9vbToxfS5mb3RvcmFtYV9fbmF2X19mcmFtZSwuZm90b3JhbWFfX3RodW1iLWJvcmRlcntib3gtc2l6aW5nOmNvbnRlbnQtYm94fS5mb3RvcmFtYV9fY2FwdGlvbl9fd3JhcHtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZvdG9yYW1hLS1oaWRkZW4sLmZvdG9yYW1hX19sb2Fke3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6LTk5OTk5cHg7dG9wOi05OTk5OXB4O3otaW5kZXg6LTF9LmZvdG9yYW1hX19hcnIsLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24sLmZvdG9yYW1hX19uYXYsLmZvdG9yYW1hX19uYXZfX2ZyYW1lLC5mb3RvcmFtYV9fbmF2X19zaGFmdCwuZm90b3JhbWFfX3N0YWdlX19mcmFtZSwuZm90b3JhbWFfX3N0YWdlX19zaGFmdCwuZm90b3JhbWFfX3ZpZGVvLWNsb3NlLC5mb3RvcmFtYV9fdmlkZW8tcGxheXstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6dHJhbnNwYXJlbnR9LmZvdG9yYW1hX19hcnIsLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24sLmZvdG9yYW1hX192aWRlby1jbG9zZSwuZm90b3JhbWFfX3ZpZGVvLXBsYXl7YmFja2dyb3VuZDp1cmwoLi4vaW1hZ2VzL2ZvdG9yYW1hLnBuZykgbm8tcmVwZWF0fUBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOjEuNSksKG1pbi1yZXNvbHV0aW9uOjJkcHB4KXsuZm90b3JhbWFfX2FyciwuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiwuZm90b3JhbWFfX3ZpZGVvLWNsb3NlLC5mb3RvcmFtYV9fdmlkZW8tcGxheXtiYWNrZ3JvdW5kOnVybCguLi9pbWFnZXMvZm90b3JhbWFAMngucG5nKSAwIDAvOTZweCAxNjBweCBuby1yZXBlYXR9fS5mb3RvcmFtYV9fdGh1bWJ7YmFja2dyb3VuZC1jb2xvcjojN2Y3ZjdmO2JhY2tncm91bmQtY29sb3I6cmdiYSgxMjcsMTI3LDEyNywuMil9QG1lZGlhIHByaW50ey5mb3RvcmFtYV9fYXJyLC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uLC5mb3RvcmFtYV9fdGh1bWItYm9yZGVyLC5mb3RvcmFtYV9fdmlkZW8tY2xvc2UsLmZvdG9yYW1hX192aWRlby1wbGF5e2JhY2tncm91bmQ6bm9uZSFpbXBvcnRhbnR9fS5mb3RvcmFtYXttaW4td2lkdGg6MXB4O292ZXJmbG93OmhpZGRlbn0uZm90b3JhbWE6bm90KC5mb3RvcmFtYS0tdW5vYnRydXNpdmUpPio6bm90KDpmaXJzdC1jaGlsZCl7ZGlzcGxheTpub25lfS5mdWxsc2NyZWVue3dpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDoxMDAlIWltcG9ydGFudDttYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7bWF4LWhlaWdodDoxMDAlIWltcG9ydGFudDttYXJnaW46MCFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudDtvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50O2JhY2tncm91bmQ6IzAwMH0uZm90b3JhbWEtLWZ1bGxzY3JlZW57cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50O3RvcDowIWltcG9ydGFudDtsZWZ0OjAhaW1wb3J0YW50O3JpZ2h0OjAhaW1wb3J0YW50O2JvdHRvbTowIWltcG9ydGFudDtmbG9hdDpub25lIWltcG9ydGFudDt6LWluZGV4OjIxNDc0ODM2NDchaW1wb3J0YW50O2JhY2tncm91bmQ6IzAwMDt3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6MTAwJSFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50fS5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX25hdiwuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19zdGFnZXtiYWNrZ3JvdW5kOiMwMDB9LmZvdG9yYW1hX193cmFwey13ZWJraXQtdGV4dC1zaXplLWFkanVzdDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO2RpcmVjdGlvbjpsdHI7ei1pbmRleDowfS5mb3RvcmFtYV9fd3JhcC0tcnRsIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1le2RpcmVjdGlvbjpydGx9LmZvdG9yYW1hX19uYXYsLmZvdG9yYW1hX19zdGFnZXtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmU7bWF4LXdpZHRoOjEwMCV9LmZvdG9yYW1hX193cmFwLS1wYW4teXstbXMtdG91Y2gtYWN0aW9uOnBhbi15fS5mb3RvcmFtYV9fd3JhcCAuZm90b3JhbWFfX3BvaW50ZXJ7Y3Vyc29yOnBvaW50ZXJ9LmZvdG9yYW1hX193cmFwLS1zbGlkZSAuZm90b3JhbWFfX3N0YWdlX19mcmFtZXtvcGFjaXR5OjEhaW1wb3J0YW50fS5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1le292ZXJmbG93OmhpZGRlbn0uZm90b3JhbWFfX3N0YWdlX19mcmFtZS5mb3RvcmFtYV9fYWN0aXZle3otaW5kZXg6OH0uZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWV7ZGlzcGxheTpub25lfS5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX2ZhZGUtZnJvbnQsLmZvdG9yYW1hX193cmFwLS1mYWRlIC5mb3RvcmFtYV9fZmFkZS1yZWFyLC5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX3N0YWdlX19mcmFtZS5mb3RvcmFtYV9fYWN0aXZle2Rpc3BsYXk6YmxvY2s7bGVmdDowO3RvcDowfS5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX2ZhZGUtZnJvbnR7ei1pbmRleDo4fS5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX2ZhZGUtcmVhcnt6LWluZGV4Ojd9LmZvdG9yYW1hX193cmFwLS1mYWRlIC5mb3RvcmFtYV9fZmFkZS1yZWFyLmZvdG9yYW1hX19hY3RpdmV7ei1pbmRleDo5fS5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX3N0YWdlIC5mb3RvcmFtYV9fc2hhZG93e2Rpc3BsYXk6bm9uZX0uZm90b3JhbWFfX2ltZ3stbXMtZmlsdGVyOlwiYWxwaGEoT3BhY2l0eT0wKVwiO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO29wYWNpdHk6MDtib3JkZXI6bm9uZSFpbXBvcnRhbnR9LmZvdG9yYW1hX19lcnJvciAuZm90b3JhbWFfX2ltZywuZm90b3JhbWFfX2xvYWRlZCAuZm90b3JhbWFfX2ltZ3stbXMtZmlsdGVyOlwiYWxwaGEoT3BhY2l0eT0xMDApXCI7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MTAwKTtvcGFjaXR5OjF9LmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fbG9hZGVkLS1mdWxsIC5mb3RvcmFtYV9faW1nLC5mb3RvcmFtYV9faW1nLS1mdWxse2Rpc3BsYXk6bm9uZX0uZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19sb2FkZWQtLWZ1bGwgLmZvdG9yYW1hX19pbWctLWZ1bGx7ZGlzcGxheTpibG9ja30uZm90b3JhbWFfX3dyYXAtLW9ubHktYWN0aXZlIC5mb3RvcmFtYV9fbmF2LC5mb3RvcmFtYV9fd3JhcC0tb25seS1hY3RpdmUgLmZvdG9yYW1hX19zdGFnZXttYXgtd2lkdGg6OTk5OTlweCFpbXBvcnRhbnR9LmZvdG9yYW1hX193cmFwLS1vbmx5LWFjdGl2ZSAuZm90b3JhbWFfX3N0YWdlX19mcmFtZXt2aXNpYmlsaXR5OmhpZGRlbn0uZm90b3JhbWFfX3dyYXAtLW9ubHktYWN0aXZlIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLmZvdG9yYW1hX19hY3RpdmV7dmlzaWJpbGl0eTp2aXNpYmxlfS5mb3RvcmFtYV9fbmF2e2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjA7dGV4dC1hbGlnbjpjZW50ZXI7ZGlzcGxheTpub25lO3doaXRlLXNwYWNlOm5vd3JhcDt6LWluZGV4OjV9LmZvdG9yYW1hX19uYXZfX3NoYWZ0e3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6MDt0b3A6MDt0ZXh0LWFsaWduOmxlZnR9LmZvdG9yYW1hX19uYXZfX2ZyYW1le3Bvc2l0aW9uOnJlbGF0aXZlO2N1cnNvcjpwb2ludGVyfS5mb3RvcmFtYV9fbmF2LS1kb3Rze2Rpc3BsYXk6YmxvY2t9LmZvdG9yYW1hX19uYXYtLWRvdHMgLmZvdG9yYW1hX19uYXZfX2ZyYW1le3dpZHRoOjE4cHg7aGVpZ2h0OjMwcHh9LmZvdG9yYW1hX19uYXYtLWRvdHMgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS10aHVtYiwuZm90b3JhbWFfX25hdi0tZG90cyAuZm90b3JhbWFfX3RodW1iLWJvcmRlcntkaXNwbGF5Om5vbmV9LmZvdG9yYW1hX19uYXYtLXRodW1ic3tkaXNwbGF5OmJsb2NrfS5mb3RvcmFtYV9fbmF2LS10aHVtYnMgLmZvdG9yYW1hX19uYXZfX2ZyYW1le3BhZGRpbmctbGVmdDowIWltcG9ydGFudH0uZm90b3JhbWFfX25hdi0tdGh1bWJzIC5mb3RvcmFtYV9fbmF2X19mcmFtZTpsYXN0LWNoaWxke3BhZGRpbmctcmlnaHQ6MCFpbXBvcnRhbnR9LmZvdG9yYW1hX19uYXYtLXRodW1icyAuZm90b3JhbWFfX25hdl9fZnJhbWUtLWRvdHtkaXNwbGF5Om5vbmV9LmZvdG9yYW1hX19kb3R7ZGlzcGxheTpibG9jazt3aWR0aDo0cHg7aGVpZ2h0OjRweDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MTJweDtsZWZ0OjZweDtib3JkZXItcmFkaXVzOjZweDtib3JkZXI6MXB4IHNvbGlkICM3ZjdmN2Z9LmZvdG9yYW1hX19uYXZfX2ZyYW1lOmZvY3VzIC5mb3RvcmFtYV9fZG90OmFmdGVye3BhZGRpbmc6MXB4O3RvcDotMXB4O2xlZnQ6LTFweH0uZm90b3JhbWFfX25hdl9fZnJhbWUuZm90b3JhbWFfX2FjdGl2ZSAuZm90b3JhbWFfX2RvdHt3aWR0aDowO2hlaWdodDowO2JvcmRlci13aWR0aDozcHh9LmZvdG9yYW1hX19uYXZfX2ZyYW1lLmZvdG9yYW1hX19hY3RpdmUgLmZvdG9yYW1hX19kb3Q6YWZ0ZXJ7cGFkZGluZzozcHg7dG9wOi0zcHg7bGVmdDotM3B4fS5mb3RvcmFtYV9fdGh1bWJ7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LmZvdG9yYW1hX19uYXZfX2ZyYW1lOmZvY3VzIC5mb3RvcmFtYV9fdGh1bWJ7ei1pbmRleDoyfS5mb3RvcmFtYV9fdGh1bWItYm9yZGVye3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6OTt0b3A6MDtsZWZ0OjA7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci1jb2xvcjojMDBhZmVhO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCxyZ2JhKDI1NSwyNTUsMjU1LC4yNSkscmdiYSg2NCw2NCw2NCwuMSkpfS5mb3RvcmFtYV9fY2FwdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjEyO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2ZvbnQtZmFtaWx5OidIZWx2ZXRpY2EgTmV1ZScsQXJpYWwsc2Fucy1zZXJpZjtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjU7Y29sb3I6IzAwMH0uZm90b3JhbWFfX2NhcHRpb24gYXt0ZXh0LWRlY29yYXRpb246bm9uZTtjb2xvcjojMDAwO2JvcmRlci1ib3R0b206MXB4IHNvbGlkO2JvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLC41KX0uZm90b3JhbWFfX2NhcHRpb24gYTpob3Zlcntjb2xvcjojMzMzO2JvcmRlci1jb2xvcjpyZ2JhKDUxLDUxLDUxLC41KX0uZm90b3JhbWFfX3dyYXAtLXJ0bCAuZm90b3JhbWFfX2NhcHRpb257bGVmdDphdXRvO3JpZ2h0OjB9LmZvdG9yYW1hX193cmFwLS1uby1jYXB0aW9ucyAuZm90b3JhbWFfX2NhcHRpb24sLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2NhcHRpb257ZGlzcGxheTpub25lfS5mb3RvcmFtYV9fY2FwdGlvbl9fd3JhcHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LC45KTtwYWRkaW5nOjVweCAxMHB4fUAtd2Via2l0LWtleWZyYW1lcyBzcGlubmVyezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwKTt0cmFuc2Zvcm06cm90YXRlKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM2MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX1Aa2V5ZnJhbWVzIHNwaW5uZXJ7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fS5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3NwaW5uZXJ7LXdlYmtpdC1hbmltYXRpb246c3Bpbm5lciAyNHMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpzcGlubmVyIDI0cyBpbmZpbml0ZSBsaW5lYXJ9LmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9faHRtbCwuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19zdGFnZSAuZm90b3JhbWFfX2ltZ3t0cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUtLXZpZGVvIC5mb3RvcmFtYV9faHRtbCwuZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLS12aWRlbyAuZm90b3JhbWFfX2ltZ3stbXMtZmlsdGVyOlwiYWxwaGEoT3BhY2l0eT0wKVwiO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO29wYWNpdHk6MH0uZm90b3JhbWFfX3NlbGVjdHtjdXJzb3I6YXV0b30uZm90b3JhbWFfX3ZpZGVve3RvcDozMnB4O3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTB9QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpey5mb3RvcmFtYV9fYWN0aXZle2JveC1zaGFkb3c6MCAwIDAgdHJhbnNwYXJlbnR9fS5mb3RvcmFtYV9fYXJyLC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uLC5mb3RvcmFtYV9fdmlkZW8tY2xvc2UsLmZvdG9yYW1hX192aWRlby1wbGF5e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTE7Y3Vyc29yOnBvaW50ZXJ9LmZvdG9yYW1hX19hcnJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDt0b3A6NTAlO21hcmdpbi10b3A6LTE2cHh9LmZvdG9yYW1hX19hcnItLXByZXZ7bGVmdDoycHg7YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9LmZvdG9yYW1hX19hcnItLW5leHR7cmlnaHQ6MnB4O2JhY2tncm91bmQtcG9zaXRpb246LTMycHggMH0uZm90b3JhbWFfX2Fyci0tZGlzYWJsZWR7cG9pbnRlci1ldmVudHM6bm9uZTtjdXJzb3I6ZGVmYXVsdDsqZGlzcGxheTpub25lO29wYWNpdHk6LjF9LmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb257d2lkdGg6MzJweDtoZWlnaHQ6MzJweDt0b3A6MnB4O3JpZ2h0OjJweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTMycHg7ei1pbmRleDoyMH0uZm90b3JhbWFfX2Fycjpmb2N1cywuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbjpmb2N1c3tib3JkZXItcmFkaXVzOjUwJX0uZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb257YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMzJweH0uZm90b3JhbWFfX3ZpZGVvLXBsYXl7d2lkdGg6OTZweDtoZWlnaHQ6OTZweDtsZWZ0OjUwJTt0b3A6NTAlO21hcmdpbi1sZWZ0Oi00OHB4O21hcmdpbi10b3A6LTQ4cHg7YmFja2dyb3VuZC1wb3NpdGlvbjowIC02NHB4O29wYWNpdHk6MH0uZm90b3JhbWFfX3dyYXAtLWNzczIgLmZvdG9yYW1hX192aWRlby1wbGF5LC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZSAuZm90b3JhbWFfX3ZpZGVvLXBsYXl7ZGlzcGxheTpub25lfS5mb3RvcmFtYV9fZXJyb3IgLmZvdG9yYW1hX192aWRlby1wbGF5LC5mb3RvcmFtYV9fbG9hZGVkIC5mb3RvcmFtYV9fdmlkZW8tcGxheSwuZm90b3JhbWFfX25hdl9fZnJhbWUgLmZvdG9yYW1hX192aWRlby1wbGF5e29wYWNpdHk6MTtkaXNwbGF5OmJsb2NrfS5mb3RvcmFtYV9fbmF2X19mcmFtZSAuZm90b3JhbWFfX3ZpZGVvLXBsYXl7d2lkdGg6MzJweDtoZWlnaHQ6MzJweDttYXJnaW4tbGVmdDotMTZweDttYXJnaW4tdG9wOi0xNnB4O2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTMycHh9LmZvdG9yYW1hX192aWRlby1jbG9zZXt3aWR0aDozMnB4O2hlaWdodDozMnB4O3RvcDowO3JpZ2h0OjA7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAwO3otaW5kZXg6MjA7b3BhY2l0eTowfS5mb3RvcmFtYV9fd3JhcC0tY3NzMiAuZm90b3JhbWFfX3ZpZGVvLWNsb3Nle2Rpc3BsYXk6bm9uZX0uZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX192aWRlby1jbG9zZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgzMnB4LC0zMnB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgzMnB4LC0zMnB4LDApfS5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX192aWRlby1jbG9zZXtkaXNwbGF5OmJsb2NrO29wYWNpdHk6MX0uZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fdmlkZW8tY2xvc2V7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9LmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2FyciwuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29ue29wYWNpdHk6MH0uZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIC5mb3RvcmFtYV9fYXJyOmZvY3VzLC5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246Zm9jdXN7b3BhY2l0eToxfS5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19hcnIsLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbntvcGFjaXR5OjAhaW1wb3J0YW50fS5mb3RvcmFtYV9fd3JhcC0tY3NzMi5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19hcnIsLmZvdG9yYW1hX193cmFwLS1jc3MyLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbntkaXNwbGF5Om5vbmV9LmZvdG9yYW1hX193cmFwLS1jc3MyLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2Fycjpmb2N1cywuZm90b3JhbWFfX3dyYXAtLWNzczIuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uOmZvY3Vze2Rpc3BsYXk6YmxvY2t9LmZvdG9yYW1hX193cmFwLS1jc3MyLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2FyciwuZm90b3JhbWFfX3dyYXAtLWNzczIuZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29ue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tc2xpZGUuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246bm90KDpmb2N1cyl7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMzJweCwtMzJweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMzJweCwtMzJweCwwKX0uZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS1zbGlkZS5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2Fyci0tcHJldjpub3QoOmZvY3VzKXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNDhweCwwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgtNDhweCwwLDApfS5mb3RvcmFtYV9fd3JhcC0tY3NzMy5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXNsaWRlLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIC5mb3RvcmFtYV9fYXJyLS1uZXh0Om5vdCg6Zm9jdXMpey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDQ4cHgsMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoNDhweCwwLDApfS5mb3RvcmFtYV9fd3JhcC0tY3NzMy5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb257LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMzJweCwtMzJweCwwKSFpbXBvcnRhbnQ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDMycHgsLTMycHgsMCkhaW1wb3J0YW50fS5mb3RvcmFtYV9fd3JhcC0tY3NzMy5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19hcnItLXByZXZ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoLTQ4cHgsMCwwKSFpbXBvcnRhbnQ7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC00OHB4LDAsMCkhaW1wb3J0YW50fS5mb3RvcmFtYV9fd3JhcC0tY3NzMy5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19hcnItLW5leHR7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlM2QoNDhweCwwLDApIWltcG9ydGFudDt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoNDhweCwwLDApIWltcG9ydGFudH0uZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19hcnI6bm90KDpmb2N1cyksLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uOm5vdCg6Zm9jdXMpLC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlOm5vdCg6Zm9jdXMpLC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3ZpZGVvLXBsYXk6bm90KDpmb2N1cyl7dHJhbnNpdGlvbi1wcm9wZXJ0eTotd2Via2l0LXRyYW5zZm9ybSxvcGFjaXR5O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmZvdG9yYW1hX19uYXY6YWZ0ZXIsLmZvdG9yYW1hX19uYXY6YmVmb3JlLC5mb3RvcmFtYV9fc3RhZ2U6YWZ0ZXIsLmZvdG9yYW1hX19zdGFnZTpiZWZvcmV7Y29udGVudDpcIlwiO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dG9wOjA7Ym90dG9tOjA7d2lkdGg6MTBweDtoZWlnaHQ6YXV0bzt6LWluZGV4OjEwO3BvaW50ZXItZXZlbnRzOm5vbmU7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxcHggMTAwJSw1cHggMTAwJX0uZm90b3JhbWFfX25hdjpiZWZvcmUsLmZvdG9yYW1hX19zdGFnZTpiZWZvcmV7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQscmdiYSgwLDAsMCwuMikgMjUlLHJnYmEoMCwwLDAsLjMpIDc1JSx0cmFuc3BhcmVudCkscmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMCA1MCUscmdiYSgwLDAsMCwuNCksdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtcG9zaXRpb246MCAwLDAgMDtsZWZ0Oi0xMHB4fS5mb3RvcmFtYV9fbmF2LmZvdG9yYW1hX19zaGFkb3dzLS1sZWZ0OmJlZm9yZSwuZm90b3JhbWFfX3N0YWdlLmZvdG9yYW1hX19zaGFkb3dzLS1sZWZ0OmJlZm9yZXtsZWZ0OjB9LmZvdG9yYW1hX19uYXY6YWZ0ZXIsLmZvdG9yYW1hX19zdGFnZTphZnRlcntiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCxyZ2JhKDAsMCwwLC4yKSAyNSUscmdiYSgwLDAsMCwuMykgNzUlLHRyYW5zcGFyZW50KSxyYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSxyZ2JhKDAsMCwwLC40KSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1wb3NpdGlvbjoxMDAlIDAsMTAwJSAwO3JpZ2h0Oi0xMHB4fS5mb3RvcmFtYV9fbmF2LmZvdG9yYW1hX19zaGFkb3dzLS1yaWdodDphZnRlciwuZm90b3JhbWFfX3N0YWdlLmZvdG9yYW1hX19zaGFkb3dzLS1yaWdodDphZnRlcntyaWdodDowfS5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX25hdjphZnRlciwuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19uYXY6YmVmb3JlLC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX3N0YWdlOmFmdGVyLC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX3N0YWdlOmJlZm9yZSwuZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19zdGFnZTphZnRlciwuZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19zdGFnZTpiZWZvcmUsLmZvdG9yYW1hX193cmFwLS1uby1zaGFkb3dzIC5mb3RvcmFtYV9fbmF2OmFmdGVyLC5mb3RvcmFtYV9fd3JhcC0tbm8tc2hhZG93cyAuZm90b3JhbWFfX25hdjpiZWZvcmUsLmZvdG9yYW1hX193cmFwLS1uby1zaGFkb3dzIC5mb3RvcmFtYV9fc3RhZ2U6YWZ0ZXIsLmZvdG9yYW1hX193cmFwLS1uby1zaGFkb3dzIC5mb3RvcmFtYV9fc3RhZ2U6YmVmb3Jle2Rpc3BsYXk6bm9uZX0iLCJAY2hhcnNldCBcIlVURi04XCI7XG4ucHNldWRvLCAud2hhdC13ZS1kbyAuYmx1cnJlZDpiZWZvcmUsIC53aGF0LXdlLWRvIGhlYWRlcjphZnRlciwgLndoYXQtd2UtZG8gc2VjdGlvbiAud3JhcHBlcjphZnRlciwgLnByb2R1Y3RzIGhlYWRlcjpiZWZvcmUsICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlOmFmdGVyLCAjY29udGFjdCAubGV0cy10YWxrIC5jcm9zcy10aXRsZSBoMjphZnRlciwgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3RvcnkgLmNyb3NzLXRpdGxlOmFmdGVyLCAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGUgaDIgc3BhbjphZnRlciwgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3RvcnkgLmNyb3NzLXRpdGxlIGgyOmFmdGVyLCAjYWJvdXQgLmNvZGVyb2NrciAucHJpbmNpcGxlcyAuY29udGFpbmVyOmFmdGVyLCAuZ3JvdXAgLmJhcjpiZWZvcmUsIC5ncm91cCAuYmFyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7IH1cblxuLyohXG4gKiBGb3RvcmFtYSA0LjYuNCB8IGh0dHA6Ly9mb3RvcmFtYS5pby9saWNlbnNlL1xuICovXG4uZm90b3JhbWFfX2Fycjpmb2N1czphZnRlciwgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246Zm9jdXM6YWZ0ZXIsIC5mb3RvcmFtYV9faHRtbCwgLmZvdG9yYW1hX19pbWcsIC5mb3RvcmFtYV9fbmF2X19mcmFtZTpmb2N1cyAuZm90b3JhbWFfX2RvdDphZnRlciwgLmZvdG9yYW1hX19uYXZfX2ZyYW1lOmZvY3VzIC5mb3RvcmFtYV9fdGh1bWI6YWZ0ZXIsIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLCAuZm90b3JhbWFfX3N0YWdlX19zaGFmdCwgLmZvdG9yYW1hX192aWRlbyBpZnJhbWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4uZm90b3JhbWEtLWZ1bGxzY3JlZW4sIC5mb3RvcmFtYV9faW1nIHtcbiAgbWF4LXdpZHRoOiA5OTk5OXB4ICFpbXBvcnRhbnQ7XG4gIG1heC1oZWlnaHQ6IDk5OTk5cHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWFfX3dyYXAgLmZvdG9yYW1hX19ncmFiIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiAtby1ncmFiO1xuICBjdXJzb3I6IC1tcy1ncmFiO1xuICBjdXJzb3I6IGdyYWI7IH1cblxuLmZvdG9yYW1hX19ncmFiYmluZyAqIHtcbiAgY3Vyc29yOiBtb3ZlO1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW8tZ3JhYmJpbmc7XG4gIGN1cnNvcjogLW1zLWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi5mb3RvcmFtYV9fc3Bpbm5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiA1MCUgIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19hcnIsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiwgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fbmF2X19zaGFmdCwgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fc3RhZ2VfX3NoYWZ0LCAuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX190aHVtYi1ib3JkZXIsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlLCAuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX192aWRlby1wbGF5IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5mb3RvcmFtYV9fY2FwdGlvbiwgLmZvdG9yYW1hX19uYXY6YWZ0ZXIsIC5mb3RvcmFtYV9fbmF2OmJlZm9yZSwgLmZvdG9yYW1hX19zdGFnZTphZnRlciwgLmZvdG9yYW1hX19zdGFnZTpiZWZvcmUsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX2h0bWwsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX25hdiwgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fc3Bpbm5lciwgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fc3RhZ2UsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3N0YWdlIC5mb3RvcmFtYV9faW1nLCAuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOyB9XG5cbi5mb3RvcmFtYV9fYXJyOmZvY3VzLCAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbjpmb2N1cywgLmZvdG9yYW1hX19uYXZfX2ZyYW1lIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZm90b3JhbWFfX2Fycjpmb2N1czphZnRlciwgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246Zm9jdXM6YWZ0ZXIsIC5mb3RvcmFtYV9fbmF2X19mcmFtZTpmb2N1cyAuZm90b3JhbWFfX2RvdDphZnRlciwgLmZvdG9yYW1hX19uYXZfX2ZyYW1lOmZvY3VzIC5mb3RvcmFtYV9fdGh1bWI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNzUsIDIzNCwgMC41KTsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fc3RhZ2UsIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUtLXZpZGVvLCAuZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLS12aWRlbyAuZm90b3JhbWFfX2h0bWwsIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUtLXZpZGVvIC5mb3RvcmFtYV9faW1nLCAuZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fc3RhZ2VfX3NoYWZ0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fbmF2X19zaGFmdCwgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fc3RhZ2VfX3NoYWZ0LCAuZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX190aHVtYi1ib3JkZXIge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSx3aWR0aDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLHdpZHRoO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMSwgMCwgMC4yNSwgMSk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDBtczsgfVxuXG4uZm90b3JhbWFfX2FyciwgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24sIC5mb3RvcmFtYV9fbm8tc2VsZWN0LCAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlLCAuZm90b3JhbWFfX3ZpZGVvLXBsYXksIC5mb3RvcmFtYV9fd3JhcCB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZvdG9yYW1hX19zZWxlY3Qge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAtbW96LXVzZXItc2VsZWN0OiB0ZXh0O1xuICAtbXMtdXNlci1zZWxlY3Q6IHRleHQ7XG4gIHVzZXItc2VsZWN0OiB0ZXh0OyB9XG5cbi5mb3RvcmFtYV9fbmF2LCAuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdG9yYW1hX19jYXB0aW9uX193cmFwLCAuZm90b3JhbWFfX25hdl9fZnJhbWUsIC5mb3RvcmFtYV9fbmF2X19zaGFmdCB7XG4gIC1tb3otYm94LW9yaWVudDogdmVydGljYWw7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgKmRpc3BsYXk6IGlubGluZTtcbiAgKnpvb206IDE7IH1cblxuLmZvdG9yYW1hX19uYXZfX2ZyYW1lLCAuZm90b3JhbWFfX3RodW1iLWJvcmRlciB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyB9XG5cbi5mb3RvcmFtYV9fY2FwdGlvbl9fd3JhcCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLmZvdG9yYW1hLS1oaWRkZW4sIC5mb3RvcmFtYV9fbG9hZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTk5OTk5cHg7XG4gIHRvcDogLTk5OTk5cHg7XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5mb3RvcmFtYV9fYXJyLCAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiwgLmZvdG9yYW1hX19uYXYsIC5mb3RvcmFtYV9fbmF2X19mcmFtZSwgLmZvdG9yYW1hX19uYXZfX3NoYWZ0LCAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSwgLmZvdG9yYW1hX19zdGFnZV9fc2hhZnQsIC5mb3RvcmFtYV9fdmlkZW8tY2xvc2UsIC5mb3RvcmFtYV9fdmlkZW8tcGxheSB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLmZvdG9yYW1hX19hcnIsIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uLCAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlLCAuZm90b3JhbWFfX3ZpZGVvLXBsYXkge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZvdG9yYW1hLnBuZykgbm8tcmVwZWF0OyB9XG5cbkBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gIC5mb3RvcmFtYV9fYXJyLCAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiwgLmZvdG9yYW1hX192aWRlby1jbG9zZSwgLmZvdG9yYW1hX192aWRlby1wbGF5IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ZvdG9yYW1hQDJ4LnBuZykgMCAwLzk2cHggMTYwcHggbm8tcmVwZWF0OyB9IH1cblxuLmZvdG9yYW1hX190aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3ZjdmN2Y7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4yKTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuZm90b3JhbWFfX2FyciwgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24sIC5mb3RvcmFtYV9fdGh1bWItYm9yZGVyLCAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlLCAuZm90b3JhbWFfX3ZpZGVvLXBsYXkge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5mb3RvcmFtYSB7XG4gIG1pbi13aWR0aDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mb3RvcmFtYTpub3QoLmZvdG9yYW1hLS11bm9idHJ1c2l2ZSkgPiAqOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZnVsbHNjcmVlbiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLmZvdG9yYW1hLS1mdWxsc2NyZWVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAyMTQ3NDgzNjQ3ICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19uYXYsIC5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX3N0YWdlIHtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uZm90b3JhbWFfX3dyYXAge1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHotaW5kZXg6IDA7IH1cblxuLmZvdG9yYW1hX193cmFwLS1ydGwgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuXG4uZm90b3JhbWFfX25hdiwgLmZvdG9yYW1hX19zdGFnZSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tcGFuLXkge1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTsgfVxuXG4uZm90b3JhbWFfX3dyYXAgLmZvdG9yYW1hX19wb2ludGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tc2xpZGUgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cblxuLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lLmZvdG9yYW1hX19hY3RpdmUge1xuICB6LWluZGV4OiA4OyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tZmFkZSAuZm90b3JhbWFfX3N0YWdlX19mcmFtZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdG9yYW1hX193cmFwLS1mYWRlIC5mb3RvcmFtYV9fZmFkZS1mcm9udCwgLmZvdG9yYW1hX193cmFwLS1mYWRlIC5mb3RvcmFtYV9fZmFkZS1yZWFyLCAuZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUuZm90b3JhbWFfX2FjdGl2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLmZvdG9yYW1hX193cmFwLS1mYWRlIC5mb3RvcmFtYV9fZmFkZS1mcm9udCB7XG4gIHotaW5kZXg6IDg7IH1cblxuLmZvdG9yYW1hX193cmFwLS1mYWRlIC5mb3RvcmFtYV9fZmFkZS1yZWFyIHtcbiAgei1pbmRleDogNzsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19mYWRlLXJlYXIuZm90b3JhbWFfX2FjdGl2ZSB7XG4gIHotaW5kZXg6IDk7IH1cblxuLmZvdG9yYW1hX193cmFwLS1mYWRlIC5mb3RvcmFtYV9fc3RhZ2UgLmZvdG9yYW1hX19zaGFkb3cge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3RvcmFtYV9faW1nIHtcbiAgLW1zLWZpbHRlcjogXCJhbHBoYShPcGFjaXR5PTApXCI7XG4gIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtcbiAgb3BhY2l0eTogMDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZvdG9yYW1hX19lcnJvciAuZm90b3JhbWFfX2ltZywgLmZvdG9yYW1hX19sb2FkZWQgLmZvdG9yYW1hX19pbWcge1xuICAtbXMtZmlsdGVyOiBcImFscGhhKE9wYWNpdHk9MTAwKVwiO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19sb2FkZWQtLWZ1bGwgLmZvdG9yYW1hX19pbWcsIC5mb3RvcmFtYV9faW1nLS1mdWxsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19sb2FkZWQtLWZ1bGwgLmZvdG9yYW1hX19pbWctLWZ1bGwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLW9ubHktYWN0aXZlIC5mb3RvcmFtYV9fbmF2LCAuZm90b3JhbWFfX3dyYXAtLW9ubHktYWN0aXZlIC5mb3RvcmFtYV9fc3RhZ2Uge1xuICBtYXgtd2lkdGg6IDk5OTk5cHggIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLW9ubHktYWN0aXZlIC5mb3RvcmFtYV9fc3RhZ2VfX2ZyYW1lIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tb25seS1hY3RpdmUgLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUuZm90b3JhbWFfX2FjdGl2ZSB7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmZvdG9yYW1hX19uYXYge1xuICBmb250LXNpemU6IDA7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHotaW5kZXg6IDU7IH1cblxuLmZvdG9yYW1hX19uYXZfX3NoYWZ0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmZvdG9yYW1hX19uYXZfX2ZyYW1lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZvdG9yYW1hX19uYXYtLWRvdHMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZm90b3JhbWFfX25hdi0tZG90cyAuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAzMHB4OyB9XG5cbi5mb3RvcmFtYV9fbmF2LS1kb3RzIC5mb3RvcmFtYV9fbmF2X19mcmFtZS0tdGh1bWIsIC5mb3RvcmFtYV9fbmF2LS1kb3RzIC5mb3RvcmFtYV9fdGh1bWItYm9yZGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm90b3JhbWFfX25hdi0tdGh1bWJzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZvdG9yYW1hX19uYXYtLXRodW1icyAuZm90b3JhbWFfX25hdl9fZnJhbWUge1xuICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWFfX25hdi0tdGh1bWJzIC5mb3RvcmFtYV9fbmF2X19mcmFtZTpsYXN0LWNoaWxkIHtcbiAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5mb3RvcmFtYV9fbmF2LS10aHVtYnMgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS1kb3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3RvcmFtYV9fZG90IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTJweDtcbiAgbGVmdDogNnB4O1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3ZjdmN2Y7IH1cblxuLmZvdG9yYW1hX19uYXZfX2ZyYW1lOmZvY3VzIC5mb3RvcmFtYV9fZG90OmFmdGVyIHtcbiAgcGFkZGluZzogMXB4O1xuICB0b3A6IC0xcHg7XG4gIGxlZnQ6IC0xcHg7IH1cblxuLmZvdG9yYW1hX19uYXZfX2ZyYW1lLmZvdG9yYW1hX19hY3RpdmUgLmZvdG9yYW1hX19kb3Qge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItd2lkdGg6IDNweDsgfVxuXG4uZm90b3JhbWFfX25hdl9fZnJhbWUuZm90b3JhbWFfX2FjdGl2ZSAuZm90b3JhbWFfX2RvdDphZnRlciB7XG4gIHBhZGRpbmc6IDNweDtcbiAgdG9wOiAtM3B4O1xuICBsZWZ0OiAtM3B4OyB9XG5cbi5mb3RvcmFtYV9fdGh1bWIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmZvdG9yYW1hX19uYXZfX2ZyYW1lOmZvY3VzIC5mb3RvcmFtYV9fdGh1bWIge1xuICB6LWluZGV4OiAyOyB9XG5cbi5mb3RvcmFtYV9fdGh1bWItYm9yZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiA5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogIzAwYWZlYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KSwgcmdiYSg2NCwgNjQsIDY0LCAwLjEpKTsgfVxuXG4uZm90b3JhbWFfX2NhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBmb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJyxBcmlhbCxzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5mb3RvcmFtYV9fY2FwdGlvbiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4uZm90b3JhbWFfX2NhcHRpb24gYTpob3ZlciB7XG4gIGNvbG9yOiAjMzMzO1xuICBib3JkZXItY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLXJ0bCAuZm90b3JhbWFfX2NhcHRpb24ge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLW5vLWNhcHRpb25zIC5mb3RvcmFtYV9fY2FwdGlvbiwgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2NhcHRpb24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3RvcmFtYV9fY2FwdGlvbl9fd3JhcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgcGFkZGluZzogNXB4IDEwcHg7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW5uZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fc3Bpbm5lciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzcGlubmVyIDI0cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogc3Bpbm5lciAyNHMgaW5maW5pdGUgbGluZWFyOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX2h0bWwsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3N0YWdlIC5mb3RvcmFtYV9faW1nIHtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19zdGFnZV9fZnJhbWUtLXZpZGVvIC5mb3RvcmFtYV9faHRtbCwgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlX19mcmFtZS0tdmlkZW8gLmZvdG9yYW1hX19pbWcge1xuICAtbXMtZmlsdGVyOiBcImFscGhhKE9wYWNpdHk9MClcIjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mb3RvcmFtYV9fc2VsZWN0IHtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5mb3RvcmFtYV9fdmlkZW8ge1xuICB0b3A6IDMycHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7IH1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLmZvdG9yYW1hX19hY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIHRyYW5zcGFyZW50OyB9IH1cblxuLmZvdG9yYW1hX19hcnIsIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uLCAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlLCAuZm90b3JhbWFfX3ZpZGVvLXBsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDExO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZvdG9yYW1hX19hcnIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMTZweDsgfVxuXG4uZm90b3JhbWFfX2Fyci0tcHJldiB7XG4gIGxlZnQ6IDJweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG5cbi5mb3RvcmFtYV9fYXJyLS1uZXh0IHtcbiAgcmlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMycHggMDsgfVxuXG4uZm90b3JhbWFfX2Fyci0tZGlzYWJsZWQge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICAqZGlzcGxheTogbm9uZTtcbiAgb3BhY2l0eTogLjE7IH1cblxuLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICB0b3A6IDJweDtcbiAgcmlnaHQ6IDJweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzJweDtcbiAgei1pbmRleDogMjA7IH1cblxuLmZvdG9yYW1hX19hcnI6Zm9jdXMsIC5mb3RvcmFtYV9fZnVsbHNjcmVlbi1pY29uOmZvY3VzIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5mb3RvcmFtYS0tZnVsbHNjcmVlbiAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0zMnB4IC0zMnB4OyB9XG5cbi5mb3RvcmFtYV9fdmlkZW8tcGxheSB7XG4gIHdpZHRoOiA5NnB4O1xuICBoZWlnaHQ6IDk2cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNDhweDtcbiAgbWFyZ2luLXRvcDogLTQ4cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTY0cHg7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZvdG9yYW1hX193cmFwLS1jc3MyIC5mb3RvcmFtYV9fdmlkZW8tcGxheSwgLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3N0YWdlIC5mb3RvcmFtYV9fdmlkZW8tcGxheSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdG9yYW1hX19lcnJvciAuZm90b3JhbWFfX3ZpZGVvLXBsYXksIC5mb3RvcmFtYV9fbG9hZGVkIC5mb3RvcmFtYV9fdmlkZW8tcGxheSwgLmZvdG9yYW1hX19uYXZfX2ZyYW1lIC5mb3RvcmFtYV9fdmlkZW8tcGxheSB7XG4gIG9wYWNpdHk6IDE7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mb3RvcmFtYV9fbmF2X19mcmFtZSAuZm90b3JhbWFfX3ZpZGVvLXBsYXkge1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW4tbGVmdDogLTE2cHg7XG4gIG1hcmdpbi10b3A6IC0xNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjRweCAtMzJweDsgfVxuXG4uZm90b3JhbWFfX3ZpZGVvLWNsb3NlIHtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY0cHggMDtcbiAgei1pbmRleDogMjA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZvdG9yYW1hX193cmFwLS1jc3MyIC5mb3RvcmFtYV9fdmlkZW8tY2xvc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMycHgsIC0zMnB4LCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgzMnB4LCAtMzJweCwgMCk7IH1cblxuLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX3ZpZGVvLWNsb3NlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19hcnIsIC5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19hcnI6Zm9jdXMsIC5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246Zm9jdXMge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19hcnIsIC5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7IH1cblxuLmZvdG9yYW1hX193cmFwLS1jc3MyLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2FyciwgLmZvdG9yYW1hX193cmFwLS1jc3MyLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdG9yYW1hX193cmFwLS1jc3MyLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2Fycjpmb2N1cywgLmZvdG9yYW1hX193cmFwLS1jc3MyLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbjpmb2N1cyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tY3NzMi5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19hcnIsIC5mb3RvcmFtYV9fd3JhcC0tY3NzMi5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS1uby1jb250cm9scy5mb3RvcmFtYV9fd3JhcC0tc2xpZGUuZm90b3JhbWFfX3dyYXAtLXRvZ2dsZS1hcnJvd3MgLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb246bm90KDpmb2N1cykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzJweCwgLTMycHgsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDMycHgsIC0zMnB4LCAwKTsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLW5vLWNvbnRyb2xzLmZvdG9yYW1hX193cmFwLS1zbGlkZS5mb3RvcmFtYV9fd3JhcC0tdG9nZ2xlLWFycm93cyAuZm90b3JhbWFfX2Fyci0tcHJldjpub3QoOmZvY3VzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDhweCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTQ4cHgsIDAsIDApOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tY3NzMy5mb3RvcmFtYV9fd3JhcC0tbm8tY29udHJvbHMuZm90b3JhbWFfX3dyYXAtLXNsaWRlLmZvdG9yYW1hX193cmFwLS10b2dnbGUtYXJyb3dzIC5mb3RvcmFtYV9fYXJyLS1uZXh0Om5vdCg6Zm9jdXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQ4cHgsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQ4cHgsIDAsIDApOyB9XG5cbi5mb3RvcmFtYV9fd3JhcC0tY3NzMy5mb3RvcmFtYV9fd3JhcC0tdmlkZW8gLmZvdG9yYW1hX19mdWxsc2NyZWVuLWljb24ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzJweCwgLTMycHgsIDApICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMzJweCwgLTMycHgsIDApICFpbXBvcnRhbnQ7IH1cblxuLmZvdG9yYW1hX193cmFwLS1jc3MzLmZvdG9yYW1hX193cmFwLS12aWRlbyAuZm90b3JhbWFfX2Fyci0tcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDhweCwgMCwgMCkgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNDhweCwgMCwgMCkgIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLWNzczMuZm90b3JhbWFfX3dyYXAtLXZpZGVvIC5mb3RvcmFtYV9fYXJyLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDQ4cHgsIDAsIDApICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNDhweCwgMCwgMCkgIWltcG9ydGFudDsgfVxuXG4uZm90b3JhbWFfX3dyYXAtLWNzczMgLmZvdG9yYW1hX19hcnI6bm90KDpmb2N1cyksIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX2Z1bGxzY3JlZW4taWNvbjpub3QoOmZvY3VzKSwgLmZvdG9yYW1hX193cmFwLS1jc3MzIC5mb3RvcmFtYV9fdmlkZW8tY2xvc2U6bm90KDpmb2N1cyksIC5mb3RvcmFtYV9fd3JhcC0tY3NzMyAuZm90b3JhbWFfX3ZpZGVvLXBsYXk6bm90KDpmb2N1cykge1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSxvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sb3BhY2l0eTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjNzOyB9XG5cbi5mb3RvcmFtYV9fbmF2OmFmdGVyLCAuZm90b3JhbWFfX25hdjpiZWZvcmUsIC5mb3RvcmFtYV9fc3RhZ2U6YWZ0ZXIsIC5mb3RvcmFtYV9fc3RhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogYXV0bztcbiAgei1pbmRleDogMTA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDFweCAxMDAlLDVweCAxMDAlOyB9XG5cbi5mb3RvcmFtYV9fbmF2OmJlZm9yZSwgLmZvdG9yYW1hX19zdGFnZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC4yKSAyNSUsIHJnYmEoMCwgMCwgMCwgMC4zKSA3NSUsIHRyYW5zcGFyZW50KSwgcmFkaWFsLWdyYWRpZW50KGZhcnRoZXN0LXNpZGUgYXQgMCA1MCUsIHJnYmEoMCwgMCwgMCwgMC40KSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDAsMCAwO1xuICBsZWZ0OiAtMTBweDsgfVxuXG4uZm90b3JhbWFfX25hdi5mb3RvcmFtYV9fc2hhZG93cy0tbGVmdDpiZWZvcmUsIC5mb3RvcmFtYV9fc3RhZ2UuZm90b3JhbWFfX3NoYWRvd3MtLWxlZnQ6YmVmb3JlIHtcbiAgbGVmdDogMDsgfVxuXG4uZm90b3JhbWFfX25hdjphZnRlciwgLmZvdG9yYW1hX19zdGFnZTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgcmdiYSgwLCAwLCAwLCAwLjIpIDI1JSwgcmdiYSgwLCAwLCAwLCAwLjMpIDc1JSwgdHJhbnNwYXJlbnQpLCByYWRpYWwtZ3JhZGllbnQoZmFydGhlc3Qtc2lkZSBhdCAxMDAlIDUwJSwgcmdiYSgwLCAwLCAwLCAwLjQpLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgMCwxMDAlIDA7XG4gIHJpZ2h0OiAtMTBweDsgfVxuXG4uZm90b3JhbWFfX25hdi5mb3RvcmFtYV9fc2hhZG93cy0tcmlnaHQ6YWZ0ZXIsIC5mb3RvcmFtYV9fc3RhZ2UuZm90b3JhbWFfX3NoYWRvd3MtLXJpZ2h0OmFmdGVyIHtcbiAgcmlnaHQ6IDA7IH1cblxuLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fbmF2OmFmdGVyLCAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19uYXY6YmVmb3JlLCAuZm90b3JhbWEtLWZ1bGxzY3JlZW4gLmZvdG9yYW1hX19zdGFnZTphZnRlciwgLmZvdG9yYW1hLS1mdWxsc2NyZWVuIC5mb3RvcmFtYV9fc3RhZ2U6YmVmb3JlLCAuZm90b3JhbWFfX3dyYXAtLWZhZGUgLmZvdG9yYW1hX19zdGFnZTphZnRlciwgLmZvdG9yYW1hX193cmFwLS1mYWRlIC5mb3RvcmFtYV9fc3RhZ2U6YmVmb3JlLCAuZm90b3JhbWFfX3dyYXAtLW5vLXNoYWRvd3MgLmZvdG9yYW1hX19uYXY6YWZ0ZXIsIC5mb3RvcmFtYV9fd3JhcC0tbm8tc2hhZG93cyAuZm90b3JhbWFfX25hdjpiZWZvcmUsIC5mb3RvcmFtYV9fd3JhcC0tbm8tc2hhZG93cyAuZm90b3JhbWFfX3N0YWdlOmFmdGVyLCAuZm90b3JhbWFfX3dyYXAtLW5vLXNoYWRvd3MgLmZvdG9yYW1hX19zdGFnZTpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qISBub3Vpc2xpZGVyIC0gMTAuMS4wIC0gMjAxNy0wNy0yOCAxNzoxMToxOCAqL1xuLyogRnVuY3Rpb25hbCBzdHlsaW5nO1xuICogVGhlc2Ugc3R5bGVzIGFyZSByZXF1aXJlZCBmb3Igbm9VaVNsaWRlciB0byBmdW5jdGlvbi5cbiAqIFlvdSBkb24ndCBuZWVkIHRvIGNoYW5nZSB0aGVzZSBydWxlcyB0byBhcHBseSB5b3VyIGRlc2lnbi5cbiAqL1xuLm5vVWktdGFyZ2V0LFxuLm5vVWktdGFyZ2V0ICoge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5ub1VpLXRhcmdldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLm5vVWktYmFzZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgLyogRml4IDQwMSAqLyB9XG5cbi5ub1VpLWNvbm5lY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4ubm9VaS1vcmlnaW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7IH1cblxuLm5vVWktaGFuZGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5ub1VpLXN0YXRlLXRhcCAubm9VaS1jb25uZWN0LFxuLm5vVWktc3RhdGUtdGFwIC5ub1VpLW9yaWdpbiB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogdG9wIDAuM3MsIHJpZ2h0IDAuM3MsIGJvdHRvbSAwLjNzLCBsZWZ0IDAuM3M7XG4gIHRyYW5zaXRpb246IHRvcCAwLjNzLCByaWdodCAwLjNzLCBib3R0b20gMC4zcywgbGVmdCAwLjNzOyB9XG5cbi5ub1VpLXN0YXRlLWRyYWcgKiB7XG4gIGN1cnNvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi8qIFBhaW50aW5nIGFuZCBwZXJmb3JtYW5jZTtcbiAqIEJyb3dzZXJzIGNhbiBwYWludCBoYW5kbGVzIGluIHRoZWlyIG93biBsYXllci5cbiAqL1xuLm5vVWktYmFzZSxcbi5ub1VpLWhhbmRsZSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4vKiBTbGlkZXIgc2l6ZSBhbmQgaGFuZGxlIHBsYWNlbWVudDtcbiAqL1xuLm5vVWktaG9yaXpvbnRhbCB7XG4gIGhlaWdodDogMThweDsgfVxuXG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLWhhbmRsZSB7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGxlZnQ6IC0xN3B4O1xuICB0b3A6IC02cHg7IH1cblxuLm5vVWktdmVydGljYWwge1xuICB3aWR0aDogMThweDsgfVxuXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGUge1xuICB3aWR0aDogMjhweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBsZWZ0OiAtNnB4O1xuICB0b3A6IC0xN3B4OyB9XG5cbi8qIFN0eWxpbmc7XG4gKi9cbi5ub1VpLXRhcmdldCB7XG4gIGJhY2tncm91bmQ6ICNGQUZBRkE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QzRDNEMztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4ICNGMEYwRjAsIDAgM3B4IDZweCAtNXB4ICNCQkI7IH1cblxuLm5vVWktY29ubmVjdCB7XG4gIGJhY2tncm91bmQ6ICMzRkI4QUY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDUxLCA1MSwgNTEsIDAuNDUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgNDUwbXM7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgNDUwbXM7IH1cblxuLyogSGFuZGxlcyBhbmQgY3Vyc29ycztcbiAqL1xuLm5vVWktZHJhZ2dhYmxlIHtcbiAgY3Vyc29yOiBldy1yZXNpemU7IH1cblxuLm5vVWktdmVydGljYWwgLm5vVWktZHJhZ2dhYmxlIHtcbiAgY3Vyc29yOiBucy1yZXNpemU7IH1cblxuLm5vVWktaGFuZGxlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Q5RDlEOTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjRkZGO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI0ZGRiwgaW5zZXQgMCAxcHggN3B4ICNFQkVCRUIsIDAgM3B4IDZweCAtM3B4ICNCQkI7IH1cblxuLm5vVWktYWN0aXZlIHtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAjRkZGLCBpbnNldCAwIDFweCA3cHggI0RERCwgMCAzcHggNnB4IC0zcHggI0JCQjsgfVxuXG4vKiBIYW5kbGUgc3RyaXBlcztcbiAqL1xuLm5vVWktaGFuZGxlOmJlZm9yZSxcbi5ub1VpLWhhbmRsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogI0U4RTdFNjtcbiAgbGVmdDogMTRweDtcbiAgdG9wOiA2cHg7IH1cblxuLm5vVWktaGFuZGxlOmFmdGVyIHtcbiAgbGVmdDogMTdweDsgfVxuXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YmVmb3JlLFxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmFmdGVyIHtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMXB4O1xuICBsZWZ0OiA2cHg7XG4gIHRvcDogMTRweDsgfVxuXG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICB0b3A6IDE3cHg7IH1cblxuLyogRGlzYWJsZWQgc3RhdGU7XG4gKi9cbltkaXNhYmxlZF0gLm5vVWktY29ubmVjdCB7XG4gIGJhY2tncm91bmQ6ICNCOEI4Qjg7IH1cblxuW2Rpc2FibGVkXS5ub1VpLXRhcmdldCxcbltkaXNhYmxlZF0ubm9VaS1oYW5kbGUsXG5bZGlzYWJsZWRdIC5ub1VpLWhhbmRsZSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyogQmFzZTtcbiAqXG4gKi9cbi5ub1VpLXBpcHMsXG4ubm9VaS1waXBzICoge1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm5vVWktcGlwcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM5OTk7IH1cblxuLyogVmFsdWVzO1xuICpcbiAqL1xuLm5vVWktdmFsdWUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubm9VaS12YWx1ZS1zdWIge1xuICBjb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiAxMHB4OyB9XG5cbi8qIE1hcmtpbmdzO1xuICpcbiAqL1xuLm5vVWktbWFya2VyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjQ0NDOyB9XG5cbi5ub1VpLW1hcmtlci1zdWIge1xuICBiYWNrZ3JvdW5kOiAjQUFBOyB9XG5cbi5ub1VpLW1hcmtlci1sYXJnZSB7XG4gIGJhY2tncm91bmQ6ICNBQUE7IH1cblxuLyogSG9yaXpvbnRhbCBsYXlvdXQ7XG4gKlxuICovXG4ubm9VaS1waXBzLWhvcml6b250YWwge1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIGhlaWdodDogODBweDtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubm9VaS12YWx1ZS1ob3Jpem9udGFsIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDUwJSwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTUwJSwgNTAlLCAwKTsgfVxuXG4ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlciB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDVweDsgfVxuXG4ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlci1zdWIge1xuICBoZWlnaHQ6IDEwcHg7IH1cblxuLm5vVWktbWFya2VyLWhvcml6b250YWwubm9VaS1tYXJrZXItbGFyZ2Uge1xuICBoZWlnaHQ6IDE1cHg7IH1cblxuLyogVmVydGljYWwgbGF5b3V0O1xuICpcbiAqL1xuLm5vVWktcGlwcy12ZXJ0aWNhbCB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7IH1cblxuLm5vVWktdmFsdWUtdmVydGljYWwge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgNTAlLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MCUsIDApO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7IH1cblxuLm5vVWktbWFya2VyLXZlcnRpY2FsLm5vVWktbWFya2VyIHtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiAycHg7XG4gIG1hcmdpbi10b3A6IC0xcHg7IH1cblxuLm5vVWktbWFya2VyLXZlcnRpY2FsLm5vVWktbWFya2VyLXN1YiB7XG4gIHdpZHRoOiAxMHB4OyB9XG5cbi5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlci1sYXJnZSB7XG4gIHdpZHRoOiAxNXB4OyB9XG5cbi5ub1VpLXRvb2x0aXAge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDlEOUQ5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLXRvb2x0aXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDEyMCU7IH1cblxuLm5vVWktdmVydGljYWwgLm5vVWktdG9vbHRpcCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDEyMCU7IH1cblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIE1hdGVyaWFsIERlc2lnbiBMaXRlICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU1RZTEUgR1VJREUgVkFSSUFCTEVTLS0tLS0tLS0tLS0tLS0tLS0tRGVjbGFyYXRpb25zIG9mIFNhc3MgdmFyaWFibGVzXG4gKiAtLS0tLVR5cG9ncmFwaHlcbiAqIC0tLS0tQ29sb3JzXG4gKiAtLS0tLVRleHRmaWVsZFxuICogLS0tLS1Td2l0Y2hcbiAqIC0tLS0tU3Bpbm5lclxuICogLS0tLS1SYWRpb1xuICogLS0tLS1NZW51XG4gKiAtLS0tLUxpc3RcbiAqIC0tLS0tTGF5b3V0XG4gKiAtLS0tLUljb24gdG9nZ2xlc1xuICogLS0tLS1Gb290ZXJcbiAqIC0tLS0tQ29sdW1uXG4gKiAtLS0tLUNoZWNrYm94XG4gKiAtLS0tLUNhcmRcbiAqIC0tLS0tQnV0dG9uXG4gKiAtLS0tLUFuaW1hdGlvblxuICogLS0tLS1Qcm9ncmVzc1xuICogLS0tLS1CYWRnZVxuICogLS0tLS1TaGFkb3dzXG4gKiAtLS0tLUdyaWRcbiAqIC0tLS0tRGF0YSB0YWJsZVxuICogLS0tLS1EaWFsb2dcbiAqIC0tLS0tU25hY2tiYXJcbiAqIC0tLS0tVG9vbHRpcFxuICogLS0tLS1DaGlwXG4gKlxuICogRXZlbiB0aG91Z2ggYWxsIHZhcmlhYmxlcyBoYXZlIHRoZSBgIWRlZmF1bHRgIGRpcmVjdGl2ZSwgbW9zdCBvZiB0aGVtXG4gKiBzaG91bGQgbm90IGJlIGNoYW5nZWQgYXMgdGhleSBhcmUgZGVwZW5kZW50IG9uZSBhbm90aGVyLiBUaGlzIGNhbiBjYXVzZVxuICogdmlzdWFsIGRpc3RvcnRpb25zIChsaWtlIGFsaWdubWVudCBpc3N1ZXMpIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2sgZG93blxuICogYW5kIGZpeC5cbiAqL1xuLyogPT09PT09PT09PSAgVFlQT0dSQVBIWSAgPT09PT09PT09PSAqL1xuLyogV2UncmUgc3BsaXR0aW5nIGZvbnRzIGludG8gXCJwcmVmZXJyZWRcIiBhbmQgXCJwZXJmb3JtYW5jZVwiIGluIG9yZGVyIHRvIG9wdGltaXplXG4gICBwYWdlIGxvYWRpbmcuIEZvciBpbXBvcnRhbnQgdGV4dCwgc3VjaCBhcyB0aGUgYm9keSwgd2Ugd2FudCBpdCB0byBsb2FkXG4gICBpbW1lZGlhdGVseSBhbmQgbm90IHdhaXQgZm9yIHRoZSB3ZWIgZm9udCBsb2FkLCB3aGVyZWFzIGZvciBvdGhlciBzZWN0aW9ucyxcbiAgIHN1Y2ggYXMgaGVhZGVycyBhbmQgdGl0bGVzLCB3ZSdyZSBPSyB3aXRoIHRoaW5ncyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRvIGxvYWQuXG4gICBXZSBkbyBoYXZlIHNvbWUgb3B0aW9uYWwgY2xhc3NlcyBhbmQgcGFyYW1ldGVycyBpbiB0aGUgbWl4aW5zLCBpbiBjYXNlIHlvdVxuICAgZGVmaW5pdGVseSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGhlIHByZWZlcnJlZCBmb250IGFuZCBkb24ndCBtaW5kXG4gICB0aGUgcGVyZm9ybWFuY2UgaGl0LlxuICAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gaW1wcm92ZSBvbiB0aGlzIG9uY2UgQ1NTIEZvbnQgTG9hZGluZyBMMyBiZWNvbWVzIG1vcmVcbiAgIHdpZGVseSBhdmFpbGFibGUuXG4qL1xuLyogPT09PT09PT09PSAgQ09MT1JTICA9PT09PT09PT09ICovXG4vKipcbipcbiogTWF0ZXJpYWwgZGVzaWduIGNvbG9yIHBhbGV0dGVzLlxuKiBAc2VlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS9jb2xvci5odG1sXG4qXG4qKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBDb2xvciBQYWxldHRlcyAgPT09PT09PT09PSAqL1xuLyogY29sb3JzLnNjc3MgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb21wb25lbnRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJY29uIFRvZ2dsZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJhZGlvIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJpcHBsZSBlZmZlY3QgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExheW91dCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29udGVudCBUYWJzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDaGVja2JveGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVGV4dCBmaWVsZHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENhcmQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNsaWRlcnMgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSBQcm9ncmVzcyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMaXN0ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEl0ZW0gPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRHJvcGRvd24gbWVudSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUb29sdGlwcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRm9vdGVyICA9PT09PT09PT09ICovXG4vKiBURVhURklFTEQgKi9cbi8qIFNXSVRDSCAqL1xuLyogU1BJTk5FUiAqL1xuLyogUkFESU8gKi9cbi8qIE1FTlUgKi9cbi8qIExJU1QgKi9cbi8qIExBWU9VVCAqL1xuLyogSUNPTiBUT0dHTEUgKi9cbi8qIEZPT1RFUiAqL1xuLyptZWdhLWZvb3RlciovXG4vKm1pbmktZm9vdGVyKi9cbi8qIENIRUNLQk9YICovXG4vKiBDQVJEICovXG4vKiBDYXJkIGRpbWVuc2lvbnMgKi9cbi8qIENvdmVyIGltYWdlICovXG4vKiBCVVRUT04gKi9cbi8qKlxuICpcbiAqIERpbWVuc2lvbnNcbiAqXG4gKi9cbi8qIEFOSU1BVElPTiAqL1xuLyogUFJPR1JFU1MgKi9cbi8qIEJBREdFICovXG4vKiBTSEFET1dTICovXG4vKiBHUklEICovXG4vKiBEQVRBIFRBQkxFICovXG4vKiBESUFMT0cgKi9cbi8qIFNOQUNLQkFSICovXG4vKiBUT09MVElQICovXG4vKiBDSElQICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogVHlwb2dyYXBoeSAqL1xuLyogU2hhZG93cyAqL1xuLyogQW5pbWF0aW9ucyAqL1xuLyogRGlhbG9nICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgJENPTlRFTlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBTVFlMRSBHVUlERSBWQVJJQUJMRVMtLS0tLS0tLS0tLS0tLS0tLS1EZWNsYXJhdGlvbnMgb2YgU2FzcyB2YXJpYWJsZXNcbiAqIC0tLS0tVHlwb2dyYXBoeVxuICogLS0tLS1Db2xvcnNcbiAqIC0tLS0tVGV4dGZpZWxkXG4gKiAtLS0tLVN3aXRjaFxuICogLS0tLS1TcGlubmVyXG4gKiAtLS0tLVJhZGlvXG4gKiAtLS0tLU1lbnVcbiAqIC0tLS0tTGlzdFxuICogLS0tLS1MYXlvdXRcbiAqIC0tLS0tSWNvbiB0b2dnbGVzXG4gKiAtLS0tLUZvb3RlclxuICogLS0tLS1Db2x1bW5cbiAqIC0tLS0tQ2hlY2tib3hcbiAqIC0tLS0tQ2FyZFxuICogLS0tLS1CdXR0b25cbiAqIC0tLS0tQW5pbWF0aW9uXG4gKiAtLS0tLVByb2dyZXNzXG4gKiAtLS0tLUJhZGdlXG4gKiAtLS0tLVNoYWRvd3NcbiAqIC0tLS0tR3JpZFxuICogLS0tLS1EYXRhIHRhYmxlXG4gKiAtLS0tLURpYWxvZ1xuICogLS0tLS1TbmFja2JhclxuICogLS0tLS1Ub29sdGlwXG4gKiAtLS0tLUNoaXBcbiAqXG4gKiBFdmVuIHRob3VnaCBhbGwgdmFyaWFibGVzIGhhdmUgdGhlIGAhZGVmYXVsdGAgZGlyZWN0aXZlLCBtb3N0IG9mIHRoZW1cbiAqIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcyB0aGV5IGFyZSBkZXBlbmRlbnQgb25lIGFub3RoZXIuIFRoaXMgY2FuIGNhdXNlXG4gKiB2aXN1YWwgZGlzdG9ydGlvbnMgKGxpa2UgYWxpZ25tZW50IGlzc3VlcykgdGhhdCBhcmUgaGFyZCB0byB0cmFjayBkb3duXG4gKiBhbmQgZml4LlxuICovXG4vKiA9PT09PT09PT09ICBUWVBPR1JBUEhZICA9PT09PT09PT09ICovXG4vKiBXZSdyZSBzcGxpdHRpbmcgZm9udHMgaW50byBcInByZWZlcnJlZFwiIGFuZCBcInBlcmZvcm1hbmNlXCIgaW4gb3JkZXIgdG8gb3B0aW1pemVcbiAgIHBhZ2UgbG9hZGluZy4gRm9yIGltcG9ydGFudCB0ZXh0LCBzdWNoIGFzIHRoZSBib2R5LCB3ZSB3YW50IGl0IHRvIGxvYWRcbiAgIGltbWVkaWF0ZWx5IGFuZCBub3Qgd2FpdCBmb3IgdGhlIHdlYiBmb250IGxvYWQsIHdoZXJlYXMgZm9yIG90aGVyIHNlY3Rpb25zLFxuICAgc3VjaCBhcyBoZWFkZXJzIGFuZCB0aXRsZXMsIHdlJ3JlIE9LIHdpdGggdGhpbmdzIHRha2luZyBhIGJpdCBsb25nZXIgdG8gbG9hZC5cbiAgIFdlIGRvIGhhdmUgc29tZSBvcHRpb25hbCBjbGFzc2VzIGFuZCBwYXJhbWV0ZXJzIGluIHRoZSBtaXhpbnMsIGluIGNhc2UgeW91XG4gICBkZWZpbml0ZWx5IHdhbnQgdG8gbWFrZSBzdXJlIHlvdSdyZSB1c2luZyB0aGUgcHJlZmVycmVkIGZvbnQgYW5kIGRvbid0IG1pbmRcbiAgIHRoZSBwZXJmb3JtYW5jZSBoaXQuXG4gICBXZSBzaG91bGQgYmUgYWJsZSB0byBpbXByb3ZlIG9uIHRoaXMgb25jZSBDU1MgRm9udCBMb2FkaW5nIEwzIGJlY29tZXMgbW9yZVxuICAgd2lkZWx5IGF2YWlsYWJsZS5cbiovXG4vKiA9PT09PT09PT09ICBDT0xPUlMgID09PT09PT09PT0gKi9cbi8qKlxuKlxuKiBNYXRlcmlhbCBkZXNpZ24gY29sb3IgcGFsZXR0ZXMuXG4qIEBzZWUgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWxcbipcbioqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIENvbG9yIFBhbGV0dGVzICA9PT09PT09PT09ICovXG4vKiBjb2xvcnMuc2NzcyAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIElNQUdFUyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgJiBUaGVtZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFR5cG9ncmFwaHkgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbXBvbmVudHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN0YW5kYXJkIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEljb24gVG9nZ2xlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmFkaW8gQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmlwcGxlIGVmZmVjdCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGF5b3V0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb250ZW50IFRhYnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENoZWNrYm94ZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN3aXRjaGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTcGlubmVyICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUZXh0IGZpZWxkcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2FyZCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU2xpZGVycyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09IFByb2dyZXNzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExpc3QgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSXRlbSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBEcm9wZG93biBtZW51ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRvb2x0aXBzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBGb290ZXIgID09PT09PT09PT0gKi9cbi8qIFRFWFRGSUVMRCAqL1xuLyogU1dJVENIICovXG4vKiBTUElOTkVSICovXG4vKiBSQURJTyAqL1xuLyogTUVOVSAqL1xuLyogTElTVCAqL1xuLyogTEFZT1VUICovXG4vKiBJQ09OIFRPR0dMRSAqL1xuLyogRk9PVEVSICovXG4vKm1lZ2EtZm9vdGVyKi9cbi8qbWluaS1mb290ZXIqL1xuLyogQ0hFQ0tCT1ggKi9cbi8qIENBUkQgKi9cbi8qIENhcmQgZGltZW5zaW9ucyAqL1xuLyogQ292ZXIgaW1hZ2UgKi9cbi8qIEJVVFRPTiAqL1xuLyoqXG4gKlxuICogRGltZW5zaW9uc1xuICpcbiAqL1xuLyogQU5JTUFUSU9OICovXG4vKiBQUk9HUkVTUyAqL1xuLyogQkFER0UgKi9cbi8qIFNIQURPV1MgKi9cbi8qIEdSSUQgKi9cbi8qIERBVEEgVEFCTEUgKi9cbi8qIERJQUxPRyAqL1xuLyogU05BQ0tCQVIgKi9cbi8qIFRPT0xUSVAgKi9cbi8qIENISVAgKi9cbi8qXG4gKiBXaGF0IGZvbGxvd3MgaXMgdGhlIHJlc3VsdCBvZiBtdWNoIHJlc2VhcmNoIG9uIGNyb3NzLWJyb3dzZXIgc3R5bGluZy5cbiAqIENyZWRpdCBsZWZ0IGlubGluZSBhbmQgYmlnIHRoYW5rcyB0byBOaWNvbGFzIEdhbGxhZ2hlciwgSm9uYXRoYW4gTmVhbCxcbiAqIEtyb2MgQ2FtZW4sIGFuZCB0aGUgSDVCUCBkZXYgY29tbXVuaXR5IGFuZCB0ZWFtLlxuICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZSBzdHlsZXM6IG9waW5pb25hdGVkIGRlZmF1bHRzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLCAwLjg3KTtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cblxuLypcbiAqIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OlxuICogaHR0cHM6Ly90d2l0dGVyLmNvbS9taWtldGF5bHIvc3RhdHVzLzEyMjI4ODA1MzAxXG4gKlxuICogVGhlc2Ugc2VsZWN0aW9uIHJ1bGUgc2V0cyBoYXZlIHRvIGJlIHNlcGFyYXRlLlxuICogQ3VzdG9taXplIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIG1hdGNoIHlvdXIgZGVzaWduLlxuICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNiM2Q0ZmM7XG4gIHRleHQtc2hhZG93OiBub25lOyB9XG5cbi8qXG4gKiBBIGJldHRlciBsb29raW5nIGRlZmF1bHQgaG9yaXpvbnRhbCBydWxlXG4gKi9cbmhyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGdhcCBiZXR3ZWVuIGF1ZGlvLCBjYW52YXMsIGlmcmFtZXMsXG4gKiBpbWFnZXMsIHZpZGVvcyBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzOlxuICogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvaXNzdWVzLzQ0MFxuICovXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZmllbGRzZXQgc3R5bGVzLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qXG4gKiBBbGxvdyBvbmx5IHZlcnRpY2FsIHJlc2l6aW5nIG9mIHRleHRhcmVhcy5cbiAqL1xudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCcm93c2VyIFVwZ3JhZGUgUHJvbXB0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJyb3dzZXJ1cGdyYWRlIHtcbiAgbWFyZ2luOiAwLjJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMC4yZW0gMDsgfVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQXV0aG9yJ3MgY3VzdG9tIHN0eWxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBIZWxwZXIgY2xhc3Nlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzOlxuICovXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKi9cbi52aXN1YWxseWhpZGRlbiB7XG4gIGJvcmRlcjogMDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4OyB9XG5cbi8qXG4gKiBFeHRlbmRzIHRoZSAudmlzdWFsbHloaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnRcbiAqIHRvIGJlIGZvY3VzYWJsZSB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkOlxuICogaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzg5NzYzOFxuICovXG4udmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMge1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzLCBidXQgbWFpbnRhaW4gbGF5b3V0XG4gKi9cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLypcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAqICAgIHRoYXQgcmVjZWl2ZSB0aGUgYGNsZWFyZml4YCBjbGFzcy5cbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKi9cbi5jbGVhcmZpeDpiZWZvcmUsXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMiAqLyB9XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFWEFNUExFIE1lZGlhIFF1ZXJpZXMgZm9yIFJlc3BvbnNpdmUgRGVzaWduLlxuICAgVGhlc2UgZXhhbXBsZXMgb3ZlcnJpZGUgdGhlIHByaW1hcnkgKCdtb2JpbGUgZmlyc3QnKSBzdHlsZXMuXG4gICBNb2RpZnkgYXMgY29udGVudCByZXF1aXJlcy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1ZW0pIHtcbiAgLyogU3R5bGUgYWRqdXN0bWVudHMgZm9yIHZpZXdwb3J0cyB0aGF0IG1lZXQgdGhlIGNvbmRpdGlvbiAqLyB9XG5cbkBtZWRpYSBwcmludCwgKG1pbi1yZXNvbHV0aW9uOiAxLjI1ZHBweCksIChtaW4tcmVzb2x1dGlvbjogMTIwZHBpKSB7XG4gIC8qIFN0eWxlIGFkanVzdG1lbnRzIGZvciBoaWdoIHJlc29sdXRpb24gZGV2aWNlcyAqLyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBzdHlsZXMuXG4gICBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbiAgIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbkBtZWRpYSBwcmludCB7XG4gICosXG4gICo6YmVmb3JlLFxuICAqOmFmdGVyLFxuICAqOmZpcnN0LWxldHRlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xuICAgIC8qIEJsYWNrIHByaW50cyBmYXN0ZXI6IGh0dHA6Ly93d3cuc2FuYmVpamkuY29tL2FyY2hpdmVzLzk1MyAqL1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgLypcbiAgICAgKiBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgICAqIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICAgKi9cbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIC8qXG4gICAgICogUHJpbnRpbmcgVGFibGVzOlxuICAgICAqIGh0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICAgICAqL1xuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiBSZW1vdmUgdGhlIHVud2FudGVkIGJveCBhcm91bmQgRkFCIGJ1dHRvbnMgKi9cbi8qIE1vcmUgaW5mbzogaHR0cDovL2dvby5nbC9JUHdLaSAqL1xuYSwgLm1kbC1hY2NvcmRpb24sIC5tZGwtYnV0dG9uLCAubWRsLWNhcmQsIC5tZGwtY2hlY2tib3gsIC5tZGwtZHJvcGRvd24tbWVudSxcbi5tZGwtaWNvbi10b2dnbGUsIC5tZGwtaXRlbSwgLm1kbC1yYWRpbywgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94LCAubWRsLXNsaWRlciwgLm1kbC1zd2l0Y2gsIC5tZGwtdGFic19fdGFiIHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOyB9XG5cbi8qXG4gKiBNYWtlIGh0bWwgdGFrZSB1cCB0aGUgZW50aXJlIHNjcmVlblxuICogVGhlbiBzZXQgdG91Y2gtYWN0aW9uIHRvIGF2b2lkIHRvdWNoIGRlbGF5IG9uIG1vYmlsZSBJRVxuICovXG5odG1sIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG4vKlxuKiBNYWtlIGJvZHkgdGFrZSB1cCB0aGUgZW50aXJlIHNjcmVlblxuKiBSZW1vdmUgYm9keSBtYXJnaW4gc28gbGF5b3V0IGNvbnRhaW5lcnMgZG9uJ3QgY2F1c2UgZXh0cmEgb3ZlcmZsb3cuXG4qL1xuYm9keSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7IH1cblxuLypcbiAqIE1haW4gZGlzcGxheSByZXNldCBmb3IgSUUgc3VwcG9ydC5cbiAqIFNvdXJjZTogaHR0cDovL3dlYmxvZy53ZXN0LXdpbmQuY29tL3Bvc3RzLzIwMTUvSmFuLzEyL21haW4tSFRNTDUtVGFnLW5vdC13b3JraW5nLWluLUludGVybmV0LUV4cGxvcmVyLTkxMDExXG4gKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxuKiBBcHBseSBubyBkaXNwbGF5IHRvIGVsZW1lbnRzIHdpdGggdGhlIGhpZGRlbiBhdHRyaWJ1dGUuXG4qIElFIDkgYW5kIDEwIHN1cHBvcnQuXG4qL1xuKltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU1RZTEUgR1VJREUgVkFSSUFCTEVTLS0tLS0tLS0tLS0tLS0tLS0tRGVjbGFyYXRpb25zIG9mIFNhc3MgdmFyaWFibGVzXG4gKiAtLS0tLVR5cG9ncmFwaHlcbiAqIC0tLS0tQ29sb3JzXG4gKiAtLS0tLVRleHRmaWVsZFxuICogLS0tLS1Td2l0Y2hcbiAqIC0tLS0tU3Bpbm5lclxuICogLS0tLS1SYWRpb1xuICogLS0tLS1NZW51XG4gKiAtLS0tLUxpc3RcbiAqIC0tLS0tTGF5b3V0XG4gKiAtLS0tLUljb24gdG9nZ2xlc1xuICogLS0tLS1Gb290ZXJcbiAqIC0tLS0tQ29sdW1uXG4gKiAtLS0tLUNoZWNrYm94XG4gKiAtLS0tLUNhcmRcbiAqIC0tLS0tQnV0dG9uXG4gKiAtLS0tLUFuaW1hdGlvblxuICogLS0tLS1Qcm9ncmVzc1xuICogLS0tLS1CYWRnZVxuICogLS0tLS1TaGFkb3dzXG4gKiAtLS0tLUdyaWRcbiAqIC0tLS0tRGF0YSB0YWJsZVxuICogLS0tLS1EaWFsb2dcbiAqIC0tLS0tU25hY2tiYXJcbiAqIC0tLS0tVG9vbHRpcFxuICogLS0tLS1DaGlwXG4gKlxuICogRXZlbiB0aG91Z2ggYWxsIHZhcmlhYmxlcyBoYXZlIHRoZSBgIWRlZmF1bHRgIGRpcmVjdGl2ZSwgbW9zdCBvZiB0aGVtXG4gKiBzaG91bGQgbm90IGJlIGNoYW5nZWQgYXMgdGhleSBhcmUgZGVwZW5kZW50IG9uZSBhbm90aGVyLiBUaGlzIGNhbiBjYXVzZVxuICogdmlzdWFsIGRpc3RvcnRpb25zIChsaWtlIGFsaWdubWVudCBpc3N1ZXMpIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2sgZG93blxuICogYW5kIGZpeC5cbiAqL1xuLyogPT09PT09PT09PSAgVFlQT0dSQVBIWSAgPT09PT09PT09PSAqL1xuLyogV2UncmUgc3BsaXR0aW5nIGZvbnRzIGludG8gXCJwcmVmZXJyZWRcIiBhbmQgXCJwZXJmb3JtYW5jZVwiIGluIG9yZGVyIHRvIG9wdGltaXplXG4gICBwYWdlIGxvYWRpbmcuIEZvciBpbXBvcnRhbnQgdGV4dCwgc3VjaCBhcyB0aGUgYm9keSwgd2Ugd2FudCBpdCB0byBsb2FkXG4gICBpbW1lZGlhdGVseSBhbmQgbm90IHdhaXQgZm9yIHRoZSB3ZWIgZm9udCBsb2FkLCB3aGVyZWFzIGZvciBvdGhlciBzZWN0aW9ucyxcbiAgIHN1Y2ggYXMgaGVhZGVycyBhbmQgdGl0bGVzLCB3ZSdyZSBPSyB3aXRoIHRoaW5ncyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRvIGxvYWQuXG4gICBXZSBkbyBoYXZlIHNvbWUgb3B0aW9uYWwgY2xhc3NlcyBhbmQgcGFyYW1ldGVycyBpbiB0aGUgbWl4aW5zLCBpbiBjYXNlIHlvdVxuICAgZGVmaW5pdGVseSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGhlIHByZWZlcnJlZCBmb250IGFuZCBkb24ndCBtaW5kXG4gICB0aGUgcGVyZm9ybWFuY2UgaGl0LlxuICAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gaW1wcm92ZSBvbiB0aGlzIG9uY2UgQ1NTIEZvbnQgTG9hZGluZyBMMyBiZWNvbWVzIG1vcmVcbiAgIHdpZGVseSBhdmFpbGFibGUuXG4qL1xuLyogPT09PT09PT09PSAgQ09MT1JTICA9PT09PT09PT09ICovXG4vKipcbipcbiogTWF0ZXJpYWwgZGVzaWduIGNvbG9yIHBhbGV0dGVzLlxuKiBAc2VlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS9jb2xvci5odG1sXG4qXG4qKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBDb2xvciBQYWxldHRlcyAgPT09PT09PT09PSAqL1xuLyogY29sb3JzLnNjc3MgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb21wb25lbnRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJY29uIFRvZ2dsZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJhZGlvIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJpcHBsZSBlZmZlY3QgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExheW91dCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29udGVudCBUYWJzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDaGVja2JveGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVGV4dCBmaWVsZHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENhcmQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNsaWRlcnMgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSBQcm9ncmVzcyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMaXN0ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEl0ZW0gPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRHJvcGRvd24gbWVudSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUb29sdGlwcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRm9vdGVyICA9PT09PT09PT09ICovXG4vKiBURVhURklFTEQgKi9cbi8qIFNXSVRDSCAqL1xuLyogU1BJTk5FUiAqL1xuLyogUkFESU8gKi9cbi8qIE1FTlUgKi9cbi8qIExJU1QgKi9cbi8qIExBWU9VVCAqL1xuLyogSUNPTiBUT0dHTEUgKi9cbi8qIEZPT1RFUiAqL1xuLyptZWdhLWZvb3RlciovXG4vKm1pbmktZm9vdGVyKi9cbi8qIENIRUNLQk9YICovXG4vKiBDQVJEICovXG4vKiBDYXJkIGRpbWVuc2lvbnMgKi9cbi8qIENvdmVyIGltYWdlICovXG4vKiBCVVRUT04gKi9cbi8qKlxuICpcbiAqIERpbWVuc2lvbnNcbiAqXG4gKi9cbi8qIEFOSU1BVElPTiAqL1xuLyogUFJPR1JFU1MgKi9cbi8qIEJBREdFICovXG4vKiBTSEFET1dTICovXG4vKiBHUklEICovXG4vKiBEQVRBIFRBQkxFICovXG4vKiBESUFMT0cgKi9cbi8qIFNOQUNLQkFSICovXG4vKiBUT09MVElQICovXG4vKiBDSElQICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogVHlwb2dyYXBoeSAqL1xuLyogU2hhZG93cyAqL1xuLyogQW5pbWF0aW9ucyAqL1xuLyogRGlhbG9nICovXG5odG1sLCBib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjBweDsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAqIFN0eWxlcyBmb3IgSFRNTCBlbGVtZW50c1xuICAqL1xuaDEgc21hbGwsIGgyIHNtYWxsLCBoMyBzbWFsbCwgaDQgc21hbGwsIGg1IHNtYWxsLCBoNiBzbWFsbCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogNTZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wMmVtO1xuICBvcGFjaXR5OiAwLjU0O1xuICBmb250LXNpemU6IDAuNmVtOyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA1NnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cblxuaDIge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDQ1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG5cbmgzIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAzNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMjRweDsgfVxuXG5oNCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIG1hcmdpbi10b3A6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuaDUge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTtcbiAgbWFyZ2luLXRvcDogMjRweDtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG5wIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuYSB7XG4gIGNvbG9yOiByZ2IoMjU1LDY0LDEyOSk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuYmxvY2txdW90ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICBsZXR0ZXItc3BhY2luZzogMC4wOGVtOyB9XG4gIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTAuNWVtO1xuICAgIGNvbnRlbnQ6ICfigJwnOyB9XG4gIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICfigJ0nO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4wNWVtOyB9XG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmZjgxOyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG5hZGRyZXNzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG51bCwgb2wge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDsgfVxuXG4vKipcbiAqIENsYXNzIE5hbWUgU3R5bGVzXG4gKi9cbi5tZGwtdHlwb2dyYXBoeS0tZGlzcGxheS00IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMTJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtOyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tZGlzcGxheS00LWNvbG9yLWNvbnRyYXN0IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMTJweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuICBvcGFjaXR5OiAwLjU0OyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tZGlzcGxheS0zIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiA1NnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyZW07IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1kaXNwbGF5LTMtY29sb3ItY29udHJhc3Qge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDU2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgb3BhY2l0eTogMC41NDsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLWRpc3BsYXktMiB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogNDVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1kaXNwbGF5LTItY29sb3ItY29udHJhc3Qge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDQ1cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICBvcGFjaXR5OiAwLjU0OyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tZGlzcGxheS0xIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAzNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogNDBweDsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLWRpc3BsYXktMS1jb2xvci1jb250cmFzdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMzRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIG9wYWNpdHk6IDAuNTQ7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1oZWFkbGluZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1oZWFkbGluZS1jb2xvci1jb250cmFzdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIG9wYWNpdHk6IDAuODc7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07IH1cblxuLm1kbC10eXBvZ3JhcGh5LS10aXRsZS1jb2xvci1jb250cmFzdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gIG9wYWNpdHk6IDAuODc7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1zdWJoZWFkIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDRlbTsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLXN1YmhlYWQtY29sb3ItY29udHJhc3Qge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICBvcGFjaXR5OiAwLjg3OyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tYm9keS0yIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tYm9keS0yLWNvbG9yLWNvbnRyYXN0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBvcGFjaXR5OiAwLjg3OyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tYm9keS0xIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1ib2R5LTEtY29sb3ItY29udHJhc3Qge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgb3BhY2l0eTogMC44NzsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLWJvZHktMi1mb3JjZS1wcmVmZXJyZWQtZm9udCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tYm9keS0yLWZvcmNlLXByZWZlcnJlZC1mb250LWNvbG9yLWNvbnRyYXN0IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG9wYWNpdHk6IDAuODc7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1ib2R5LTEtZm9yY2UtcHJlZmVycmVkLWZvbnQge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLWJvZHktMS1mb3JjZS1wcmVmZXJyZWQtZm9udC1jb2xvci1jb250cmFzdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBvcGFjaXR5OiAwLjg3OyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tY2FwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tY2FwdGlvbi1mb3JjZS1wcmVmZXJyZWQtZm9udCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tY2FwdGlvbi1jb2xvci1jb250cmFzdCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBvcGFjaXR5OiAwLjU0OyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tY2FwdGlvbi1mb3JjZS1wcmVmZXJyZWQtZm9udC1jb2xvci1jb250cmFzdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBvcGFjaXR5OiAwLjU0OyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tbWVudSB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwOyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tbWVudS1jb2xvci1jb250cmFzdCB7XG4gIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBvcGFjaXR5OiAwLjg3OyB9XG5cbi5tZGwtdHlwb2dyYXBoeS0tYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1idXR0b24tY29sb3ItY29udHJhc3Qge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgb3BhY2l0eTogMC44NzsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLXRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLXRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LW5vd3JhcCB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LXVwcGVyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS10ZXh0LWNhcGl0YWxpemUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLWZvbnQtdGhpbiB7XG4gIGZvbnQtd2VpZ2h0OiAyMDAgIWltcG9ydGFudDsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLWZvbnQtbGlnaHQge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1mb250LXJlZ3VsYXIge1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7IH1cblxuLm1kbC10eXBvZ3JhcGh5LS1mb250LW1lZGl1bSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLWZvbnQtYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsgfVxuXG4ubWRsLXR5cG9ncmFwaHktLWZvbnQtYmxhY2sge1xuICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7IH1cblxuLm1hdGVyaWFsLWljb25zIHtcbiAgZm9udC1mYW1pbHk6ICdNYXRlcmlhbCBJY29ucyc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIGZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAtd2Via2l0LWZvbnQtZmVhdHVyZS1zZXR0aW5nczogJ2xpZ2EnO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLm1kbC1jb2xvci10ZXh0LS1yZWQge1xuICBjb2xvcjogcmdiKDI0NCw2Nyw1NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1yZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ0LDY3LDU0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcmVkLTUwIHtcbiAgY29sb3I6IHJnYigyNTUsMjM1LDIzOCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1yZWQtNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDIzNSwyMzgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1yZWQtMTAwIHtcbiAgY29sb3I6IHJnYigyNTUsMjA1LDIxMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1yZWQtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyMDUsMjEwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcmVkLTIwMCB7XG4gIGNvbG9yOiByZ2IoMjM5LDE1NCwxNTQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzksMTU0LDE1NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXJlZC0zMDAge1xuICBjb2xvcjogcmdiKDIyOSwxMTUsMTE1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXJlZC0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI5LDExNSwxMTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1yZWQtNDAwIHtcbiAgY29sb3I6IHJnYigyMzksODMsODApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzksODMsODApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1yZWQtNTAwIHtcbiAgY29sb3I6IHJnYigyNDQsNjcsNTQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDQsNjcsNTQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1yZWQtNjAwIHtcbiAgY29sb3I6IHJnYigyMjksNTcsNTMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjksNTcsNTMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1yZWQtNzAwIHtcbiAgY29sb3I6IHJnYigyMTEsNDcsNDcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLTcwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMTEsNDcsNDcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1yZWQtODAwIHtcbiAgY29sb3I6IHJnYigxOTgsNDAsNDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLTgwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxOTgsNDAsNDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1yZWQtOTAwIHtcbiAgY29sb3I6IHJnYigxODMsMjgsMjgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxODMsMjgsMjgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1yZWQtQTEwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDEzOCwxMjgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLUExMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDEzOCwxMjgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1yZWQtQTIwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDgyLDgyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXJlZC1BMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSw4Miw4MikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXJlZC1BNDAwIHtcbiAgY29sb3I6IHJnYigyNTUsMjMsNjgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLUE0MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDIzLDY4KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcmVkLUE3MDAge1xuICBjb2xvcjogcmdiKDIxMywwLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcmVkLUE3MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEzLDAsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXBpbmsge1xuICBjb2xvcjogcmdiKDIzMywzMCw5OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1waW5rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMywzMCw5OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXBpbmstNTAge1xuICBjb2xvcjogcmdiKDI1MiwyMjgsMjM2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXBpbmstNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUyLDIyOCwyMzYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1waW5rLTEwMCB7XG4gIGNvbG9yOiByZ2IoMjQ4LDE4NywyMDgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcGluay0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ4LDE4NywyMDgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1waW5rLTIwMCB7XG4gIGNvbG9yOiByZ2IoMjQ0LDE0MywxNzcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcGluay0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ0LDE0MywxNzcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1waW5rLTMwMCB7XG4gIGNvbG9yOiByZ2IoMjQwLDk4LDE0NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1waW5rLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDAsOTgsMTQ2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcGluay00MDAge1xuICBjb2xvcjogcmdiKDIzNiw2NCwxMjIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcGluay00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM2LDY0LDEyMikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXBpbmstNTAwIHtcbiAgY29sb3I6IHJnYigyMzMsMzAsOTkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcGluay01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMzLDMwLDk5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcGluay02MDAge1xuICBjb2xvcjogcmdiKDIxNiwyNyw5NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1waW5rLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMTYsMjcsOTYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1waW5rLTcwMCB7XG4gIGNvbG9yOiByZ2IoMTk0LDI0LDkxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXBpbmstNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5NCwyNCw5MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXBpbmstODAwIHtcbiAgY29sb3I6IHJnYigxNzMsMjAsODcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcGluay04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTczLDIwLDg3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcGluay05MDAge1xuICBjb2xvcjogcmdiKDEzNiwxNCw3OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1waW5rLTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxMzYsMTQsNzkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1waW5rLUExMDAge1xuICBjb2xvcjogcmdiKDI1NSwxMjgsMTcxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXBpbmstQTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTI4LDE3MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXBpbmstQTIwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDY0LDEyOSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1waW5rLUEyMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDY0LDEyOSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXBpbmstQTQwMCB7XG4gIGNvbG9yOiByZ2IoMjQ1LDAsODcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcGluay1BNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0NSwwLDg3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcGluay1BNzAwIHtcbiAgY29sb3I6IHJnYigxOTcsMTcsOTgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcGluay1BNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5NywxNyw5OCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXB1cnBsZSB7XG4gIGNvbG9yOiByZ2IoMTU2LDM5LDE3NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTU2LDM5LDE3NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXB1cnBsZS01MCB7XG4gIGNvbG9yOiByZ2IoMjQzLDIyOSwyNDUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcHVycGxlLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MywyMjksMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTEwMCB7XG4gIGNvbG9yOiByZ2IoMjI1LDE5MCwyMzEpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcHVycGxlLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjUsMTkwLDIzMSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXB1cnBsZS0yMDAge1xuICBjb2xvcjogcmdiKDIwNiwxNDcsMjE2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXB1cnBsZS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA2LDE0NywyMTYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1wdXJwbGUtMzAwIHtcbiAgY29sb3I6IHJnYigxODYsMTA0LDIwMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1wdXJwbGUtMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE4NiwxMDQsMjAwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTQwMCB7XG4gIGNvbG9yOiByZ2IoMTcxLDcxLDE4OCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1wdXJwbGUtNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3MSw3MSwxODgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1wdXJwbGUtNTAwIHtcbiAgY29sb3I6IHJnYigxNTYsMzksMTc2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXB1cnBsZS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTU2LDM5LDE3NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXB1cnBsZS02MDAge1xuICBjb2xvcjogcmdiKDE0MiwzNiwxNzApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcHVycGxlLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNDIsMzYsMTcwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTcwMCB7XG4gIGNvbG9yOiByZ2IoMTIzLDMxLDE2MikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1wdXJwbGUtNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEyMywzMSwxNjIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1wdXJwbGUtODAwIHtcbiAgY29sb3I6IHJnYigxMDYsMjcsMTU0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXB1cnBsZS04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTA2LDI3LDE1NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXB1cnBsZS05MDAge1xuICBjb2xvcjogcmdiKDc0LDIwLDE0MCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1wdXJwbGUtOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDc0LDIwLDE0MCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXB1cnBsZS1BMTAwIHtcbiAgY29sb3I6IHJnYigyMzQsMTI4LDI1MikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1wdXJwbGUtQTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzQsMTI4LDI1MikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXB1cnBsZS1BMjAwIHtcbiAgY29sb3I6IHJnYigyMjQsNjQsMjUxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXB1cnBsZS1BMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyNCw2NCwyNTEpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1wdXJwbGUtQTQwMCB7XG4gIGNvbG9yOiByZ2IoMjEzLDAsMjQ5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXB1cnBsZS1BNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxMywwLDI0OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXB1cnBsZS1BNzAwIHtcbiAgY29sb3I6IHJnYigxNzAsMCwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcHVycGxlLUE3MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTcwLDAsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZGVlcC1wdXJwbGUge1xuICBjb2xvcjogcmdiKDEwMyw1OCwxODMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAzLDU4LDE4MykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTUwIHtcbiAgY29sb3I6IHJnYigyMzcsMjMxLDI0NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzcsMjMxLDI0NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTEwMCB7XG4gIGNvbG9yOiByZ2IoMjA5LDE5NiwyMzMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwOSwxOTYsMjMzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZGVlcC1wdXJwbGUtMjAwIHtcbiAgY29sb3I6IHJnYigxNzksMTU3LDIxOSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTc5LDE1NywyMTkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS0zMDAge1xuICBjb2xvcjogcmdiKDE0OSwxMTcsMjA1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtcHVycGxlLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNDksMTE3LDIwNSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTQwMCB7XG4gIGNvbG9yOiByZ2IoMTI2LDg3LDE5NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTI2LDg3LDE5NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTUwMCB7XG4gIGNvbG9yOiByZ2IoMTAzLDU4LDE4MykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAzLDU4LDE4MykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTYwMCB7XG4gIGNvbG9yOiByZ2IoOTQsNTMsMTc3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtcHVycGxlLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig5NCw1MywxNzcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS03MDAge1xuICBjb2xvcjogcmdiKDgxLDQ1LDE2OCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoODEsNDUsMTY4KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZGVlcC1wdXJwbGUtODAwIHtcbiAgY29sb3I6IHJnYig2OSwzOSwxNjApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUtODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY5LDM5LDE2MCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTkwMCB7XG4gIGNvbG9yOiByZ2IoNDksMjcsMTQ2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtcHVycGxlLTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig0OSwyNywxNDYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS1BMTAwIHtcbiAgY29sb3I6IHJnYigxNzksMTM2LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS1BMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3OSwxMzYsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZGVlcC1wdXJwbGUtQTIwMCB7XG4gIGNvbG9yOiByZ2IoMTI0LDc3LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS1BMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEyNCw3NywyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS1BNDAwIHtcbiAgY29sb3I6IHJnYigxMDEsMzEsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtcHVycGxlLUE0MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAxLDMxLDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLUE3MDAge1xuICBjb2xvcjogcmdiKDk4LDAsMjM0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtcHVycGxlLUE3MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOTgsMCwyMzQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28ge1xuICBjb2xvcjogcmdiKDYzLDgxLDE4MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1pbmRpZ28ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjMsODEsMTgxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0taW5kaWdvLTUwIHtcbiAgY29sb3I6IHJnYigyMzIsMjM0LDI0NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1pbmRpZ28tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjMyLDIzNCwyNDYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tMTAwIHtcbiAgY29sb3I6IHJnYigxOTcsMjAyLDIzMykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1pbmRpZ28tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE5NywyMDIsMjMzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0taW5kaWdvLTIwMCB7XG4gIGNvbG9yOiByZ2IoMTU5LDE2OCwyMTgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0taW5kaWdvLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTksMTY4LDIxOCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWluZGlnby0zMDAge1xuICBjb2xvcjogcmdiKDEyMSwxMzQsMjAzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWluZGlnby0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTIxLDEzNCwyMDMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tNDAwIHtcbiAgY29sb3I6IHJnYig5MiwxMDcsMTkyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWluZGlnby00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOTIsMTA3LDE5MikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWluZGlnby01MDAge1xuICBjb2xvcjogcmdiKDYzLDgxLDE4MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1pbmRpZ28tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDYzLDgxLDE4MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWluZGlnby02MDAge1xuICBjb2xvcjogcmdiKDU3LDczLDE3MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1pbmRpZ28tNjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDU3LDczLDE3MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWluZGlnby03MDAge1xuICBjb2xvcjogcmdiKDQ4LDYzLDE1OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1pbmRpZ28tNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDQ4LDYzLDE1OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWluZGlnby04MDAge1xuICBjb2xvcjogcmdiKDQwLDUzLDE0NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1pbmRpZ28tODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDQwLDUzLDE0NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWluZGlnby05MDAge1xuICBjb2xvcjogcmdiKDI2LDM1LDEyNikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1pbmRpZ28tOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI2LDM1LDEyNikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWluZGlnby1BMTAwIHtcbiAgY29sb3I6IHJnYigxNDAsMTU4LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1pbmRpZ28tQTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNDAsMTU4LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWluZGlnby1BMjAwIHtcbiAgY29sb3I6IHJnYig4MywxMDksMjU0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWluZGlnby1BMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDgzLDEwOSwyNTQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tQTQwMCB7XG4gIGNvbG9yOiByZ2IoNjEsOTAsMjU0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWluZGlnby1BNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDYxLDkwLDI1NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWluZGlnby1BNzAwIHtcbiAgY29sb3I6IHJnYig0OCw3OSwyNTQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0taW5kaWdvLUE3MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDgsNzksMjU0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZSB7XG4gIGNvbG9yOiByZ2IoMzMsMTUwLDI0MykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMzLDE1MCwyNDMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ibHVlLTUwIHtcbiAgY29sb3I6IHJnYigyMjcsMjQyLDI1MykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ibHVlLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyNywyNDIsMjUzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS0xMDAge1xuICBjb2xvcjogcmdiKDE4NywyMjIsMjUxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE4NywyMjIsMjUxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS0yMDAge1xuICBjb2xvcjogcmdiKDE0NCwyMDIsMjQ5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE0NCwyMDIsMjQ5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS0zMDAge1xuICBjb2xvcjogcmdiKDEwMCwxODEsMjQ2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwMCwxODEsMjQ2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS00MDAge1xuICBjb2xvcjogcmdiKDY2LDE2NSwyNDUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYmx1ZS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjYsMTY1LDI0NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJsdWUtNTAwIHtcbiAgY29sb3I6IHJnYigzMywxNTAsMjQzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMzLDE1MCwyNDMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ibHVlLTYwMCB7XG4gIGNvbG9yOiByZ2IoMzAsMTM2LDIyOSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ibHVlLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigzMCwxMzYsMjI5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS03MDAge1xuICBjb2xvcjogcmdiKDI1LDExOCwyMTApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYmx1ZS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUsMTE4LDIxMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJsdWUtODAwIHtcbiAgY29sb3I6IHJnYigyMSwxMDEsMTkyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxLDEwMSwxOTIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ibHVlLTkwMCB7XG4gIGNvbG9yOiByZ2IoMTMsNzEsMTYxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEzLDcxLDE2MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJsdWUtQTEwMCB7XG4gIGNvbG9yOiByZ2IoMTMwLDE3NywyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYmx1ZS1BMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEzMCwxNzcsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS1BMjAwIHtcbiAgY29sb3I6IHJnYig2OCwxMzgsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtQTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig2OCwxMzgsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS1BNDAwIHtcbiAgY29sb3I6IHJnYig0MSwxMjEsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtQTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig0MSwxMjEsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS1BNzAwIHtcbiAgY29sb3I6IHJnYig0MSw5OCwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYmx1ZS1BNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDQxLDk4LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWJsdWUge1xuICBjb2xvcjogcmdiKDMsMTY5LDI0NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDMsMTY5LDI0NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWJsdWUtNTAge1xuICBjb2xvcjogcmdiKDIyNSwyNDUsMjU0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpZ2h0LWJsdWUtNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI1LDI0NSwyNTQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLTEwMCB7XG4gIGNvbG9yOiByZ2IoMTc5LDIyOSwyNTIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTc5LDIyOSwyNTIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLTIwMCB7XG4gIGNvbG9yOiByZ2IoMTI5LDIxMiwyNTApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTI5LDIxMiwyNTApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLTMwMCB7XG4gIGNvbG9yOiByZ2IoNzksMTk1LDI0NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ibHVlLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig3OSwxOTUsMjQ3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZS00MDAge1xuICBjb2xvcjogcmdiKDQxLDE4MiwyNDYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDEsMTgyLDI0NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWJsdWUtNTAwIHtcbiAgY29sb3I6IHJnYigzLDE2OSwyNDQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMywxNjksMjQ0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZS02MDAge1xuICBjb2xvcjogcmdiKDMsMTU1LDIyOSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ibHVlLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigzLDE1NSwyMjkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLTcwMCB7XG4gIGNvbG9yOiByZ2IoMiwxMzYsMjA5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpZ2h0LWJsdWUtNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIsMTM2LDIwOSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWJsdWUtODAwIHtcbiAgY29sb3I6IHJnYigyLDExOSwxODkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMiwxMTksMTg5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZS05MDAge1xuICBjb2xvcjogcmdiKDEsODcsMTU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpZ2h0LWJsdWUtOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEsODcsMTU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZS1BMTAwIHtcbiAgY29sb3I6IHJnYigxMjgsMjE2LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ibHVlLUExMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTI4LDIxNiwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLUEyMDAge1xuICBjb2xvcjogcmdiKDY0LDE5NiwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS1BMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY0LDE5NiwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLUE0MDAge1xuICBjb2xvcjogcmdiKDAsMTc2LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ibHVlLUE0MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwxNzYsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZS1BNzAwIHtcbiAgY29sb3I6IHJnYigwLDE0NSwyMzQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS1BNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMTQ1LDIzNCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWN5YW4ge1xuICBjb2xvcjogcmdiKDAsMTg4LDIxMikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1jeWFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMTg4LDIxMikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWN5YW4tNTAge1xuICBjb2xvcjogcmdiKDIyNCwyNDcsMjUwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWN5YW4tNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI0LDI0NywyNTApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1jeWFuLTEwMCB7XG4gIGNvbG9yOiByZ2IoMTc4LDIzNSwyNDIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tY3lhbi0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTc4LDIzNSwyNDIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1jeWFuLTIwMCB7XG4gIGNvbG9yOiByZ2IoMTI4LDIyMiwyMzQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tY3lhbi0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTI4LDIyMiwyMzQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1jeWFuLTMwMCB7XG4gIGNvbG9yOiByZ2IoNzcsMjA4LDIyNSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1jeWFuLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig3NywyMDgsMjI1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tY3lhbi00MDAge1xuICBjb2xvcjogcmdiKDM4LDE5OCwyMTgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tY3lhbi00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzgsMTk4LDIxOCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWN5YW4tNTAwIHtcbiAgY29sb3I6IHJnYigwLDE4OCwyMTIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tY3lhbi01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwxODgsMjEyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tY3lhbi02MDAge1xuICBjb2xvcjogcmdiKDAsMTcyLDE5MykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1jeWFuLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwLDE3MiwxOTMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1jeWFuLTcwMCB7XG4gIGNvbG9yOiByZ2IoMCwxNTEsMTY3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWN5YW4tNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMTUxLDE2NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWN5YW4tODAwIHtcbiAgY29sb3I6IHJnYigwLDEzMSwxNDMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tY3lhbi04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwxMzEsMTQzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tY3lhbi05MDAge1xuICBjb2xvcjogcmdiKDAsOTYsMTAwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWN5YW4tOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsOTYsMTAwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tY3lhbi1BMTAwIHtcbiAgY29sb3I6IHJnYigxMzIsMjU1LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1jeWFuLUExMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTMyLDI1NSwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1jeWFuLUEyMDAge1xuICBjb2xvcjogcmdiKDI0LDI1NSwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tY3lhbi1BMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0LDI1NSwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1jeWFuLUE0MDAge1xuICBjb2xvcjogcmdiKDAsMjI5LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1jeWFuLUE0MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwyMjksMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tY3lhbi1BNzAwIHtcbiAgY29sb3I6IHJnYigwLDE4NCwyMTIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tY3lhbi1BNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMTg0LDIxMikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXRlYWwge1xuICBjb2xvcjogcmdiKDAsMTUwLDEzNikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS10ZWFsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMTUwLDEzNikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXRlYWwtNTAge1xuICBjb2xvcjogcmdiKDIyNCwyNDIsMjQxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXRlYWwtNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI0LDI0MiwyNDEpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS10ZWFsLTEwMCB7XG4gIGNvbG9yOiByZ2IoMTc4LDIyMywyMTkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tdGVhbC0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTc4LDIyMywyMTkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS10ZWFsLTIwMCB7XG4gIGNvbG9yOiByZ2IoMTI4LDIwMywxOTYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tdGVhbC0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTI4LDIwMywxOTYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS10ZWFsLTMwMCB7XG4gIGNvbG9yOiByZ2IoNzcsMTgyLDE3MikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS10ZWFsLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig3NywxODIsMTcyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tdGVhbC00MDAge1xuICBjb2xvcjogcmdiKDM4LDE2NiwxNTQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tdGVhbC00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzgsMTY2LDE1NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXRlYWwtNTAwIHtcbiAgY29sb3I6IHJnYigwLDE1MCwxMzYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tdGVhbC01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwxNTAsMTM2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tdGVhbC02MDAge1xuICBjb2xvcjogcmdiKDAsMTM3LDEyMykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS10ZWFsLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwLDEzNywxMjMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS10ZWFsLTcwMCB7XG4gIGNvbG9yOiByZ2IoMCwxMjEsMTA3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXRlYWwtNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMTIxLDEwNykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXRlYWwtODAwIHtcbiAgY29sb3I6IHJnYigwLDEwNSw5MikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS10ZWFsLTgwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigwLDEwNSw5MikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXRlYWwtOTAwIHtcbiAgY29sb3I6IHJnYigwLDc3LDY0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXRlYWwtOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsNzcsNjQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS10ZWFsLUExMDAge1xuICBjb2xvcjogcmdiKDE2NywyNTUsMjM1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXRlYWwtQTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNjcsMjU1LDIzNSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXRlYWwtQTIwMCB7XG4gIGNvbG9yOiByZ2IoMTAwLDI1NSwyMTgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tdGVhbC1BMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwMCwyNTUsMjE4KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tdGVhbC1BNDAwIHtcbiAgY29sb3I6IHJnYigyOSwyMzMsMTgyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXRlYWwtQTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyOSwyMzMsMTgyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tdGVhbC1BNzAwIHtcbiAgY29sb3I6IHJnYigwLDE5MSwxNjUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tdGVhbC1BNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMTkxLDE2NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWdyZWVuIHtcbiAgY29sb3I6IHJnYig3NiwxNzUsODApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNzYsMTc1LDgwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZ3JlZW4tNTAge1xuICBjb2xvcjogcmdiKDIzMiwyNDUsMjMzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWdyZWVuLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMiwyNDUsMjMzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZ3JlZW4tMTAwIHtcbiAgY29sb3I6IHJnYigyMDAsMjMwLDIwMSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ncmVlbi0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjAwLDIzMCwyMDEpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmVlbi0yMDAge1xuICBjb2xvcjogcmdiKDE2NSwyMTQsMTY3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWdyZWVuLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNjUsMjE0LDE2NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWdyZWVuLTMwMCB7XG4gIGNvbG9yOiByZ2IoMTI5LDE5OSwxMzIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JlZW4tMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEyOSwxOTksMTMyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZ3JlZW4tNDAwIHtcbiAgY29sb3I6IHJnYigxMDIsMTg3LDEwNikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ncmVlbi00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTAyLDE4NywxMDYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmVlbi01MDAge1xuICBjb2xvcjogcmdiKDc2LDE3NSw4MCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ncmVlbi01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNzYsMTc1LDgwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZ3JlZW4tNjAwIHtcbiAgY29sb3I6IHJnYig2NywxNjAsNzEpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JlZW4tNjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY3LDE2MCw3MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWdyZWVuLTcwMCB7XG4gIGNvbG9yOiByZ2IoNTYsMTQyLDYwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWdyZWVuLTcwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig1NiwxNDIsNjApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmVlbi04MDAge1xuICBjb2xvcjogcmdiKDQ2LDEyNSw1MCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ncmVlbi04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDYsMTI1LDUwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZ3JlZW4tOTAwIHtcbiAgY29sb3I6IHJnYigyNyw5NCwzMikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ncmVlbi05MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjcsOTQsMzIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmVlbi1BMTAwIHtcbiAgY29sb3I6IHJnYigxODUsMjQ2LDIwMikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ncmVlbi1BMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE4NSwyNDYsMjAyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZ3JlZW4tQTIwMCB7XG4gIGNvbG9yOiByZ2IoMTA1LDI0MCwxNzQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JlZW4tQTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxMDUsMjQwLDE3NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWdyZWVuLUE0MDAge1xuICBjb2xvcjogcmdiKDAsMjMwLDExOCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ncmVlbi1BNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMjMwLDExOCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWdyZWVuLUE3MDAge1xuICBjb2xvcjogcmdiKDAsMjAwLDgzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWdyZWVuLUE3MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwyMDAsODMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbiB7XG4gIGNvbG9yOiByZ2IoMTM5LDE5NSw3NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ncmVlbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxMzksMTk1LDc0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGlnaHQtZ3JlZW4tNTAge1xuICBjb2xvcjogcmdiKDI0MSwyNDgsMjMzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpZ2h0LWdyZWVuLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MSwyNDgsMjMzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGlnaHQtZ3JlZW4tMTAwIHtcbiAgY29sb3I6IHJnYigyMjAsMjM3LDIwMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ncmVlbi0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjIwLDIzNywyMDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi0yMDAge1xuICBjb2xvcjogcmdiKDE5NywyMjUsMTY1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpZ2h0LWdyZWVuLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxOTcsMjI1LDE2NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWdyZWVuLTMwMCB7XG4gIGNvbG9yOiByZ2IoMTc0LDIxMywxMjkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3NCwyMTMsMTI5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGlnaHQtZ3JlZW4tNDAwIHtcbiAgY29sb3I6IHJnYigxNTYsMjA0LDEwMSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ncmVlbi00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTU2LDIwNCwxMDEpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi01MDAge1xuICBjb2xvcjogcmdiKDEzOSwxOTUsNzQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEzOSwxOTUsNzQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi02MDAge1xuICBjb2xvcjogcmdiKDEyNCwxNzksNjYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tNjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEyNCwxNzksNjYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi03MDAge1xuICBjb2xvcjogcmdiKDEwNCwxNTksNTYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEwNCwxNTksNTYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi04MDAge1xuICBjb2xvcjogcmdiKDg1LDEzOSw0NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ncmVlbi04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoODUsMTM5LDQ3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGlnaHQtZ3JlZW4tOTAwIHtcbiAgY29sb3I6IHJnYig1MSwxMDUsMzApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDUxLDEwNSwzMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWdyZWVuLUExMDAge1xuICBjb2xvcjogcmdiKDIwNCwyNTUsMTQ0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpZ2h0LWdyZWVuLUExMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA0LDI1NSwxNDQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi1BMjAwIHtcbiAgY29sb3I6IHJnYigxNzgsMjU1LDg5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpZ2h0LWdyZWVuLUEyMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTc4LDI1NSw4OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWdyZWVuLUE0MDAge1xuICBjb2xvcjogcmdiKDExOCwyNTUsMykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saWdodC1ncmVlbi1BNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDExOCwyNTUsMykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWdyZWVuLUE3MDAge1xuICBjb2xvcjogcmdiKDEwMCwyMjEsMjMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tQTcwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxMDAsMjIxLDIzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGltZSB7XG4gIGNvbG9yOiByZ2IoMjA1LDIyMCw1NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saW1lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNSwyMjAsNTcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saW1lLTUwIHtcbiAgY29sb3I6IHJnYigyNDksMjUxLDIzMSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saW1lLTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0OSwyNTEsMjMxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGltZS0xMDAge1xuICBjb2xvcjogcmdiKDI0MCwyNDQsMTk1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpbWUtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0MCwyNDQsMTk1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGltZS0yMDAge1xuICBjb2xvcjogcmdiKDIzMCwyMzgsMTU2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpbWUtMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMCwyMzgsMTU2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGltZS0zMDAge1xuICBjb2xvcjogcmdiKDIyMCwyMzEsMTE3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpbWUtMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyMCwyMzEsMTE3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGltZS00MDAge1xuICBjb2xvcjogcmdiKDIxMiwyMjUsODcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGltZS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEyLDIyNSw4NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpbWUtNTAwIHtcbiAgY29sb3I6IHJnYigyMDUsMjIwLDU3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpbWUtNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIwNSwyMjAsNTcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saW1lLTYwMCB7XG4gIGNvbG9yOiByZ2IoMTkyLDIwMiw1MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saW1lLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxOTIsMjAyLDUxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGltZS03MDAge1xuICBjb2xvcjogcmdiKDE3NSwxODAsNDMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGltZS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTc1LDE4MCw0MykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWxpbWUtODAwIHtcbiAgY29sb3I6IHJnYigxNTgsMTU3LDM2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWxpbWUtODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1OCwxNTcsMzYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saW1lLTkwMCB7XG4gIGNvbG9yOiByZ2IoMTMwLDExOSwyMykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saW1lLTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxMzAsMTE5LDIzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGltZS1BMTAwIHtcbiAgY29sb3I6IHJnYigyNDQsMjU1LDEyOSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saW1lLUExMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ0LDI1NSwxMjkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saW1lLUEyMDAge1xuICBjb2xvcjogcmdiKDIzOCwyNTUsNjUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGltZS1BMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzOCwyNTUsNjUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1saW1lLUE0MDAge1xuICBjb2xvcjogcmdiKDE5OCwyNTUsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1saW1lLUE0MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTk4LDI1NSwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tbGltZS1BNzAwIHtcbiAgY29sb3I6IHJnYigxNzQsMjM0LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tbGltZS1BNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3NCwyMzQsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXllbGxvdyB7XG4gIGNvbG9yOiByZ2IoMjU1LDIzNSw1OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS15ZWxsb3cge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDIzNSw1OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXllbGxvdy01MCB7XG4gIGNvbG9yOiByZ2IoMjU1LDI1MywyMzEpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0teWVsbG93LTUwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyNTMsMjMxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0teWVsbG93LTEwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDI0OSwxOTYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0teWVsbG93LTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjQ5LDE5NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXllbGxvdy0yMDAge1xuICBjb2xvcjogcmdiKDI1NSwyNDUsMTU3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXllbGxvdy0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDI0NSwxNTcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS15ZWxsb3ctMzAwIHtcbiAgY29sb3I6IHJnYigyNTUsMjQxLDExOCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS15ZWxsb3ctMzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyNDEsMTE4KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0teWVsbG93LTQwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDIzOCw4OCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS15ZWxsb3ctNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyMzgsODgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS15ZWxsb3ctNTAwIHtcbiAgY29sb3I6IHJnYigyNTUsMjM1LDU5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXllbGxvdy01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDIzNSw1OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXllbGxvdy02MDAge1xuICBjb2xvcjogcmdiKDI1MywyMTYsNTMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0teWVsbG93LTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTMsMjE2LDUzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0teWVsbG93LTcwMCB7XG4gIGNvbG9yOiByZ2IoMjUxLDE5Miw0NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS15ZWxsb3ctNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1MSwxOTIsNDUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS15ZWxsb3ctODAwIHtcbiAgY29sb3I6IHJnYigyNDksMTY4LDM3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXllbGxvdy04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ5LDE2OCwzNykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXllbGxvdy05MDAge1xuICBjb2xvcjogcmdiKDI0NSwxMjcsMjMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0teWVsbG93LTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDUsMTI3LDIzKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0teWVsbG93LUExMDAge1xuICBjb2xvcjogcmdiKDI1NSwyNTUsMTQxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXllbGxvdy1BMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyNTUsMTQxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0teWVsbG93LUEyMDAge1xuICBjb2xvcjogcmdiKDI1NSwyNTUsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS15ZWxsb3ctQTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjU1LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS15ZWxsb3ctQTQwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDIzNCwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLXllbGxvdy1BNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyMzQsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXllbGxvdy1BNzAwIHtcbiAgY29sb3I6IHJnYigyNTUsMjE0LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0teWVsbG93LUE3MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDIxNCwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYW1iZXIge1xuICBjb2xvcjogcmdiKDI1NSwxOTMsNykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1hbWJlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTkzLDcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1hbWJlci01MCB7XG4gIGNvbG9yOiByZ2IoMjU1LDI0OCwyMjUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYW1iZXItNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDI0OCwyMjUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1hbWJlci0xMDAge1xuICBjb2xvcjogcmdiKDI1NSwyMzYsMTc5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWFtYmVyLTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjM2LDE3OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWFtYmVyLTIwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDIyNCwxMzApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYW1iZXItMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyMjQsMTMwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYW1iZXItMzAwIHtcbiAgY29sb3I6IHJnYigyNTUsMjEzLDc5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWFtYmVyLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjEzLDc5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYW1iZXItNDAwIHtcbiAgY29sb3I6IHJnYigyNTUsMjAyLDQwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWFtYmVyLTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjAyLDQwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYW1iZXItNTAwIHtcbiAgY29sb3I6IHJnYigyNTUsMTkzLDcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYW1iZXItNTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwxOTMsNykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWFtYmVyLTYwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDE3OSwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWFtYmVyLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTc5LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1hbWJlci03MDAge1xuICBjb2xvcjogcmdiKDI1NSwxNjAsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1hbWJlci03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDE2MCwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYW1iZXItODAwIHtcbiAgY29sb3I6IHJnYigyNTUsMTQzLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYW1iZXItODAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwxNDMsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWFtYmVyLTkwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDExMSwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWFtYmVyLTkwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTExLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1hbWJlci1BMTAwIHtcbiAgY29sb3I6IHJnYigyNTUsMjI5LDEyNykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1hbWJlci1BMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyMjksMTI3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYW1iZXItQTIwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDIxNSw2NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1hbWJlci1BMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyMTUsNjQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1hbWJlci1BNDAwIHtcbiAgY29sb3I6IHJnYigyNTUsMTk2LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYW1iZXItQTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTk2LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1hbWJlci1BNzAwIHtcbiAgY29sb3I6IHJnYigyNTUsMTcxLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYW1iZXItQTcwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTcxLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2Uge1xuICBjb2xvcjogcmdiKDI1NSwxNTIsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDE1MiwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tb3JhbmdlLTUwIHtcbiAgY29sb3I6IHJnYigyNTUsMjQzLDIyNCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1vcmFuZ2UtNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDI0MywyMjQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtMTAwIHtcbiAgY29sb3I6IHJnYigyNTUsMjI0LDE3OCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1vcmFuZ2UtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyMjQsMTc4KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tb3JhbmdlLTIwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDIwNCwxMjgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tb3JhbmdlLTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjA0LDEyOCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLW9yYW5nZS0zMDAge1xuICBjb2xvcjogcmdiKDI1NSwxODMsNzcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tb3JhbmdlLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTgzLDc3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tb3JhbmdlLTQwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDE2NywzOCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1vcmFuZ2UtNDAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwxNjcsMzgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtNTAwIHtcbiAgY29sb3I6IHJnYigyNTUsMTUyLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tb3JhbmdlLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTUyLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtNjAwIHtcbiAgY29sb3I6IHJnYigyNTEsMTQwLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tb3JhbmdlLTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTEsMTQwLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtNzAwIHtcbiAgY29sb3I6IHJnYigyNDUsMTI0LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tb3JhbmdlLTcwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNDUsMTI0LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtODAwIHtcbiAgY29sb3I6IHJnYigyMzksMTA4LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tb3JhbmdlLTgwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzksMTA4LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtOTAwIHtcbiAgY29sb3I6IHJnYigyMzAsODEsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1vcmFuZ2UtOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMCw4MSwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tb3JhbmdlLUExMDAge1xuICBjb2xvcjogcmdiKDI1NSwyMDksMTI4KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLW9yYW5nZS1BMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyMDksMTI4KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tb3JhbmdlLUEyMDAge1xuICBjb2xvcjogcmdiKDI1NSwxNzEsNjQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tb3JhbmdlLUEyMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDE3MSw2NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLW9yYW5nZS1BNDAwIHtcbiAgY29sb3I6IHJnYigyNTUsMTQ1LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tb3JhbmdlLUE0MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDE0NSwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tb3JhbmdlLUE3MDAge1xuICBjb2xvcjogcmdiKDI1NSwxMDksMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1vcmFuZ2UtQTcwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTA5LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1kZWVwLW9yYW5nZSB7XG4gIGNvbG9yOiByZ2IoMjU1LDg3LDM0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtb3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSw4NywzNCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLTUwIHtcbiAgY29sb3I6IHJnYigyNTEsMjMzLDIzMSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLW9yYW5nZS01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTEsMjMzLDIzMSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLTEwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDIwNCwxODgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZGVlcC1vcmFuZ2UtMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwyMDQsMTg4KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtMjAwIHtcbiAgY29sb3I6IHJnYigyNTUsMTcxLDE0NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLW9yYW5nZS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDE3MSwxNDUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1kZWVwLW9yYW5nZS0zMDAge1xuICBjb2xvcjogcmdiKDI1NSwxMzgsMTAxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTM4LDEwMSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLTQwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDExMiw2NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLW9yYW5nZS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDExMiw2NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLTUwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDg3LDM0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsODcsMzQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1kZWVwLW9yYW5nZS02MDAge1xuICBjb2xvcjogcmdiKDI0NCw4MSwzMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLW9yYW5nZS02MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ0LDgxLDMwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtNzAwIHtcbiAgY29sb3I6IHJnYigyMzAsNzQsMjUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZGVlcC1vcmFuZ2UtNzAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIzMCw3NCwyNSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLTgwMCB7XG4gIGNvbG9yOiByZ2IoMjE2LDY3LDIxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLTgwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMTYsNjcsMjEpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1kZWVwLW9yYW5nZS05MDAge1xuICBjb2xvcjogcmdiKDE5MSw1NCwxMikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1kZWVwLW9yYW5nZS05MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTkxLDU0LDEyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtQTEwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDE1OCwxMjgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZGVlcC1vcmFuZ2UtQTEwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTU4LDEyOCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLUEyMDAge1xuICBjb2xvcjogcmdiKDI1NSwxMTAsNjQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZGVlcC1vcmFuZ2UtQTIwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMTEwLDY0KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtQTQwMCB7XG4gIGNvbG9yOiByZ2IoMjU1LDYxLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZGVlcC1vcmFuZ2UtQTQwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsNjEsMCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLUE3MDAge1xuICBjb2xvcjogcmdiKDIyMSw0NCwwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLUE3MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjIxLDQ0LDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1icm93biB7XG4gIGNvbG9yOiByZ2IoMTIxLDg1LDcyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJyb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEyMSw4NSw3MikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJyb3duLTUwIHtcbiAgY29sb3I6IHJnYigyMzksMjM1LDIzMykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1icm93bi01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzksMjM1LDIzMykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJyb3duLTEwMCB7XG4gIGNvbG9yOiByZ2IoMjE1LDIwNCwyMDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYnJvd24tMTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIxNSwyMDQsMjAwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYnJvd24tMjAwIHtcbiAgY29sb3I6IHJnYigxODgsMTcwLDE2NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1icm93bi0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTg4LDE3MCwxNjQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1icm93bi0zMDAge1xuICBjb2xvcjogcmdiKDE2MSwxMzYsMTI3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJyb3duLTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNjEsMTM2LDEyNykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJyb3duLTQwMCB7XG4gIGNvbG9yOiByZ2IoMTQxLDExMCw5OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1icm93bi00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTQxLDExMCw5OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJyb3duLTUwMCB7XG4gIGNvbG9yOiByZ2IoMTIxLDg1LDcyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJyb3duLTUwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxMjEsODUsNzIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1icm93bi02MDAge1xuICBjb2xvcjogcmdiKDEwOSw3Niw2NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1icm93bi02MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTA5LDc2LDY1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYnJvd24tNzAwIHtcbiAgY29sb3I6IHJnYig5Myw2NCw1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1icm93bi03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOTMsNjQsNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1icm93bi04MDAge1xuICBjb2xvcjogcmdiKDc4LDUyLDQ2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJyb3duLTgwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig3OCw1Miw0NikgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJyb3duLTkwMCB7XG4gIGNvbG9yOiByZ2IoNjIsMzksMzUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYnJvd24tOTAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDYyLDM5LDM1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tZ3JleSB7XG4gIGNvbG9yOiByZ2IoMTU4LDE1OCwxNTgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNTgsMTU4LDE1OCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWdyZXktNTAge1xuICBjb2xvcjogcmdiKDI1MCwyNTAsMjUwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWdyZXktNTAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUwLDI1MCwyNTApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmV5LTEwMCB7XG4gIGNvbG9yOiByZ2IoMjQ1LDI0NSwyNDUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjQ1LDI0NSwyNDUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmV5LTIwMCB7XG4gIGNvbG9yOiByZ2IoMjM4LDIzOCwyMzgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleS0yMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4LDIzOCwyMzgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmV5LTMwMCB7XG4gIGNvbG9yOiByZ2IoMjI0LDIyNCwyMjQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleS0zMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjI0LDIyNCwyMjQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmV5LTQwMCB7XG4gIGNvbG9yOiByZ2IoMTg5LDE4OSwxODkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTg5LDE4OSwxODkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmV5LTUwMCB7XG4gIGNvbG9yOiByZ2IoMTU4LDE1OCwxNTgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTU4LDE1OCwxNTgpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmV5LTYwMCB7XG4gIGNvbG9yOiByZ2IoMTE3LDExNywxMTcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleS02MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTE3LDExNywxMTcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmV5LTcwMCB7XG4gIGNvbG9yOiByZ2IoOTcsOTcsOTcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOTcsOTcsOTcpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmV5LTgwMCB7XG4gIGNvbG9yOiByZ2IoNjYsNjYsNjYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleS04MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjYsNjYsNjYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ncmV5LTkwMCB7XG4gIGNvbG9yOiByZ2IoMzMsMzMsMzMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tZ3JleS05MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzMsMzMsMzMpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ibHVlLWdyZXkge1xuICBjb2xvcjogcmdiKDk2LDEyNSwxMzkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYmx1ZS1ncmV5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDk2LDEyNSwxMzkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ibHVlLWdyZXktNTAge1xuICBjb2xvcjogcmdiKDIzNiwyMzksMjQxKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtZ3JleS01MCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyMzYsMjM5LDI0MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJsdWUtZ3JleS0xMDAge1xuICBjb2xvcjogcmdiKDIwNywyMTYsMjIwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtZ3JleS0xMDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjA3LDIxNiwyMjApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ibHVlLWdyZXktMjAwIHtcbiAgY29sb3I6IHJnYigxNzYsMTkwLDE5NykgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1ibHVlLWdyZXktMjAwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE3NiwxOTAsMTk3KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTMwMCB7XG4gIGNvbG9yOiByZ2IoMTQ0LDE2NCwxNzQpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYmx1ZS1ncmV5LTMwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigxNDQsMTY0LDE3NCkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJsdWUtZ3JleS00MDAge1xuICBjb2xvcjogcmdiKDEyMCwxNDQsMTU2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtZ3JleS00MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTIwLDE0NCwxNTYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ibHVlLWdyZXktNTAwIHtcbiAgY29sb3I6IHJnYig5NiwxMjUsMTM5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtZ3JleS01MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoOTYsMTI1LDEzOSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJsdWUtZ3JleS02MDAge1xuICBjb2xvcjogcmdiKDg0LDExMCwxMjIpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYmx1ZS1ncmV5LTYwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig4NCwxMTAsMTIyKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTcwMCB7XG4gIGNvbG9yOiByZ2IoNjksOTAsMTAwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtZ3JleS03MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjksOTAsMTAwKSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTgwMCB7XG4gIGNvbG9yOiByZ2IoNTUsNzEsNzkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYmx1ZS1ncmV5LTgwMCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig1NSw3MSw3OSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLWJsdWUtZ3JleS05MDAge1xuICBjb2xvcjogcmdiKDM4LDUwLDU2KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWJsdWUtZ3JleS05MDAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzgsNTAsNTYpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tYmxhY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwwLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1ibGFjayB7XG4gIGNvbG9yOiByZ2IoMCwwLDApICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0td2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDI1NSwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS13aGl0ZSB7XG4gIGNvbG9yOiByZ2IoMjU1LDI1NSwyNTUpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig2Myw4MSwxODEpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci0tcHJpbWFyeS1jb250cmFzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjU1LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLS1wcmltYXJ5LWRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNDgsNjMsMTU5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWFjY2VudCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsNjQsMTI5KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItLWFjY2VudC1jb250cmFzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjU1LDI1NSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXByaW1hcnkge1xuICBjb2xvcjogcmdiKDYzLDgxLDE4MSkgIWltcG9ydGFudDsgfVxuXG4ubWRsLWNvbG9yLXRleHQtLXByaW1hcnktY29udHJhc3Qge1xuICBjb2xvcjogcmdiKDI1NSwyNTUsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi5tZGwtY29sb3ItdGV4dC0tcHJpbWFyeS1kYXJrIHtcbiAgY29sb3I6IHJnYig0OCw2MywxNTkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1hY2NlbnQge1xuICBjb2xvcjogcmdiKDI1NSw2NCwxMjkpICFpbXBvcnRhbnQ7IH1cblxuLm1kbC1jb2xvci10ZXh0LS1hY2NlbnQtY29udHJhc3Qge1xuICBjb2xvcjogcmdiKDI1NSwyNTUsMjU1KSAhaW1wb3J0YW50OyB9XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU1RZTEUgR1VJREUgVkFSSUFCTEVTLS0tLS0tLS0tLS0tLS0tLS0tRGVjbGFyYXRpb25zIG9mIFNhc3MgdmFyaWFibGVzXG4gKiAtLS0tLVR5cG9ncmFwaHlcbiAqIC0tLS0tQ29sb3JzXG4gKiAtLS0tLVRleHRmaWVsZFxuICogLS0tLS1Td2l0Y2hcbiAqIC0tLS0tU3Bpbm5lclxuICogLS0tLS1SYWRpb1xuICogLS0tLS1NZW51XG4gKiAtLS0tLUxpc3RcbiAqIC0tLS0tTGF5b3V0XG4gKiAtLS0tLUljb24gdG9nZ2xlc1xuICogLS0tLS1Gb290ZXJcbiAqIC0tLS0tQ29sdW1uXG4gKiAtLS0tLUNoZWNrYm94XG4gKiAtLS0tLUNhcmRcbiAqIC0tLS0tQnV0dG9uXG4gKiAtLS0tLUFuaW1hdGlvblxuICogLS0tLS1Qcm9ncmVzc1xuICogLS0tLS1CYWRnZVxuICogLS0tLS1TaGFkb3dzXG4gKiAtLS0tLUdyaWRcbiAqIC0tLS0tRGF0YSB0YWJsZVxuICogLS0tLS1EaWFsb2dcbiAqIC0tLS0tU25hY2tiYXJcbiAqIC0tLS0tVG9vbHRpcFxuICogLS0tLS1DaGlwXG4gKlxuICogRXZlbiB0aG91Z2ggYWxsIHZhcmlhYmxlcyBoYXZlIHRoZSBgIWRlZmF1bHRgIGRpcmVjdGl2ZSwgbW9zdCBvZiB0aGVtXG4gKiBzaG91bGQgbm90IGJlIGNoYW5nZWQgYXMgdGhleSBhcmUgZGVwZW5kZW50IG9uZSBhbm90aGVyLiBUaGlzIGNhbiBjYXVzZVxuICogdmlzdWFsIGRpc3RvcnRpb25zIChsaWtlIGFsaWdubWVudCBpc3N1ZXMpIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2sgZG93blxuICogYW5kIGZpeC5cbiAqL1xuLyogPT09PT09PT09PSAgVFlQT0dSQVBIWSAgPT09PT09PT09PSAqL1xuLyogV2UncmUgc3BsaXR0aW5nIGZvbnRzIGludG8gXCJwcmVmZXJyZWRcIiBhbmQgXCJwZXJmb3JtYW5jZVwiIGluIG9yZGVyIHRvIG9wdGltaXplXG4gICBwYWdlIGxvYWRpbmcuIEZvciBpbXBvcnRhbnQgdGV4dCwgc3VjaCBhcyB0aGUgYm9keSwgd2Ugd2FudCBpdCB0byBsb2FkXG4gICBpbW1lZGlhdGVseSBhbmQgbm90IHdhaXQgZm9yIHRoZSB3ZWIgZm9udCBsb2FkLCB3aGVyZWFzIGZvciBvdGhlciBzZWN0aW9ucyxcbiAgIHN1Y2ggYXMgaGVhZGVycyBhbmQgdGl0bGVzLCB3ZSdyZSBPSyB3aXRoIHRoaW5ncyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRvIGxvYWQuXG4gICBXZSBkbyBoYXZlIHNvbWUgb3B0aW9uYWwgY2xhc3NlcyBhbmQgcGFyYW1ldGVycyBpbiB0aGUgbWl4aW5zLCBpbiBjYXNlIHlvdVxuICAgZGVmaW5pdGVseSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGhlIHByZWZlcnJlZCBmb250IGFuZCBkb24ndCBtaW5kXG4gICB0aGUgcGVyZm9ybWFuY2UgaGl0LlxuICAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gaW1wcm92ZSBvbiB0aGlzIG9uY2UgQ1NTIEZvbnQgTG9hZGluZyBMMyBiZWNvbWVzIG1vcmVcbiAgIHdpZGVseSBhdmFpbGFibGUuXG4qL1xuLyogPT09PT09PT09PSAgQ09MT1JTICA9PT09PT09PT09ICovXG4vKipcbipcbiogTWF0ZXJpYWwgZGVzaWduIGNvbG9yIHBhbGV0dGVzLlxuKiBAc2VlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS9jb2xvci5odG1sXG4qXG4qKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBDb2xvciBQYWxldHRlcyAgPT09PT09PT09PSAqL1xuLyogY29sb3JzLnNjc3MgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb21wb25lbnRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJY29uIFRvZ2dsZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJhZGlvIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJpcHBsZSBlZmZlY3QgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExheW91dCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29udGVudCBUYWJzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDaGVja2JveGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVGV4dCBmaWVsZHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENhcmQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNsaWRlcnMgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSBQcm9ncmVzcyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMaXN0ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEl0ZW0gPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRHJvcGRvd24gbWVudSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUb29sdGlwcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRm9vdGVyICA9PT09PT09PT09ICovXG4vKiBURVhURklFTEQgKi9cbi8qIFNXSVRDSCAqL1xuLyogU1BJTk5FUiAqL1xuLyogUkFESU8gKi9cbi8qIE1FTlUgKi9cbi8qIExJU1QgKi9cbi8qIExBWU9VVCAqL1xuLyogSUNPTiBUT0dHTEUgKi9cbi8qIEZPT1RFUiAqL1xuLyptZWdhLWZvb3RlciovXG4vKm1pbmktZm9vdGVyKi9cbi8qIENIRUNLQk9YICovXG4vKiBDQVJEICovXG4vKiBDYXJkIGRpbWVuc2lvbnMgKi9cbi8qIENvdmVyIGltYWdlICovXG4vKiBCVVRUT04gKi9cbi8qKlxuICpcbiAqIERpbWVuc2lvbnNcbiAqXG4gKi9cbi8qIEFOSU1BVElPTiAqL1xuLyogUFJPR1JFU1MgKi9cbi8qIEJBREdFICovXG4vKiBTSEFET1dTICovXG4vKiBHUklEICovXG4vKiBEQVRBIFRBQkxFICovXG4vKiBESUFMT0cgKi9cbi8qIFNOQUNLQkFSICovXG4vKiBUT09MVElQICovXG4vKiBDSElQICovXG4ubWRsLXJpcHBsZSB7XG4gIGJhY2tncm91bmQ6IHJnYigwLDAsMCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICBsZWZ0OiAwO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB3aWR0aDogNTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubWRsLXJpcHBsZS5pcy1hbmltYXRpbmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCB3aWR0aCAwLjNzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpLCBoZWlnaHQgMC4zcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSwgb3BhY2l0eSAwLjZzIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpOyB9XG4gIC5tZGwtcmlwcGxlLmlzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLm1kbC1hbmltYXRpb24tLWRlZmF1bHQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuXG4ubWRsLWFuaW1hdGlvbi0tZmFzdC1vdXQtc2xvdy1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG5cbi5tZGwtYW5pbWF0aW9uLS1saW5lYXItb3V0LXNsb3ctaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7IH1cblxuLm1kbC1hbmltYXRpb24tLWZhc3Qtb3V0LWxpbmVhci1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAxLCAxKTsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLm1kbC1iYWRnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAyNHB4OyB9XG4gIC5tZGwtYmFkZ2U6bm90KFtkYXRhLWJhZGdlXSkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAubWRsLWJhZGdlW2RhdGEtYmFkZ2VdOmFmdGVyIHtcbiAgICBjb250ZW50OiBhdHRyKGRhdGEtYmFkZ2UpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTExcHg7XG4gICAgcmlnaHQ6IC0yNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90b1wiLCBcIkhlbHZldGljYVwiLCBcIkFyaWFsXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgd2lkdGg6IDIycHg7XG4gICAgaGVpZ2h0OiAyMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LDY0LDEyOSk7XG4gICAgY29sb3I6IHJnYigyNTUsMjU1LDI1NSk7IH1cbiAgICAubWRsLWJ1dHRvbiAubWRsLWJhZGdlW2RhdGEtYmFkZ2VdOmFmdGVyIHtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICByaWdodDogLTVweDsgfVxuICAubWRsLWJhZGdlLm1kbC1iYWRnZS0tbm8tYmFja2dyb3VuZFtkYXRhLWJhZGdlXTphZnRlciB7XG4gICAgY29sb3I6IHJnYigyNTUsNjQsMTI5KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuMik7XG4gICAgYm94LXNoYWRvdzogMCAwIDFweCBncmF5OyB9XG4gIC5tZGwtYmFkZ2UubWRsLWJhZGdlLS1vdmVybGFwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgICAubWRsLWJhZGdlLm1kbC1iYWRnZS0tb3ZlcmxhcDphZnRlciB7XG4gICAgICByaWdodDogLTEwcHg7IH1cblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgJENPTlRFTlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBTVFlMRSBHVUlERSBWQVJJQUJMRVMtLS0tLS0tLS0tLS0tLS0tLS1EZWNsYXJhdGlvbnMgb2YgU2FzcyB2YXJpYWJsZXNcbiAqIC0tLS0tVHlwb2dyYXBoeVxuICogLS0tLS1Db2xvcnNcbiAqIC0tLS0tVGV4dGZpZWxkXG4gKiAtLS0tLVN3aXRjaFxuICogLS0tLS1TcGlubmVyXG4gKiAtLS0tLVJhZGlvXG4gKiAtLS0tLU1lbnVcbiAqIC0tLS0tTGlzdFxuICogLS0tLS1MYXlvdXRcbiAqIC0tLS0tSWNvbiB0b2dnbGVzXG4gKiAtLS0tLUZvb3RlclxuICogLS0tLS1Db2x1bW5cbiAqIC0tLS0tQ2hlY2tib3hcbiAqIC0tLS0tQ2FyZFxuICogLS0tLS1CdXR0b25cbiAqIC0tLS0tQW5pbWF0aW9uXG4gKiAtLS0tLVByb2dyZXNzXG4gKiAtLS0tLUJhZGdlXG4gKiAtLS0tLVNoYWRvd3NcbiAqIC0tLS0tR3JpZFxuICogLS0tLS1EYXRhIHRhYmxlXG4gKiAtLS0tLURpYWxvZ1xuICogLS0tLS1TbmFja2JhclxuICogLS0tLS1Ub29sdGlwXG4gKiAtLS0tLUNoaXBcbiAqXG4gKiBFdmVuIHRob3VnaCBhbGwgdmFyaWFibGVzIGhhdmUgdGhlIGAhZGVmYXVsdGAgZGlyZWN0aXZlLCBtb3N0IG9mIHRoZW1cbiAqIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcyB0aGV5IGFyZSBkZXBlbmRlbnQgb25lIGFub3RoZXIuIFRoaXMgY2FuIGNhdXNlXG4gKiB2aXN1YWwgZGlzdG9ydGlvbnMgKGxpa2UgYWxpZ25tZW50IGlzc3VlcykgdGhhdCBhcmUgaGFyZCB0byB0cmFjayBkb3duXG4gKiBhbmQgZml4LlxuICovXG4vKiA9PT09PT09PT09ICBUWVBPR1JBUEhZICA9PT09PT09PT09ICovXG4vKiBXZSdyZSBzcGxpdHRpbmcgZm9udHMgaW50byBcInByZWZlcnJlZFwiIGFuZCBcInBlcmZvcm1hbmNlXCIgaW4gb3JkZXIgdG8gb3B0aW1pemVcbiAgIHBhZ2UgbG9hZGluZy4gRm9yIGltcG9ydGFudCB0ZXh0LCBzdWNoIGFzIHRoZSBib2R5LCB3ZSB3YW50IGl0IHRvIGxvYWRcbiAgIGltbWVkaWF0ZWx5IGFuZCBub3Qgd2FpdCBmb3IgdGhlIHdlYiBmb250IGxvYWQsIHdoZXJlYXMgZm9yIG90aGVyIHNlY3Rpb25zLFxuICAgc3VjaCBhcyBoZWFkZXJzIGFuZCB0aXRsZXMsIHdlJ3JlIE9LIHdpdGggdGhpbmdzIHRha2luZyBhIGJpdCBsb25nZXIgdG8gbG9hZC5cbiAgIFdlIGRvIGhhdmUgc29tZSBvcHRpb25hbCBjbGFzc2VzIGFuZCBwYXJhbWV0ZXJzIGluIHRoZSBtaXhpbnMsIGluIGNhc2UgeW91XG4gICBkZWZpbml0ZWx5IHdhbnQgdG8gbWFrZSBzdXJlIHlvdSdyZSB1c2luZyB0aGUgcHJlZmVycmVkIGZvbnQgYW5kIGRvbid0IG1pbmRcbiAgIHRoZSBwZXJmb3JtYW5jZSBoaXQuXG4gICBXZSBzaG91bGQgYmUgYWJsZSB0byBpbXByb3ZlIG9uIHRoaXMgb25jZSBDU1MgRm9udCBMb2FkaW5nIEwzIGJlY29tZXMgbW9yZVxuICAgd2lkZWx5IGF2YWlsYWJsZS5cbiovXG4vKiA9PT09PT09PT09ICBDT0xPUlMgID09PT09PT09PT0gKi9cbi8qKlxuKlxuKiBNYXRlcmlhbCBkZXNpZ24gY29sb3IgcGFsZXR0ZXMuXG4qIEBzZWUgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWxcbipcbioqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIENvbG9yIFBhbGV0dGVzICA9PT09PT09PT09ICovXG4vKiBjb2xvcnMuc2NzcyAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIElNQUdFUyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgJiBUaGVtZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFR5cG9ncmFwaHkgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbXBvbmVudHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN0YW5kYXJkIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEljb24gVG9nZ2xlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmFkaW8gQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmlwcGxlIGVmZmVjdCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGF5b3V0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb250ZW50IFRhYnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENoZWNrYm94ZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN3aXRjaGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTcGlubmVyICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUZXh0IGZpZWxkcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2FyZCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU2xpZGVycyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09IFByb2dyZXNzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExpc3QgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSXRlbSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBEcm9wZG93biBtZW51ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRvb2x0aXBzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBGb290ZXIgID09PT09PT09PT0gKi9cbi8qIFRFWFRGSUVMRCAqL1xuLyogU1dJVENIICovXG4vKiBTUElOTkVSICovXG4vKiBSQURJTyAqL1xuLyogTUVOVSAqL1xuLyogTElTVCAqL1xuLyogTEFZT1VUICovXG4vKiBJQ09OIFRPR0dMRSAqL1xuLyogRk9PVEVSICovXG4vKm1lZ2EtZm9vdGVyKi9cbi8qbWluaS1mb290ZXIqL1xuLyogQ0hFQ0tCT1ggKi9cbi8qIENBUkQgKi9cbi8qIENhcmQgZGltZW5zaW9ucyAqL1xuLyogQ292ZXIgaW1hZ2UgKi9cbi8qIEJVVFRPTiAqL1xuLyoqXG4gKlxuICogRGltZW5zaW9uc1xuICpcbiAqL1xuLyogQU5JTUFUSU9OICovXG4vKiBQUk9HUkVTUyAqL1xuLyogQkFER0UgKi9cbi8qIFNIQURPV1MgKi9cbi8qIEdSSUQgKi9cbi8qIERBVEEgVEFCTEUgKi9cbi8qIERJQUxPRyAqL1xuLyogU05BQ0tCQVIgKi9cbi8qIFRPT0xUSVAgKi9cbi8qIENISVAgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiBUeXBvZ3JhcGh5ICovXG4vKiBTaGFkb3dzICovXG4vKiBBbmltYXRpb25zICovXG4vKiBEaWFsb2cgKi9cbi5tZGwtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogcmdiKDAsMCwwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDM2cHg7XG4gIG1hcmdpbjogMDtcbiAgbWluLXdpZHRoOiA2NHB4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMSwgMSksIGJhY2tncm91bmQtY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBjb2xvciAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZGwtYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLm1kbC1idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTU4LDE1OCwxNTgsIDAuMjApOyB9XG4gIC5tZGwtYnV0dG9uOmZvY3VzOm5vdCg6YWN0aXZlKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwgMC4xMik7IH1cbiAgLm1kbC1idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1OCwxNTgsMTU4LCAwLjQwKTsgfVxuICAubWRsLWJ1dHRvbi5tZGwtYnV0dG9uLS1jb2xvcmVkIHtcbiAgICBjb2xvcjogcmdiKDYzLDgxLDE4MSk7IH1cbiAgICAubWRsLWJ1dHRvbi5tZGwtYnV0dG9uLS1jb2xvcmVkOmZvY3VzOm5vdCg6YWN0aXZlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLCAwLjEyKTsgfVxuXG5pbnB1dC5tZGwtYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLm1kbC1idXR0b24tLXJhaXNlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTU4LDE1OCwxNTgsIDAuMjApO1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLm1kbC1idXR0b24tLXJhaXNlZDphY3RpdmUge1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTgsMTU4LDE1OCwgMC40MCk7IH1cbiAgLm1kbC1idXR0b24tLXJhaXNlZDpmb2N1czpub3QoOmFjdGl2ZSkge1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjE4KSwgMCA4cHggMTZweCByZ2JhKDAsIDAsIDAsIDAuMzYpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTU4LDE1OCwxNTgsIDAuNDApOyB9XG4gIC5tZGwtYnV0dG9uLS1yYWlzZWQubWRsLWJ1dHRvbi0tY29sb3JlZCB7XG4gICAgYmFja2dyb3VuZDogcmdiKDYzLDgxLDE4MSk7XG4gICAgY29sb3I6IHJnYigyNTUsMjU1LDI1NSk7IH1cbiAgICAubWRsLWJ1dHRvbi0tcmFpc2VkLm1kbC1idXR0b24tLWNvbG9yZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDYzLDgxLDE4MSk7IH1cbiAgICAubWRsLWJ1dHRvbi0tcmFpc2VkLm1kbC1idXR0b24tLWNvbG9yZWQ6YWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig2Myw4MSwxODEpOyB9XG4gICAgLm1kbC1idXR0b24tLXJhaXNlZC5tZGwtYnV0dG9uLS1jb2xvcmVkOmZvY3VzOm5vdCg6YWN0aXZlKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjMsODEsMTgxKTsgfVxuICAgIC5tZGwtYnV0dG9uLS1yYWlzZWQubWRsLWJ1dHRvbi0tY29sb3JlZCAubWRsLXJpcHBsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LDI1NSwyNTUpOyB9XG5cbi5tZGwtYnV0dG9uLS1mYWIge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgaGVpZ2h0OiA1NnB4O1xuICBtYXJnaW46IGF1dG87XG4gIG1pbi13aWR0aDogNTZweDtcbiAgd2lkdGg6IDU2cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6IHJnYmEoMTU4LDE1OCwxNTgsIDAuMjApO1xuICBib3gtc2hhZG93OiAwIDFweCAxLjVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMXB4IDFweCAwIHJnYmEoMCwgMCwgMCwgMC4yNCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAubWRsLWJ1dHRvbi0tZmFiIC5tYXRlcmlhbC1pY29ucyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMTJweCwgLTEycHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHdpZHRoOiAyNHB4OyB9XG4gIC5tZGwtYnV0dG9uLS1mYWIubWRsLWJ1dHRvbi0tbWluaS1mYWIge1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtaW4td2lkdGg6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7IH1cbiAgLm1kbC1idXR0b24tLWZhYiAubWRsLWJ1dHRvbl9fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCB3aGl0ZSwgYmxhY2spOyB9XG4gIC5tZGwtYnV0dG9uLS1mYWI6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAwIDRweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggNHB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTU4LDE1OCwxNTgsIDAuNDApOyB9XG4gIC5tZGwtYnV0dG9uLS1mYWI6Zm9jdXM6bm90KDphY3RpdmUpIHtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC4xOCksIDAgOHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjM2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE1OCwxNTgsMTU4LCAwLjQwKTsgfVxuICAubWRsLWJ1dHRvbi0tZmFiLm1kbC1idXR0b24tLWNvbG9yZWQge1xuICAgIGJhY2tncm91bmQ6IHJnYigyNTUsNjQsMTI5KTtcbiAgICBjb2xvcjogcmdiKDI1NSwyNTUsMjU1KTsgfVxuICAgIC5tZGwtYnV0dG9uLS1mYWIubWRsLWJ1dHRvbi0tY29sb3JlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDY0LDEyOSk7IH1cbiAgICAubWRsLWJ1dHRvbi0tZmFiLm1kbC1idXR0b24tLWNvbG9yZWQ6Zm9jdXM6bm90KDphY3RpdmUpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsNjQsMTI5KTsgfVxuICAgIC5tZGwtYnV0dG9uLS1mYWIubWRsLWJ1dHRvbi0tY29sb3JlZDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSw2NCwxMjkpOyB9XG4gICAgLm1kbC1idXR0b24tLWZhYi5tZGwtYnV0dG9uLS1jb2xvcmVkIC5tZGwtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYigyNTUsMjU1LDI1NSk7IH1cblxuLm1kbC1idXR0b24tLWljb24ge1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAubWRsLWJ1dHRvbi0taWNvbiAubWF0ZXJpYWwtaWNvbnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTEycHgsIC0xMnB4KTtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB3aWR0aDogMjRweDsgfVxuICAubWRsLWJ1dHRvbi0taWNvbi5tZGwtYnV0dG9uLS1taW5pLWljb24ge1xuICAgIGhlaWdodDogMjRweDtcbiAgICBtaW4td2lkdGg6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7IH1cbiAgICAubWRsLWJ1dHRvbi0taWNvbi5tZGwtYnV0dG9uLS1taW5pLWljb24gLm1hdGVyaWFsLWljb25zIHtcbiAgICAgIHRvcDogMHB4O1xuICAgICAgbGVmdDogMHB4OyB9XG4gIC5tZGwtYnV0dG9uLS1pY29uIC5tZGwtYnV0dG9uX19yaXBwbGUtY29udGFpbmVyIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgLXdlYmtpdC1tYXNrLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHdoaXRlLCBibGFjayk7IH1cblxuLm1kbC1idXR0b25fX3JpcHBsZS1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tZGwtYnV0dG9uW2Rpc2FibGVkXSAubWRsLWJ1dHRvbl9fcmlwcGxlLWNvbnRhaW5lciAubWRsLXJpcHBsZSxcbiAgLm1kbC1idXR0b24ubWRsLWJ1dHRvbi0tZGlzYWJsZWQgLm1kbC1idXR0b25fX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tZGwtYnV0dG9uLS1wcmltYXJ5Lm1kbC1idXR0b24tLXByaW1hcnkge1xuICBjb2xvcjogcmdiKDYzLDgxLDE4MSk7IH1cbiAgLm1kbC1idXR0b24tLXByaW1hcnkubWRsLWJ1dHRvbi0tcHJpbWFyeSAubWRsLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogcmdiKDI1NSwyNTUsMjU1KTsgfVxuICAubWRsLWJ1dHRvbi0tcHJpbWFyeS5tZGwtYnV0dG9uLS1wcmltYXJ5Lm1kbC1idXR0b24tLXJhaXNlZCwgLm1kbC1idXR0b24tLXByaW1hcnkubWRsLWJ1dHRvbi0tcHJpbWFyeS5tZGwtYnV0dG9uLS1mYWIge1xuICAgIGNvbG9yOiByZ2IoMjU1LDI1NSwyNTUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYig2Myw4MSwxODEpOyB9XG5cbi5tZGwtYnV0dG9uLS1hY2NlbnQubWRsLWJ1dHRvbi0tYWNjZW50IHtcbiAgY29sb3I6IHJnYigyNTUsNjQsMTI5KTsgfVxuICAubWRsLWJ1dHRvbi0tYWNjZW50Lm1kbC1idXR0b24tLWFjY2VudCAubWRsLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogcmdiKDI1NSwyNTUsMjU1KTsgfVxuICAubWRsLWJ1dHRvbi0tYWNjZW50Lm1kbC1idXR0b24tLWFjY2VudC5tZGwtYnV0dG9uLS1yYWlzZWQsIC5tZGwtYnV0dG9uLS1hY2NlbnQubWRsLWJ1dHRvbi0tYWNjZW50Lm1kbC1idXR0b24tLWZhYiB7XG4gICAgY29sb3I6IHJnYigyNTUsMjU1LDI1NSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSw2NCwxMjkpOyB9XG5cbi5tZGwtYnV0dG9uW2Rpc2FibGVkXVtkaXNhYmxlZF0sIC5tZGwtYnV0dG9uLm1kbC1idXR0b24tLWRpc2FibGVkLm1kbC1idXR0b24tLWRpc2FibGVkIHtcbiAgY29sb3I6IHJnYmEoMCwwLDAsIDAuMjYpO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5tZGwtYnV0dG9uLS1mYWJbZGlzYWJsZWRdW2Rpc2FibGVkXSwgLm1kbC1idXR0b24tLWZhYi5tZGwtYnV0dG9uLS1kaXNhYmxlZC5tZGwtYnV0dG9uLS1kaXNhYmxlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsIDAuMTIpO1xuICBjb2xvcjogcmdiYSgwLDAsMCwgMC4yNik7IH1cblxuLm1kbC1idXR0b24tLXJhaXNlZFtkaXNhYmxlZF1bZGlzYWJsZWRdLCAubWRsLWJ1dHRvbi0tcmFpc2VkLm1kbC1idXR0b24tLWRpc2FibGVkLm1kbC1idXR0b24tLWRpc2FibGVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwgMC4xMik7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLCAwLjI2KTtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubWRsLWJ1dHRvbi0tY29sb3JlZFtkaXNhYmxlZF1bZGlzYWJsZWRdLCAubWRsLWJ1dHRvbi0tY29sb3JlZC5tZGwtYnV0dG9uLS1kaXNhYmxlZC5tZGwtYnV0dG9uLS1kaXNhYmxlZCB7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLCAwLjI2KTsgfVxuXG4ubWRsLWJ1dHRvbiAubWF0ZXJpYWwtaWNvbnMge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU1RZTEUgR1VJREUgVkFSSUFCTEVTLS0tLS0tLS0tLS0tLS0tLS0tRGVjbGFyYXRpb25zIG9mIFNhc3MgdmFyaWFibGVzXG4gKiAtLS0tLVR5cG9ncmFwaHlcbiAqIC0tLS0tQ29sb3JzXG4gKiAtLS0tLVRleHRmaWVsZFxuICogLS0tLS1Td2l0Y2hcbiAqIC0tLS0tU3Bpbm5lclxuICogLS0tLS1SYWRpb1xuICogLS0tLS1NZW51XG4gKiAtLS0tLUxpc3RcbiAqIC0tLS0tTGF5b3V0XG4gKiAtLS0tLUljb24gdG9nZ2xlc1xuICogLS0tLS1Gb290ZXJcbiAqIC0tLS0tQ29sdW1uXG4gKiAtLS0tLUNoZWNrYm94XG4gKiAtLS0tLUNhcmRcbiAqIC0tLS0tQnV0dG9uXG4gKiAtLS0tLUFuaW1hdGlvblxuICogLS0tLS1Qcm9ncmVzc1xuICogLS0tLS1CYWRnZVxuICogLS0tLS1TaGFkb3dzXG4gKiAtLS0tLUdyaWRcbiAqIC0tLS0tRGF0YSB0YWJsZVxuICogLS0tLS1EaWFsb2dcbiAqIC0tLS0tU25hY2tiYXJcbiAqIC0tLS0tVG9vbHRpcFxuICogLS0tLS1DaGlwXG4gKlxuICogRXZlbiB0aG91Z2ggYWxsIHZhcmlhYmxlcyBoYXZlIHRoZSBgIWRlZmF1bHRgIGRpcmVjdGl2ZSwgbW9zdCBvZiB0aGVtXG4gKiBzaG91bGQgbm90IGJlIGNoYW5nZWQgYXMgdGhleSBhcmUgZGVwZW5kZW50IG9uZSBhbm90aGVyLiBUaGlzIGNhbiBjYXVzZVxuICogdmlzdWFsIGRpc3RvcnRpb25zIChsaWtlIGFsaWdubWVudCBpc3N1ZXMpIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2sgZG93blxuICogYW5kIGZpeC5cbiAqL1xuLyogPT09PT09PT09PSAgVFlQT0dSQVBIWSAgPT09PT09PT09PSAqL1xuLyogV2UncmUgc3BsaXR0aW5nIGZvbnRzIGludG8gXCJwcmVmZXJyZWRcIiBhbmQgXCJwZXJmb3JtYW5jZVwiIGluIG9yZGVyIHRvIG9wdGltaXplXG4gICBwYWdlIGxvYWRpbmcuIEZvciBpbXBvcnRhbnQgdGV4dCwgc3VjaCBhcyB0aGUgYm9keSwgd2Ugd2FudCBpdCB0byBsb2FkXG4gICBpbW1lZGlhdGVseSBhbmQgbm90IHdhaXQgZm9yIHRoZSB3ZWIgZm9udCBsb2FkLCB3aGVyZWFzIGZvciBvdGhlciBzZWN0aW9ucyxcbiAgIHN1Y2ggYXMgaGVhZGVycyBhbmQgdGl0bGVzLCB3ZSdyZSBPSyB3aXRoIHRoaW5ncyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRvIGxvYWQuXG4gICBXZSBkbyBoYXZlIHNvbWUgb3B0aW9uYWwgY2xhc3NlcyBhbmQgcGFyYW1ldGVycyBpbiB0aGUgbWl4aW5zLCBpbiBjYXNlIHlvdVxuICAgZGVmaW5pdGVseSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGhlIHByZWZlcnJlZCBmb250IGFuZCBkb24ndCBtaW5kXG4gICB0aGUgcGVyZm9ybWFuY2UgaGl0LlxuICAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gaW1wcm92ZSBvbiB0aGlzIG9uY2UgQ1NTIEZvbnQgTG9hZGluZyBMMyBiZWNvbWVzIG1vcmVcbiAgIHdpZGVseSBhdmFpbGFibGUuXG4qL1xuLyogPT09PT09PT09PSAgQ09MT1JTICA9PT09PT09PT09ICovXG4vKipcbipcbiogTWF0ZXJpYWwgZGVzaWduIGNvbG9yIHBhbGV0dGVzLlxuKiBAc2VlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS9jb2xvci5odG1sXG4qXG4qKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBDb2xvciBQYWxldHRlcyAgPT09PT09PT09PSAqL1xuLyogY29sb3JzLnNjc3MgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb21wb25lbnRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJY29uIFRvZ2dsZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJhZGlvIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJpcHBsZSBlZmZlY3QgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExheW91dCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29udGVudCBUYWJzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDaGVja2JveGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVGV4dCBmaWVsZHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENhcmQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNsaWRlcnMgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSBQcm9ncmVzcyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMaXN0ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEl0ZW0gPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRHJvcGRvd24gbWVudSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUb29sdGlwcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRm9vdGVyICA9PT09PT09PT09ICovXG4vKiBURVhURklFTEQgKi9cbi8qIFNXSVRDSCAqL1xuLyogU1BJTk5FUiAqL1xuLyogUkFESU8gKi9cbi8qIE1FTlUgKi9cbi8qIExJU1QgKi9cbi8qIExBWU9VVCAqL1xuLyogSUNPTiBUT0dHTEUgKi9cbi8qIEZPT1RFUiAqL1xuLyptZWdhLWZvb3RlciovXG4vKm1pbmktZm9vdGVyKi9cbi8qIENIRUNLQk9YICovXG4vKiBDQVJEICovXG4vKiBDYXJkIGRpbWVuc2lvbnMgKi9cbi8qIENvdmVyIGltYWdlICovXG4vKiBCVVRUT04gKi9cbi8qKlxuICpcbiAqIERpbWVuc2lvbnNcbiAqXG4gKi9cbi8qIEFOSU1BVElPTiAqL1xuLyogUFJPR1JFU1MgKi9cbi8qIEJBREdFICovXG4vKiBTSEFET1dTICovXG4vKiBHUklEICovXG4vKiBEQVRBIFRBQkxFICovXG4vKiBESUFMT0cgKi9cbi8qIFNOQUNLQkFSICovXG4vKiBUT09MVElQICovXG4vKiBDSElQICovXG4ubWRsLWNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMzMwcHg7XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiKDI1NSwyNTUsMjU1KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5tZGwtY2FyZF9fbWVkaWEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjU1LDY0LDEyOSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBwYWRkaW5nLWJveDtcbiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBzY3JvbGw7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1kbC1jYXJkX190aXRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiByZ2IoMCwwLDApO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzdHJldGNoO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBwYWRkaW5nOiAxNnB4IDE2cHg7XG4gIHBlcnNwZWN0aXZlLW9yaWdpbjogMTY1cHggNTZweDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTY1cHggNTZweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAubWRsLWNhcmRfX3RpdGxlLm1kbC1jYXJkLS1ib3JkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLm1kbC1jYXJkX190aXRsZS10ZXh0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxNDlweCA0OHB4O1xuICBtYXJnaW46IDA7IH1cblxuLm1kbC1jYXJkX19zdWJ0aXRsZS10ZXh0IHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogcmdiYSgwLDAsMCwgMC41NCk7XG4gIG1hcmdpbjogMDsgfVxuXG4ubWRsLWNhcmRfX3N1cHBvcnRpbmctdGV4dCB7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLCAwLjU0KTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMTZweCAxNnB4O1xuICB3aWR0aDogOTAlOyB9XG4gIC5tZGwtY2FyZF9fc3VwcG9ydGluZy10ZXh0Lm1kbC1jYXJkLS1ib3JkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLm1kbC1jYXJkX19hY3Rpb25zIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAubWRsLWNhcmRfX2FjdGlvbnMubWRsLWNhcmQtLWJvcmRlciB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4ubWRsLWNhcmQtLWV4cGFuZCB7XG4gIGZsZXgtZ3JvdzogMTsgfVxuXG4ubWRsLWNhcmRfX21lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNnB4O1xuICB0b3A6IDE2cHg7IH1cblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgJENPTlRFTlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBTVFlMRSBHVUlERSBWQVJJQUJMRVMtLS0tLS0tLS0tLS0tLS0tLS1EZWNsYXJhdGlvbnMgb2YgU2FzcyB2YXJpYWJsZXNcbiAqIC0tLS0tVHlwb2dyYXBoeVxuICogLS0tLS1Db2xvcnNcbiAqIC0tLS0tVGV4dGZpZWxkXG4gKiAtLS0tLVN3aXRjaFxuICogLS0tLS1TcGlubmVyXG4gKiAtLS0tLVJhZGlvXG4gKiAtLS0tLU1lbnVcbiAqIC0tLS0tTGlzdFxuICogLS0tLS1MYXlvdXRcbiAqIC0tLS0tSWNvbiB0b2dnbGVzXG4gKiAtLS0tLUZvb3RlclxuICogLS0tLS1Db2x1bW5cbiAqIC0tLS0tQ2hlY2tib3hcbiAqIC0tLS0tQ2FyZFxuICogLS0tLS1CdXR0b25cbiAqIC0tLS0tQW5pbWF0aW9uXG4gKiAtLS0tLVByb2dyZXNzXG4gKiAtLS0tLUJhZGdlXG4gKiAtLS0tLVNoYWRvd3NcbiAqIC0tLS0tR3JpZFxuICogLS0tLS1EYXRhIHRhYmxlXG4gKiAtLS0tLURpYWxvZ1xuICogLS0tLS1TbmFja2JhclxuICogLS0tLS1Ub29sdGlwXG4gKiAtLS0tLUNoaXBcbiAqXG4gKiBFdmVuIHRob3VnaCBhbGwgdmFyaWFibGVzIGhhdmUgdGhlIGAhZGVmYXVsdGAgZGlyZWN0aXZlLCBtb3N0IG9mIHRoZW1cbiAqIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcyB0aGV5IGFyZSBkZXBlbmRlbnQgb25lIGFub3RoZXIuIFRoaXMgY2FuIGNhdXNlXG4gKiB2aXN1YWwgZGlzdG9ydGlvbnMgKGxpa2UgYWxpZ25tZW50IGlzc3VlcykgdGhhdCBhcmUgaGFyZCB0byB0cmFjayBkb3duXG4gKiBhbmQgZml4LlxuICovXG4vKiA9PT09PT09PT09ICBUWVBPR1JBUEhZICA9PT09PT09PT09ICovXG4vKiBXZSdyZSBzcGxpdHRpbmcgZm9udHMgaW50byBcInByZWZlcnJlZFwiIGFuZCBcInBlcmZvcm1hbmNlXCIgaW4gb3JkZXIgdG8gb3B0aW1pemVcbiAgIHBhZ2UgbG9hZGluZy4gRm9yIGltcG9ydGFudCB0ZXh0LCBzdWNoIGFzIHRoZSBib2R5LCB3ZSB3YW50IGl0IHRvIGxvYWRcbiAgIGltbWVkaWF0ZWx5IGFuZCBub3Qgd2FpdCBmb3IgdGhlIHdlYiBmb250IGxvYWQsIHdoZXJlYXMgZm9yIG90aGVyIHNlY3Rpb25zLFxuICAgc3VjaCBhcyBoZWFkZXJzIGFuZCB0aXRsZXMsIHdlJ3JlIE9LIHdpdGggdGhpbmdzIHRha2luZyBhIGJpdCBsb25nZXIgdG8gbG9hZC5cbiAgIFdlIGRvIGhhdmUgc29tZSBvcHRpb25hbCBjbGFzc2VzIGFuZCBwYXJhbWV0ZXJzIGluIHRoZSBtaXhpbnMsIGluIGNhc2UgeW91XG4gICBkZWZpbml0ZWx5IHdhbnQgdG8gbWFrZSBzdXJlIHlvdSdyZSB1c2luZyB0aGUgcHJlZmVycmVkIGZvbnQgYW5kIGRvbid0IG1pbmRcbiAgIHRoZSBwZXJmb3JtYW5jZSBoaXQuXG4gICBXZSBzaG91bGQgYmUgYWJsZSB0byBpbXByb3ZlIG9uIHRoaXMgb25jZSBDU1MgRm9udCBMb2FkaW5nIEwzIGJlY29tZXMgbW9yZVxuICAgd2lkZWx5IGF2YWlsYWJsZS5cbiovXG4vKiA9PT09PT09PT09ICBDT0xPUlMgID09PT09PT09PT0gKi9cbi8qKlxuKlxuKiBNYXRlcmlhbCBkZXNpZ24gY29sb3IgcGFsZXR0ZXMuXG4qIEBzZWUgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWxcbipcbioqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIENvbG9yIFBhbGV0dGVzICA9PT09PT09PT09ICovXG4vKiBjb2xvcnMuc2NzcyAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIElNQUdFUyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgJiBUaGVtZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFR5cG9ncmFwaHkgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbXBvbmVudHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN0YW5kYXJkIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEljb24gVG9nZ2xlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmFkaW8gQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmlwcGxlIGVmZmVjdCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGF5b3V0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb250ZW50IFRhYnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENoZWNrYm94ZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN3aXRjaGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTcGlubmVyICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUZXh0IGZpZWxkcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2FyZCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU2xpZGVycyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09IFByb2dyZXNzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExpc3QgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSXRlbSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBEcm9wZG93biBtZW51ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRvb2x0aXBzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBGb290ZXIgID09PT09PT09PT0gKi9cbi8qIFRFWFRGSUVMRCAqL1xuLyogU1dJVENIICovXG4vKiBTUElOTkVSICovXG4vKiBSQURJTyAqL1xuLyogTUVOVSAqL1xuLyogTElTVCAqL1xuLyogTEFZT1VUICovXG4vKiBJQ09OIFRPR0dMRSAqL1xuLyogRk9PVEVSICovXG4vKm1lZ2EtZm9vdGVyKi9cbi8qbWluaS1mb290ZXIqL1xuLyogQ0hFQ0tCT1ggKi9cbi8qIENBUkQgKi9cbi8qIENhcmQgZGltZW5zaW9ucyAqL1xuLyogQ292ZXIgaW1hZ2UgKi9cbi8qIEJVVFRPTiAqL1xuLyoqXG4gKlxuICogRGltZW5zaW9uc1xuICpcbiAqL1xuLyogQU5JTUFUSU9OICovXG4vKiBQUk9HUkVTUyAqL1xuLyogQkFER0UgKi9cbi8qIFNIQURPV1MgKi9cbi8qIEdSSUQgKi9cbi8qIERBVEEgVEFCTEUgKi9cbi8qIERJQUxPRyAqL1xuLyogU05BQ0tCQVIgKi9cbi8qIFRPT0xUSVAgKi9cbi8qIENISVAgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiBUeXBvZ3JhcGh5ICovXG4vKiBTaGFkb3dzICovXG4vKiBBbmltYXRpb25zICovXG4vKiBEaWFsb2cgKi9cbi5tZGwtY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG4gIC5tZGwtY2hlY2tib3guaXMtdXBncmFkZWQge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxuXG4ubWRsLWNoZWNrYm94X19pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gIC5tZGwtY2hlY2tib3guaXMtdXBncmFkZWQgLm1kbC1jaGVja2JveF9faW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi5tZGwtY2hlY2tib3hfX2JveC1vdXRsaW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDNweDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLDAsMCwgMC41NCk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgei1pbmRleDogMjsgfVxuICAubWRsLWNoZWNrYm94LmlzLWNoZWNrZWQgLm1kbC1jaGVja2JveF9fYm94LW91dGxpbmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYig2Myw4MSwxODEpOyB9XG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX2JveC1vdXRsaW5lLFxuICAubWRsLWNoZWNrYm94LmlzLWRpc2FibGVkIC5tZGwtY2hlY2tib3hfX2JveC1vdXRsaW5lIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsMCwwLCAwLjI2KTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLm1kbC1jaGVja2JveF9fZm9jdXMtaGVscGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDNweDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZGwtY2hlY2tib3guaXMtZm9jdXNlZCAubWRsLWNoZWNrYm94X19mb2N1cy1oZWxwZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLm1kbC1jaGVja2JveC5pcy1mb2N1c2VkLmlzLWNoZWNrZWQgLm1kbC1jaGVja2JveF9fZm9jdXMtaGVscGVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMHB4IDhweCByZ2JhKDYzLDgxLDE4MSwgMC4yNik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2Myw4MSwxODEsIDAuMjYpOyB9XG5cbi5tZGwtY2hlY2tib3hfX3RpY2stb3V0bGluZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXNrOiB1cmwoXCIuLi9pbWFnZXMvdGljay1tYXNrLnN2Zz9lbWJlZFwiKTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjhzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDsgfVxuICAubWRsLWNoZWNrYm94LmlzLWNoZWNrZWQgLm1kbC1jaGVja2JveF9fdGljay1vdXRsaW5lIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoNjMsODEsMTgxKSB1cmwoXCIuLi9pbWFnZXMvdGljay5zdmc/ZW1iZWRcIik7IH1cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtY2hlY2tib3guaXMtY2hlY2tlZCAubWRsLWNoZWNrYm94X190aWNrLW91dGxpbmUsXG4gIC5tZGwtY2hlY2tib3guaXMtY2hlY2tlZC5pcy1kaXNhYmxlZCAubWRsLWNoZWNrYm94X190aWNrLW91dGxpbmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDAuMjYpIHVybChcIi4uL2ltYWdlcy90aWNrLnN2Zz9lbWJlZFwiKTsgfVxuXG4ubWRsLWNoZWNrYm94X19sYWJlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDA7IH1cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtY2hlY2tib3ggLm1kbC1jaGVja2JveF9fbGFiZWwsXG4gIC5tZGwtY2hlY2tib3guaXMtZGlzYWJsZWQgLm1kbC1jaGVja2JveF9fbGFiZWwge1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLCAwLjI2KTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLm1kbC1jaGVja2JveF9fcmlwcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAtNnB4O1xuICBsZWZ0OiAtMTBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCB3aGl0ZSwgYmxhY2spOyB9XG4gIC5tZGwtY2hlY2tib3hfX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYig2Myw4MSwxODEpOyB9XG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX3JpcHBsZS1jb250YWluZXIsXG4gIC5tZGwtY2hlY2tib3guaXMtZGlzYWJsZWQgLm1kbC1jaGVja2JveF9fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUsXG4gIC5tZGwtY2hlY2tib3guaXMtZGlzYWJsZWQgLm1kbC1jaGVja2JveF9fcmlwcGxlLWNvbnRhaW5lciAubWRsLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgJENPTlRFTlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBTVFlMRSBHVUlERSBWQVJJQUJMRVMtLS0tLS0tLS0tLS0tLS0tLS1EZWNsYXJhdGlvbnMgb2YgU2FzcyB2YXJpYWJsZXNcbiAqIC0tLS0tVHlwb2dyYXBoeVxuICogLS0tLS1Db2xvcnNcbiAqIC0tLS0tVGV4dGZpZWxkXG4gKiAtLS0tLVN3aXRjaFxuICogLS0tLS1TcGlubmVyXG4gKiAtLS0tLVJhZGlvXG4gKiAtLS0tLU1lbnVcbiAqIC0tLS0tTGlzdFxuICogLS0tLS1MYXlvdXRcbiAqIC0tLS0tSWNvbiB0b2dnbGVzXG4gKiAtLS0tLUZvb3RlclxuICogLS0tLS1Db2x1bW5cbiAqIC0tLS0tQ2hlY2tib3hcbiAqIC0tLS0tQ2FyZFxuICogLS0tLS1CdXR0b25cbiAqIC0tLS0tQW5pbWF0aW9uXG4gKiAtLS0tLVByb2dyZXNzXG4gKiAtLS0tLUJhZGdlXG4gKiAtLS0tLVNoYWRvd3NcbiAqIC0tLS0tR3JpZFxuICogLS0tLS1EYXRhIHRhYmxlXG4gKiAtLS0tLURpYWxvZ1xuICogLS0tLS1TbmFja2JhclxuICogLS0tLS1Ub29sdGlwXG4gKiAtLS0tLUNoaXBcbiAqXG4gKiBFdmVuIHRob3VnaCBhbGwgdmFyaWFibGVzIGhhdmUgdGhlIGAhZGVmYXVsdGAgZGlyZWN0aXZlLCBtb3N0IG9mIHRoZW1cbiAqIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcyB0aGV5IGFyZSBkZXBlbmRlbnQgb25lIGFub3RoZXIuIFRoaXMgY2FuIGNhdXNlXG4gKiB2aXN1YWwgZGlzdG9ydGlvbnMgKGxpa2UgYWxpZ25tZW50IGlzc3VlcykgdGhhdCBhcmUgaGFyZCB0byB0cmFjayBkb3duXG4gKiBhbmQgZml4LlxuICovXG4vKiA9PT09PT09PT09ICBUWVBPR1JBUEhZICA9PT09PT09PT09ICovXG4vKiBXZSdyZSBzcGxpdHRpbmcgZm9udHMgaW50byBcInByZWZlcnJlZFwiIGFuZCBcInBlcmZvcm1hbmNlXCIgaW4gb3JkZXIgdG8gb3B0aW1pemVcbiAgIHBhZ2UgbG9hZGluZy4gRm9yIGltcG9ydGFudCB0ZXh0LCBzdWNoIGFzIHRoZSBib2R5LCB3ZSB3YW50IGl0IHRvIGxvYWRcbiAgIGltbWVkaWF0ZWx5IGFuZCBub3Qgd2FpdCBmb3IgdGhlIHdlYiBmb250IGxvYWQsIHdoZXJlYXMgZm9yIG90aGVyIHNlY3Rpb25zLFxuICAgc3VjaCBhcyBoZWFkZXJzIGFuZCB0aXRsZXMsIHdlJ3JlIE9LIHdpdGggdGhpbmdzIHRha2luZyBhIGJpdCBsb25nZXIgdG8gbG9hZC5cbiAgIFdlIGRvIGhhdmUgc29tZSBvcHRpb25hbCBjbGFzc2VzIGFuZCBwYXJhbWV0ZXJzIGluIHRoZSBtaXhpbnMsIGluIGNhc2UgeW91XG4gICBkZWZpbml0ZWx5IHdhbnQgdG8gbWFrZSBzdXJlIHlvdSdyZSB1c2luZyB0aGUgcHJlZmVycmVkIGZvbnQgYW5kIGRvbid0IG1pbmRcbiAgIHRoZSBwZXJmb3JtYW5jZSBoaXQuXG4gICBXZSBzaG91bGQgYmUgYWJsZSB0byBpbXByb3ZlIG9uIHRoaXMgb25jZSBDU1MgRm9udCBMb2FkaW5nIEwzIGJlY29tZXMgbW9yZVxuICAgd2lkZWx5IGF2YWlsYWJsZS5cbiovXG4vKiA9PT09PT09PT09ICBDT0xPUlMgID09PT09PT09PT0gKi9cbi8qKlxuKlxuKiBNYXRlcmlhbCBkZXNpZ24gY29sb3IgcGFsZXR0ZXMuXG4qIEBzZWUgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWxcbipcbioqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIENvbG9yIFBhbGV0dGVzICA9PT09PT09PT09ICovXG4vKiBjb2xvcnMuc2NzcyAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIElNQUdFUyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgJiBUaGVtZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFR5cG9ncmFwaHkgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbXBvbmVudHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN0YW5kYXJkIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEljb24gVG9nZ2xlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmFkaW8gQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmlwcGxlIGVmZmVjdCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGF5b3V0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb250ZW50IFRhYnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENoZWNrYm94ZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN3aXRjaGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTcGlubmVyICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUZXh0IGZpZWxkcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2FyZCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU2xpZGVycyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09IFByb2dyZXNzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExpc3QgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSXRlbSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBEcm9wZG93biBtZW51ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRvb2x0aXBzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBGb290ZXIgID09PT09PT09PT0gKi9cbi8qIFRFWFRGSUVMRCAqL1xuLyogU1dJVENIICovXG4vKiBTUElOTkVSICovXG4vKiBSQURJTyAqL1xuLyogTUVOVSAqL1xuLyogTElTVCAqL1xuLyogTEFZT1VUICovXG4vKiBJQ09OIFRPR0dMRSAqL1xuLyogRk9PVEVSICovXG4vKm1lZ2EtZm9vdGVyKi9cbi8qbWluaS1mb290ZXIqL1xuLyogQ0hFQ0tCT1ggKi9cbi8qIENBUkQgKi9cbi8qIENhcmQgZGltZW5zaW9ucyAqL1xuLyogQ292ZXIgaW1hZ2UgKi9cbi8qIEJVVFRPTiAqL1xuLyoqXG4gKlxuICogRGltZW5zaW9uc1xuICpcbiAqL1xuLyogQU5JTUFUSU9OICovXG4vKiBQUk9HUkVTUyAqL1xuLyogQkFER0UgKi9cbi8qIFNIQURPV1MgKi9cbi8qIEdSSUQgKi9cbi8qIERBVEEgVEFCTEUgKi9cbi8qIERJQUxPRyAqL1xuLyogU05BQ0tCQVIgKi9cbi8qIFRPT0xUSVAgKi9cbi8qIENISVAgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiBUeXBvZ3JhcGh5ICovXG4vKiBTaGFkb3dzICovXG4vKiBBbmltYXRpb25zICovXG4vKiBEaWFsb2cgKi9cbi5tZGwtY2hpcCB7XG4gIGhlaWdodDogMzJweDtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIHBhZGRpbmc6IDAgMTJweDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiByZ2JhKDAsMCwwLCAwLjg3KTtcbiAgbWFyZ2luOiAycHggMDtcbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5tZGwtY2hpcF9fdGV4dCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZGwtY2hpcF9fYWN0aW9uIHtcbiAgICBoZWlnaHQ6IDI0cHg7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgb3BhY2l0eTogMC41NDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIDAgMCA0cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwgMC44Nyk7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubWRsLWNoaXBfX2NvbnRhY3Qge1xuICAgIGhlaWdodDogMzJweDtcbiAgICB3aWR0aDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDsgfVxuICAubWRsLWNoaXA6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5tZGwtY2hpcDphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkNmQ2ZDY7IH1cbiAgLm1kbC1jaGlwLS1kZWxldGFibGUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDsgfVxuICAubWRsLWNoaXAtLWNvbnRhY3Qge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIFR5cG9ncmFwaHkgKi9cbi8qIFNoYWRvd3MgKi9cbi8qIEFuaW1hdGlvbnMgKi9cbi8qIERpYWxvZyAqL1xuLm1kbC1kYXRhLXRhYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjU1LDI1NSk7IH1cbiAgLm1kbC1kYXRhLXRhYmxlIHRoZWFkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4OyB9XG4gICAgLm1kbC1kYXRhLXRhYmxlIHRoZWFkIC5tZGwtZGF0YS10YWJsZV9fc2VsZWN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLm1kbC1kYXRhLXRhYmxlIHRib2R5IHRyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjhzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7IH1cbiAgICAubWRsLWRhdGEtdGFibGUgdGJvZHkgdHIuaXMtc2VsZWN0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDsgfVxuICAgIC5tZGwtZGF0YS10YWJsZSB0Ym9keSB0cjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5tZGwtZGF0YS10YWJsZSB0ZCwgLm1kbC1kYXRhLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAwIDE4cHggMTJweCAxOHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLm1kbC1kYXRhLXRhYmxlIHRkOmZpcnN0LW9mLXR5cGUsIC5tZGwtZGF0YS10YWJsZSB0aDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxuICAgIC5tZGwtZGF0YS10YWJsZSB0ZDpsYXN0LW9mLXR5cGUsIC5tZGwtZGF0YS10YWJsZSB0aDpsYXN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMjRweDsgfVxuICAubWRsLWRhdGEtdGFibGUgdGQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGhlaWdodDogNDhweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLm1kbC1kYXRhLXRhYmxlIHRkIC5tZGwtZGF0YS10YWJsZV9fc2VsZWN0IHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1kbC1kYXRhLXRhYmxlIHRoIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjU0KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAubWRsLWRhdGEtdGFibGUgdGgubWRsLWRhdGEtdGFibGVfX2hlYWRlci0tc29ydGVkLWFzY2VuZGluZywgLm1kbC1kYXRhLXRhYmxlIHRoLm1kbC1kYXRhLXRhYmxlX19oZWFkZXItLXNvcnRlZC1kZXNjZW5kaW5nIHtcbiAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODcpOyB9XG4gICAgICAubWRsLWRhdGEtdGFibGUgdGgubWRsLWRhdGEtdGFibGVfX2hlYWRlci0tc29ydGVkLWFzY2VuZGluZzpiZWZvcmUsIC5tZGwtZGF0YS10YWJsZSB0aC5tZGwtZGF0YS10YWJsZV9faGVhZGVyLS1zb3J0ZWQtZGVzY2VuZGluZzpiZWZvcmUge1xuICAgICAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgICAgICAgZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAgIC13ZWJraXQtZm9udC1mZWF0dXJlLXNldHRpbmdzOiAnbGlnYSc7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNWQ4XCI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViOyB9XG4gICAgICAubWRsLWRhdGEtdGFibGUgdGgubWRsLWRhdGEtdGFibGVfX2hlYWRlci0tc29ydGVkLWFzY2VuZGluZzpob3ZlciwgLm1kbC1kYXRhLXRhYmxlIHRoLm1kbC1kYXRhLXRhYmxlX19oZWFkZXItLXNvcnRlZC1kZXNjZW5kaW5nOmhvdmVyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIC5tZGwtZGF0YS10YWJsZSB0aC5tZGwtZGF0YS10YWJsZV9faGVhZGVyLS1zb3J0ZWQtYXNjZW5kaW5nOmhvdmVyOmJlZm9yZSwgLm1kbC1kYXRhLXRhYmxlIHRoLm1kbC1kYXRhLXRhYmxlX19oZWFkZXItLXNvcnRlZC1kZXNjZW5kaW5nOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNik7IH1cbiAgICAubWRsLWRhdGEtdGFibGUgdGgubWRsLWRhdGEtdGFibGVfX2hlYWRlci0tc29ydGVkLWRlc2NlbmRpbmc6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlNWRiXCI7IH1cblxuLm1kbC1kYXRhLXRhYmxlX19zZWxlY3Qge1xuICB3aWR0aDogMTZweDsgfVxuXG4ubWRsLWRhdGEtdGFibGVfX2NlbGwtLW5vbi1udW1lcmljLm1kbC1kYXRhLXRhYmxlX19jZWxsLS1ub24tbnVtZXJpYyB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgJENPTlRFTlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBTVFlMRSBHVUlERSBWQVJJQUJMRVMtLS0tLS0tLS0tLS0tLS0tLS1EZWNsYXJhdGlvbnMgb2YgU2FzcyB2YXJpYWJsZXNcbiAqIC0tLS0tVHlwb2dyYXBoeVxuICogLS0tLS1Db2xvcnNcbiAqIC0tLS0tVGV4dGZpZWxkXG4gKiAtLS0tLVN3aXRjaFxuICogLS0tLS1TcGlubmVyXG4gKiAtLS0tLVJhZGlvXG4gKiAtLS0tLU1lbnVcbiAqIC0tLS0tTGlzdFxuICogLS0tLS1MYXlvdXRcbiAqIC0tLS0tSWNvbiB0b2dnbGVzXG4gKiAtLS0tLUZvb3RlclxuICogLS0tLS1Db2x1bW5cbiAqIC0tLS0tQ2hlY2tib3hcbiAqIC0tLS0tQ2FyZFxuICogLS0tLS1CdXR0b25cbiAqIC0tLS0tQW5pbWF0aW9uXG4gKiAtLS0tLVByb2dyZXNzXG4gKiAtLS0tLUJhZGdlXG4gKiAtLS0tLVNoYWRvd3NcbiAqIC0tLS0tR3JpZFxuICogLS0tLS1EYXRhIHRhYmxlXG4gKiAtLS0tLURpYWxvZ1xuICogLS0tLS1TbmFja2JhclxuICogLS0tLS1Ub29sdGlwXG4gKiAtLS0tLUNoaXBcbiAqXG4gKiBFdmVuIHRob3VnaCBhbGwgdmFyaWFibGVzIGhhdmUgdGhlIGAhZGVmYXVsdGAgZGlyZWN0aXZlLCBtb3N0IG9mIHRoZW1cbiAqIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcyB0aGV5IGFyZSBkZXBlbmRlbnQgb25lIGFub3RoZXIuIFRoaXMgY2FuIGNhdXNlXG4gKiB2aXN1YWwgZGlzdG9ydGlvbnMgKGxpa2UgYWxpZ25tZW50IGlzc3VlcykgdGhhdCBhcmUgaGFyZCB0byB0cmFjayBkb3duXG4gKiBhbmQgZml4LlxuICovXG4vKiA9PT09PT09PT09ICBUWVBPR1JBUEhZICA9PT09PT09PT09ICovXG4vKiBXZSdyZSBzcGxpdHRpbmcgZm9udHMgaW50byBcInByZWZlcnJlZFwiIGFuZCBcInBlcmZvcm1hbmNlXCIgaW4gb3JkZXIgdG8gb3B0aW1pemVcbiAgIHBhZ2UgbG9hZGluZy4gRm9yIGltcG9ydGFudCB0ZXh0LCBzdWNoIGFzIHRoZSBib2R5LCB3ZSB3YW50IGl0IHRvIGxvYWRcbiAgIGltbWVkaWF0ZWx5IGFuZCBub3Qgd2FpdCBmb3IgdGhlIHdlYiBmb250IGxvYWQsIHdoZXJlYXMgZm9yIG90aGVyIHNlY3Rpb25zLFxuICAgc3VjaCBhcyBoZWFkZXJzIGFuZCB0aXRsZXMsIHdlJ3JlIE9LIHdpdGggdGhpbmdzIHRha2luZyBhIGJpdCBsb25nZXIgdG8gbG9hZC5cbiAgIFdlIGRvIGhhdmUgc29tZSBvcHRpb25hbCBjbGFzc2VzIGFuZCBwYXJhbWV0ZXJzIGluIHRoZSBtaXhpbnMsIGluIGNhc2UgeW91XG4gICBkZWZpbml0ZWx5IHdhbnQgdG8gbWFrZSBzdXJlIHlvdSdyZSB1c2luZyB0aGUgcHJlZmVycmVkIGZvbnQgYW5kIGRvbid0IG1pbmRcbiAgIHRoZSBwZXJmb3JtYW5jZSBoaXQuXG4gICBXZSBzaG91bGQgYmUgYWJsZSB0byBpbXByb3ZlIG9uIHRoaXMgb25jZSBDU1MgRm9udCBMb2FkaW5nIEwzIGJlY29tZXMgbW9yZVxuICAgd2lkZWx5IGF2YWlsYWJsZS5cbiovXG4vKiA9PT09PT09PT09ICBDT0xPUlMgID09PT09PT09PT0gKi9cbi8qKlxuKlxuKiBNYXRlcmlhbCBkZXNpZ24gY29sb3IgcGFsZXR0ZXMuXG4qIEBzZWUgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWxcbipcbioqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIENvbG9yIFBhbGV0dGVzICA9PT09PT09PT09ICovXG4vKiBjb2xvcnMuc2NzcyAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIElNQUdFUyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgJiBUaGVtZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFR5cG9ncmFwaHkgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbXBvbmVudHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN0YW5kYXJkIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEljb24gVG9nZ2xlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmFkaW8gQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmlwcGxlIGVmZmVjdCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGF5b3V0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb250ZW50IFRhYnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENoZWNrYm94ZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN3aXRjaGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTcGlubmVyICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUZXh0IGZpZWxkcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2FyZCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU2xpZGVycyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09IFByb2dyZXNzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExpc3QgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSXRlbSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBEcm9wZG93biBtZW51ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRvb2x0aXBzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBGb290ZXIgID09PT09PT09PT0gKi9cbi8qIFRFWFRGSUVMRCAqL1xuLyogU1dJVENIICovXG4vKiBTUElOTkVSICovXG4vKiBSQURJTyAqL1xuLyogTUVOVSAqL1xuLyogTElTVCAqL1xuLyogTEFZT1VUICovXG4vKiBJQ09OIFRPR0dMRSAqL1xuLyogRk9PVEVSICovXG4vKm1lZ2EtZm9vdGVyKi9cbi8qbWluaS1mb290ZXIqL1xuLyogQ0hFQ0tCT1ggKi9cbi8qIENBUkQgKi9cbi8qIENhcmQgZGltZW5zaW9ucyAqL1xuLyogQ292ZXIgaW1hZ2UgKi9cbi8qIEJVVFRPTiAqL1xuLyoqXG4gKlxuICogRGltZW5zaW9uc1xuICpcbiAqL1xuLyogQU5JTUFUSU9OICovXG4vKiBQUk9HUkVTUyAqL1xuLyogQkFER0UgKi9cbi8qIFNIQURPV1MgKi9cbi8qIEdSSUQgKi9cbi8qIERBVEEgVEFCTEUgKi9cbi8qIERJQUxPRyAqL1xuLyogU05BQ0tCQVIgKi9cbi8qIFRPT0xUSVAgKi9cbi8qIENISVAgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiBUeXBvZ3JhcGh5ICovXG4vKiBTaGFkb3dzICovXG4vKiBBbmltYXRpb25zICovXG4vKiBEaWFsb2cgKi9cbi5tZGwtZGlhbG9nIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAwIDlweCA0NnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDExcHggMTVweCAtN3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIDAgMjRweCAzOHB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHdpZHRoOiAyODBweDsgfVxuICAubWRsLWRpYWxvZ19fdGl0bGUge1xuICAgIHBhZGRpbmc6IDI0cHggMjRweCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICAubWRsLWRpYWxvZ19fYWN0aW9ucyB7XG4gICAgcGFkZGluZzogOHB4IDhweCA4cHggMjRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWRsLWRpYWxvZ19fYWN0aW9ucyA+ICoge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICBoZWlnaHQ6IDM2cHg7IH1cbiAgICAgIC5tZGwtZGlhbG9nX19hY3Rpb25zID4gKjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5tZGwtZGlhbG9nX19hY3Rpb25zLS1mdWxsLXdpZHRoIHtcbiAgICAgIHBhZGRpbmc6IDAgMCA4cHggMDsgfVxuICAgICAgLm1kbC1kaWFsb2dfX2FjdGlvbnMtLWZ1bGwtd2lkdGggPiAqIHtcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubWRsLWRpYWxvZ19fY29udGVudCB7XG4gICAgcGFkZGluZzogMjBweCAyNHB4IDI0cHggMjRweDtcbiAgICBjb2xvcjogcmdiYSgwLDAsMCwgMC41NCk7IH1cblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgJENPTlRFTlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBTVFlMRSBHVUlERSBWQVJJQUJMRVMtLS0tLS0tLS0tLS0tLS0tLS1EZWNsYXJhdGlvbnMgb2YgU2FzcyB2YXJpYWJsZXNcbiAqIC0tLS0tVHlwb2dyYXBoeVxuICogLS0tLS1Db2xvcnNcbiAqIC0tLS0tVGV4dGZpZWxkXG4gKiAtLS0tLVN3aXRjaFxuICogLS0tLS1TcGlubmVyXG4gKiAtLS0tLVJhZGlvXG4gKiAtLS0tLU1lbnVcbiAqIC0tLS0tTGlzdFxuICogLS0tLS1MYXlvdXRcbiAqIC0tLS0tSWNvbiB0b2dnbGVzXG4gKiAtLS0tLUZvb3RlclxuICogLS0tLS1Db2x1bW5cbiAqIC0tLS0tQ2hlY2tib3hcbiAqIC0tLS0tQ2FyZFxuICogLS0tLS1CdXR0b25cbiAqIC0tLS0tQW5pbWF0aW9uXG4gKiAtLS0tLVByb2dyZXNzXG4gKiAtLS0tLUJhZGdlXG4gKiAtLS0tLVNoYWRvd3NcbiAqIC0tLS0tR3JpZFxuICogLS0tLS1EYXRhIHRhYmxlXG4gKiAtLS0tLURpYWxvZ1xuICogLS0tLS1TbmFja2JhclxuICogLS0tLS1Ub29sdGlwXG4gKiAtLS0tLUNoaXBcbiAqXG4gKiBFdmVuIHRob3VnaCBhbGwgdmFyaWFibGVzIGhhdmUgdGhlIGAhZGVmYXVsdGAgZGlyZWN0aXZlLCBtb3N0IG9mIHRoZW1cbiAqIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcyB0aGV5IGFyZSBkZXBlbmRlbnQgb25lIGFub3RoZXIuIFRoaXMgY2FuIGNhdXNlXG4gKiB2aXN1YWwgZGlzdG9ydGlvbnMgKGxpa2UgYWxpZ25tZW50IGlzc3VlcykgdGhhdCBhcmUgaGFyZCB0byB0cmFjayBkb3duXG4gKiBhbmQgZml4LlxuICovXG4vKiA9PT09PT09PT09ICBUWVBPR1JBUEhZICA9PT09PT09PT09ICovXG4vKiBXZSdyZSBzcGxpdHRpbmcgZm9udHMgaW50byBcInByZWZlcnJlZFwiIGFuZCBcInBlcmZvcm1hbmNlXCIgaW4gb3JkZXIgdG8gb3B0aW1pemVcbiAgIHBhZ2UgbG9hZGluZy4gRm9yIGltcG9ydGFudCB0ZXh0LCBzdWNoIGFzIHRoZSBib2R5LCB3ZSB3YW50IGl0IHRvIGxvYWRcbiAgIGltbWVkaWF0ZWx5IGFuZCBub3Qgd2FpdCBmb3IgdGhlIHdlYiBmb250IGxvYWQsIHdoZXJlYXMgZm9yIG90aGVyIHNlY3Rpb25zLFxuICAgc3VjaCBhcyBoZWFkZXJzIGFuZCB0aXRsZXMsIHdlJ3JlIE9LIHdpdGggdGhpbmdzIHRha2luZyBhIGJpdCBsb25nZXIgdG8gbG9hZC5cbiAgIFdlIGRvIGhhdmUgc29tZSBvcHRpb25hbCBjbGFzc2VzIGFuZCBwYXJhbWV0ZXJzIGluIHRoZSBtaXhpbnMsIGluIGNhc2UgeW91XG4gICBkZWZpbml0ZWx5IHdhbnQgdG8gbWFrZSBzdXJlIHlvdSdyZSB1c2luZyB0aGUgcHJlZmVycmVkIGZvbnQgYW5kIGRvbid0IG1pbmRcbiAgIHRoZSBwZXJmb3JtYW5jZSBoaXQuXG4gICBXZSBzaG91bGQgYmUgYWJsZSB0byBpbXByb3ZlIG9uIHRoaXMgb25jZSBDU1MgRm9udCBMb2FkaW5nIEwzIGJlY29tZXMgbW9yZVxuICAgd2lkZWx5IGF2YWlsYWJsZS5cbiovXG4vKiA9PT09PT09PT09ICBDT0xPUlMgID09PT09PT09PT0gKi9cbi8qKlxuKlxuKiBNYXRlcmlhbCBkZXNpZ24gY29sb3IgcGFsZXR0ZXMuXG4qIEBzZWUgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWxcbipcbioqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIENvbG9yIFBhbGV0dGVzICA9PT09PT09PT09ICovXG4vKiBjb2xvcnMuc2NzcyAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIElNQUdFUyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgJiBUaGVtZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFR5cG9ncmFwaHkgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbXBvbmVudHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN0YW5kYXJkIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEljb24gVG9nZ2xlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmFkaW8gQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmlwcGxlIGVmZmVjdCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGF5b3V0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb250ZW50IFRhYnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENoZWNrYm94ZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN3aXRjaGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTcGlubmVyICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUZXh0IGZpZWxkcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2FyZCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU2xpZGVycyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09IFByb2dyZXNzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExpc3QgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSXRlbSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBEcm9wZG93biBtZW51ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRvb2x0aXBzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBGb290ZXIgID09PT09PT09PT0gKi9cbi8qIFRFWFRGSUVMRCAqL1xuLyogU1dJVENIICovXG4vKiBTUElOTkVSICovXG4vKiBSQURJTyAqL1xuLyogTUVOVSAqL1xuLyogTElTVCAqL1xuLyogTEFZT1VUICovXG4vKiBJQ09OIFRPR0dMRSAqL1xuLyogRk9PVEVSICovXG4vKm1lZ2EtZm9vdGVyKi9cbi8qbWluaS1mb290ZXIqL1xuLyogQ0hFQ0tCT1ggKi9cbi8qIENBUkQgKi9cbi8qIENhcmQgZGltZW5zaW9ucyAqL1xuLyogQ292ZXIgaW1hZ2UgKi9cbi8qIEJVVFRPTiAqL1xuLyoqXG4gKlxuICogRGltZW5zaW9uc1xuICpcbiAqL1xuLyogQU5JTUFUSU9OICovXG4vKiBQUk9HUkVTUyAqL1xuLyogQkFER0UgKi9cbi8qIFNIQURPV1MgKi9cbi8qIEdSSUQgKi9cbi8qIERBVEEgVEFCTEUgKi9cbi8qIERJQUxPRyAqL1xuLyogU05BQ0tCQVIgKi9cbi8qIFRPT0xUSVAgKi9cbi8qIENISVAgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiBUeXBvZ3JhcGh5ICovXG4vKiBTaGFkb3dzICovXG4vKiBBbmltYXRpb25zICovXG4vKiBEaWFsb2cgKi9cbi5tZGwtbWVnYS1mb290ZXIge1xuICBwYWRkaW5nOiAxNnB4IDQwcHg7XG4gIGNvbG9yOiByZ2IoMTU4LDE1OCwxNTgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjYsNjYsNjYpOyB9XG5cbi5tZGwtbWVnYS1mb290ZXItLXRvcC1zZWN0aW9uOmFmdGVyLFxuLm1kbC1tZWdhLWZvb3Rlci0tbWlkZGxlLXNlY3Rpb246YWZ0ZXIsXG4ubWRsLW1lZ2EtZm9vdGVyLS1ib3R0b20tc2VjdGlvbjphZnRlcixcbi5tZGwtbWVnYS1mb290ZXJfX3RvcC1zZWN0aW9uOmFmdGVyLFxuLm1kbC1tZWdhLWZvb3Rlcl9fbWlkZGxlLXNlY3Rpb246YWZ0ZXIsXG4ubWRsLW1lZ2EtZm9vdGVyX19ib3R0b20tc2VjdGlvbjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7IH1cblxuLm1kbC1tZWdhLWZvb3Rlci0tbGVmdC1zZWN0aW9uLFxuLm1kbC1tZWdhLWZvb3Rlcl9fbGVmdC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuXG4ubWRsLW1lZ2EtZm9vdGVyLS1yaWdodC1zZWN0aW9uLFxuLm1kbC1tZWdhLWZvb3Rlcl9fcmlnaHQtc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cblxuLm1kbC1tZWdhLWZvb3Rlci0tcmlnaHQtc2VjdGlvbiBhLFxuLm1kbC1tZWdhLWZvb3Rlcl9fcmlnaHQtc2VjdGlvbiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgLm1kbC1tZWdhLWZvb3Rlci0tbGVmdC1zZWN0aW9uLFxuICAubWRsLW1lZ2EtZm9vdGVyX19sZWZ0LXNlY3Rpb24ge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZGwtbWVnYS1mb290ZXItLXJpZ2h0LXNlY3Rpb24sXG4gIC5tZGwtbWVnYS1mb290ZXJfX3JpZ2h0LXNlY3Rpb24ge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWRsLW1lZ2EtZm9vdGVyLS1yaWdodC1zZWN0aW9uIGEsXG4gIC5tZGwtbWVnYS1mb290ZXJfX3JpZ2h0LXNlY3Rpb24gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNnB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gfVxuXG4ubWRsLW1lZ2EtZm9vdGVyLS1zb2NpYWwtYnRuLFxuLm1kbC1tZWdhLWZvb3Rlcl9fc29jaWFsLWJ0biB7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1OCwxNTgsMTU4KTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uLFxuLm1kbC1tZWdhLWZvb3Rlcl9fZHJvcC1kb3duLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gIC5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uLFxuICAubWRsLW1lZ2EtZm9vdGVyX19kcm9wLWRvd24tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDMzJTsgfVxuICAubWRsLW1lZ2EtZm9vdGVyLS1kcm9wLWRvd24tc2VjdGlvbjpudGgtY2hpbGQoMSksXG4gIC5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uOm50aC1jaGlsZCgyKSxcbiAgLm1kbC1tZWdhLWZvb3Rlcl9fZHJvcC1kb3duLXNlY3Rpb246bnRoLWNoaWxkKDEpLFxuICAubWRsLW1lZ2EtZm9vdGVyX19kcm9wLWRvd24tc2VjdGlvbjpudGgtY2hpbGQoMikge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uOm50aC1jaGlsZCgzKSxcbiAgLm1kbC1tZWdhLWZvb3Rlcl9fZHJvcC1kb3duLXNlY3Rpb246bnRoLWNoaWxkKDMpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubWRsLW1lZ2EtZm9vdGVyLS1kcm9wLWRvd24tc2VjdGlvbjpudGgtY2hpbGQoMyk6YWZ0ZXIsXG4gICAgLm1kbC1tZWdhLWZvb3Rlcl9fZHJvcC1kb3duLXNlY3Rpb246bnRoLWNoaWxkKDMpOmFmdGVyIHtcbiAgICAgIGNsZWFyOiByaWdodDsgfVxuICAubWRsLW1lZ2EtZm9vdGVyLS1kcm9wLWRvd24tc2VjdGlvbjpudGgtY2hpbGQoNCksXG4gIC5tZGwtbWVnYS1mb290ZXJfX2Ryb3AtZG93bi1zZWN0aW9uOm50aC1jaGlsZCg0KSB7XG4gICAgY2xlYXI6IHJpZ2h0O1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWRsLW1lZ2EtZm9vdGVyLS1taWRkbGUtc2VjdGlvbjphZnRlcixcbiAgLm1kbC1tZWdhLWZvb3Rlcl9fbWlkZGxlLXNlY3Rpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZGwtbWVnYS1mb290ZXItLWJvdHRvbS1zZWN0aW9uLFxuICAubWRsLW1lZ2EtZm9vdGVyX19ib3R0b20tc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLm1kbC1tZWdhLWZvb3Rlci0tZHJvcC1kb3duLXNlY3Rpb24sXG4gIC5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uOm50aC1jaGlsZCgzKSxcbiAgLm1kbC1tZWdhLWZvb3Rlci0tZHJvcC1kb3duLXNlY3Rpb246bnRoLWNoaWxkKDQpLFxuICAubWRsLW1lZ2EtZm9vdGVyX19kcm9wLWRvd24tc2VjdGlvbixcbiAgLm1kbC1tZWdhLWZvb3Rlcl9fZHJvcC1kb3duLXNlY3Rpb246bnRoLWNoaWxkKDMpLFxuICAubWRsLW1lZ2EtZm9vdGVyX19kcm9wLWRvd24tc2VjdGlvbjpudGgtY2hpbGQoNCkge1xuICAgIHdpZHRoOiAyNCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4ubWRsLW1lZ2EtZm9vdGVyLS1oZWFkaW5nLWNoZWNrYm94LFxuLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZy1jaGVja2JveCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTUuOHB4O1xuICBwYWRkaW5nOiAzMnB4O1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IC0xNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIG9wYWNpdHk6IDA7IH1cbiAgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZy1jaGVja2JveCArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmc6YWZ0ZXIsXG4gIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3ggKyAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nOmFmdGVyLFxuICAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nLWNoZWNrYm94ICsgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZzphZnRlcixcbiAgLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZy1jaGVja2JveCArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmc6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXEU1Q0UnOyB9XG5cbi5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCB+IC5tZGwtbWVnYS1mb290ZXItLWxpbmstbGlzdCxcbi5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCB+IC5tZGwtbWVnYS1mb290ZXJfX2xpbmstbGlzdCxcbi5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmcgKyAubWRsLW1lZ2EtZm9vdGVyLS1saW5rLWxpc3QsXG4ubWRsLW1lZ2EtZm9vdGVyLS1oZWFkaW5nLWNoZWNrYm94OmNoZWNrZWQgKyAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nICsgLm1kbC1tZWdhLWZvb3Rlcl9fbGluay1saXN0LFxuLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZy1jaGVja2JveDpjaGVja2VkIH4gLm1kbC1tZWdhLWZvb3Rlci0tbGluay1saXN0LFxuLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZy1jaGVja2JveDpjaGVja2VkIH4gLm1kbC1tZWdhLWZvb3Rlcl9fbGluay1saXN0LFxuLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZy1jaGVja2JveDpjaGVja2VkICsgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZyArIC5tZGwtbWVnYS1mb290ZXItLWxpbmstbGlzdCxcbi5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmcgKyAubWRsLW1lZ2EtZm9vdGVyX19saW5rLWxpc3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmc6YWZ0ZXIsXG4ubWRsLW1lZ2EtZm9vdGVyLS1oZWFkaW5nLWNoZWNrYm94OmNoZWNrZWQgKyAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nOmFmdGVyLFxuLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZy1jaGVja2JveDpjaGVja2VkICsgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZzphZnRlcixcbi5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmc6YWZ0ZXIge1xuICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgY29udGVudDogJ1xcRTVDRic7IH1cblxuLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZyxcbi5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAzOS44cHg7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIzLjhweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiByZ2IoMjI0LDIyNCwyMjQpOyB9XG5cbi5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmc6YWZ0ZXIsXG4ubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAyMy44cHg7XG4gIGhlaWdodDogMjMuOHB4O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi5tZGwtbWVnYS1mb290ZXItLWxpbmstbGlzdCxcbi5tZGwtbWVnYS1mb290ZXJfX2xpbmstbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDsgfVxuICAubWRsLW1lZ2EtZm9vdGVyLS1saW5rLWxpc3Q6YWZ0ZXIsXG4gIC5tZGwtbWVnYS1mb290ZXJfX2xpbmstbGlzdDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7IH1cblxuLm1kbC1tZWdhLWZvb3Rlci0tbGluay1saXN0IGxpLFxuLm1kbC1tZWdhLWZvb3Rlcl9fbGluay1saXN0IGxpIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG5cbi5tZGwtbWVnYS1mb290ZXItLWxpbmstbGlzdCBhLFxuLm1kbC1tZWdhLWZvb3Rlcl9fbGluay1saXN0IGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3gsXG4gIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmctY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWRsLW1lZ2EtZm9vdGVyLS1oZWFkaW5nLWNoZWNrYm94ICsgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZzphZnRlcixcbiAgICAubWRsLW1lZ2EtZm9vdGVyLS1oZWFkaW5nLWNoZWNrYm94ICsgLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZzphZnRlcixcbiAgICAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nLWNoZWNrYm94ICsgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZzphZnRlcixcbiAgICAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nLWNoZWNrYm94ICsgLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZzphZnRlciB7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAubWRsLW1lZ2EtZm9vdGVyLS1oZWFkaW5nLWNoZWNrYm94OmNoZWNrZWQgfiAubWRsLW1lZ2EtZm9vdGVyLS1saW5rLWxpc3QsXG4gIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCB+IC5tZGwtbWVnYS1mb290ZXJfX2xpbmstbGlzdCxcbiAgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZy1jaGVja2JveDpjaGVja2VkICsgLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZyArIC5tZGwtbWVnYS1mb290ZXJfX2xpbmstbGlzdCxcbiAgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZy1jaGVja2JveDpjaGVja2VkICsgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZyArIC5tZGwtbWVnYS1mb290ZXItLWxpbmstbGlzdCxcbiAgLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZy1jaGVja2JveDpjaGVja2VkIH4gLm1kbC1tZWdhLWZvb3Rlci0tbGluay1saXN0LFxuICAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nLWNoZWNrYm94OmNoZWNrZWQgfiAubWRsLW1lZ2EtZm9vdGVyX19saW5rLWxpc3QsXG4gIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmcgKyAubWRsLW1lZ2EtZm9vdGVyX19saW5rLWxpc3QsXG4gIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmcgKyAubWRsLW1lZ2EtZm9vdGVyLS1saW5rLWxpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmc6YWZ0ZXIsXG4gIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmc6YWZ0ZXIsXG4gIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmc6YWZ0ZXIsXG4gIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmc6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9IH1cblxuLm1kbC1tZWdhLWZvb3Rlci0tYm90dG9tLXNlY3Rpb24sXG4ubWRsLW1lZ2EtZm9vdGVyX19ib3R0b20tc2VjdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG5cbi5tZGwtbG9nbyB7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubWRsLW1lZ2EtZm9vdGVyLS1ib3R0b20tc2VjdGlvbiAubWRsLW1lZ2EtZm9vdGVyLS1saW5rLWxpc3QgbGksXG4ubWRsLW1lZ2EtZm9vdGVyX19ib3R0b20tc2VjdGlvbiAubWRsLW1lZ2EtZm9vdGVyX19saW5rLWxpc3QgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gIC5tZGwtbG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH0gfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLm1kbC1taW5pLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMzJweCAxNnB4O1xuICBjb2xvcjogcmdiKDE1OCwxNTgsMTU4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDY2LDY2LDY2KTsgfVxuICAubWRsLW1pbmktZm9vdGVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAubWRsLW1pbmktZm9vdGVyIC5tZGwtbG9nbyB7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7IH1cblxuLm1kbC1taW5pLWZvb3Rlci0tbGluay1saXN0LFxuLm1kbC1taW5pLWZvb3Rlcl9fbGluay1saXN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLm1kbC1taW5pLWZvb3Rlci0tbGluay1saXN0IGxpLFxuICAubWRsLW1pbmktZm9vdGVyX19saW5rLWxpc3QgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAgIC5tZGwtbWluaS1mb290ZXItLWxpbmstbGlzdCBsaSxcbiAgICAgIC5tZGwtbWluaS1mb290ZXJfX2xpbmstbGlzdCBsaSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4OyB9IH1cbiAgLm1kbC1taW5pLWZvb3Rlci0tbGluay1saXN0IGEsXG4gIC5tZGwtbWluaS1mb290ZXJfX2xpbmstbGlzdCBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ubWRsLW1pbmktZm9vdGVyLS1sZWZ0LXNlY3Rpb24sXG4ubWRsLW1pbmktZm9vdGVyX19sZWZ0LXNlY3Rpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9yZGVyOiAwOyB9XG5cbi5tZGwtbWluaS1mb290ZXItLXJpZ2h0LXNlY3Rpb24sXG4ubWRsLW1pbmktZm9vdGVyX19yaWdodC1zZWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvcmRlcjogMTsgfVxuXG4ubWRsLW1pbmktZm9vdGVyLS1zb2NpYWwtYnRuLFxuLm1kbC1taW5pLWZvb3Rlcl9fc29jaWFsLWJ0biB7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE1OCwxNTgsMTU4KTtcbiAgYm9yZGVyOiBub25lOyB9XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU1RZTEUgR1VJREUgVkFSSUFCTEVTLS0tLS0tLS0tLS0tLS0tLS0tRGVjbGFyYXRpb25zIG9mIFNhc3MgdmFyaWFibGVzXG4gKiAtLS0tLVR5cG9ncmFwaHlcbiAqIC0tLS0tQ29sb3JzXG4gKiAtLS0tLVRleHRmaWVsZFxuICogLS0tLS1Td2l0Y2hcbiAqIC0tLS0tU3Bpbm5lclxuICogLS0tLS1SYWRpb1xuICogLS0tLS1NZW51XG4gKiAtLS0tLUxpc3RcbiAqIC0tLS0tTGF5b3V0XG4gKiAtLS0tLUljb24gdG9nZ2xlc1xuICogLS0tLS1Gb290ZXJcbiAqIC0tLS0tQ29sdW1uXG4gKiAtLS0tLUNoZWNrYm94XG4gKiAtLS0tLUNhcmRcbiAqIC0tLS0tQnV0dG9uXG4gKiAtLS0tLUFuaW1hdGlvblxuICogLS0tLS1Qcm9ncmVzc1xuICogLS0tLS1CYWRnZVxuICogLS0tLS1TaGFkb3dzXG4gKiAtLS0tLUdyaWRcbiAqIC0tLS0tRGF0YSB0YWJsZVxuICogLS0tLS1EaWFsb2dcbiAqIC0tLS0tU25hY2tiYXJcbiAqIC0tLS0tVG9vbHRpcFxuICogLS0tLS1DaGlwXG4gKlxuICogRXZlbiB0aG91Z2ggYWxsIHZhcmlhYmxlcyBoYXZlIHRoZSBgIWRlZmF1bHRgIGRpcmVjdGl2ZSwgbW9zdCBvZiB0aGVtXG4gKiBzaG91bGQgbm90IGJlIGNoYW5nZWQgYXMgdGhleSBhcmUgZGVwZW5kZW50IG9uZSBhbm90aGVyLiBUaGlzIGNhbiBjYXVzZVxuICogdmlzdWFsIGRpc3RvcnRpb25zIChsaWtlIGFsaWdubWVudCBpc3N1ZXMpIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2sgZG93blxuICogYW5kIGZpeC5cbiAqL1xuLyogPT09PT09PT09PSAgVFlQT0dSQVBIWSAgPT09PT09PT09PSAqL1xuLyogV2UncmUgc3BsaXR0aW5nIGZvbnRzIGludG8gXCJwcmVmZXJyZWRcIiBhbmQgXCJwZXJmb3JtYW5jZVwiIGluIG9yZGVyIHRvIG9wdGltaXplXG4gICBwYWdlIGxvYWRpbmcuIEZvciBpbXBvcnRhbnQgdGV4dCwgc3VjaCBhcyB0aGUgYm9keSwgd2Ugd2FudCBpdCB0byBsb2FkXG4gICBpbW1lZGlhdGVseSBhbmQgbm90IHdhaXQgZm9yIHRoZSB3ZWIgZm9udCBsb2FkLCB3aGVyZWFzIGZvciBvdGhlciBzZWN0aW9ucyxcbiAgIHN1Y2ggYXMgaGVhZGVycyBhbmQgdGl0bGVzLCB3ZSdyZSBPSyB3aXRoIHRoaW5ncyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRvIGxvYWQuXG4gICBXZSBkbyBoYXZlIHNvbWUgb3B0aW9uYWwgY2xhc3NlcyBhbmQgcGFyYW1ldGVycyBpbiB0aGUgbWl4aW5zLCBpbiBjYXNlIHlvdVxuICAgZGVmaW5pdGVseSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGhlIHByZWZlcnJlZCBmb250IGFuZCBkb24ndCBtaW5kXG4gICB0aGUgcGVyZm9ybWFuY2UgaGl0LlxuICAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gaW1wcm92ZSBvbiB0aGlzIG9uY2UgQ1NTIEZvbnQgTG9hZGluZyBMMyBiZWNvbWVzIG1vcmVcbiAgIHdpZGVseSBhdmFpbGFibGUuXG4qL1xuLyogPT09PT09PT09PSAgQ09MT1JTICA9PT09PT09PT09ICovXG4vKipcbipcbiogTWF0ZXJpYWwgZGVzaWduIGNvbG9yIHBhbGV0dGVzLlxuKiBAc2VlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS9jb2xvci5odG1sXG4qXG4qKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBDb2xvciBQYWxldHRlcyAgPT09PT09PT09PSAqL1xuLyogY29sb3JzLnNjc3MgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb21wb25lbnRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJY29uIFRvZ2dsZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJhZGlvIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJpcHBsZSBlZmZlY3QgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExheW91dCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29udGVudCBUYWJzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDaGVja2JveGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVGV4dCBmaWVsZHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENhcmQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNsaWRlcnMgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSBQcm9ncmVzcyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMaXN0ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEl0ZW0gPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRHJvcGRvd24gbWVudSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUb29sdGlwcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRm9vdGVyICA9PT09PT09PT09ICovXG4vKiBURVhURklFTEQgKi9cbi8qIFNXSVRDSCAqL1xuLyogU1BJTk5FUiAqL1xuLyogUkFESU8gKi9cbi8qIE1FTlUgKi9cbi8qIExJU1QgKi9cbi8qIExBWU9VVCAqL1xuLyogSUNPTiBUT0dHTEUgKi9cbi8qIEZPT1RFUiAqL1xuLyptZWdhLWZvb3RlciovXG4vKm1pbmktZm9vdGVyKi9cbi8qIENIRUNLQk9YICovXG4vKiBDQVJEICovXG4vKiBDYXJkIGRpbWVuc2lvbnMgKi9cbi8qIENvdmVyIGltYWdlICovXG4vKiBCVVRUT04gKi9cbi8qKlxuICpcbiAqIERpbWVuc2lvbnNcbiAqXG4gKi9cbi8qIEFOSU1BVElPTiAqL1xuLyogUFJPR1JFU1MgKi9cbi8qIEJBREdFICovXG4vKiBTSEFET1dTICovXG4vKiBHUklEICovXG4vKiBEQVRBIFRBQkxFICovXG4vKiBESUFMT0cgKi9cbi8qIFNOQUNLQkFSICovXG4vKiBUT09MVElQICovXG4vKiBDSElQICovXG4ubWRsLWljb24tdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMzJweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tZGwtaWNvbi10b2dnbGVfX2lucHV0IHtcbiAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgLm1kbC1pY29uLXRvZ2dsZS5pcy11cGdyYWRlZCAubWRsLWljb24tdG9nZ2xlX19pbnB1dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cblxuLm1kbC1pY29uLXRvZ2dsZV9fbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAzMnB4O1xuICBtaW4td2lkdGg6IDMycHg7XG4gIGNvbG9yOiByZ2IoOTcsOTcsOTcpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpbGwtY2hhbmdlOiBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSwgY29sb3IgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG4gIC5tZGwtaWNvbi10b2dnbGVfX2xhYmVsLm1hdGVyaWFsLWljb25zIHtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgLm1kbC1pY29uLXRvZ2dsZS5pcy1jaGVja2VkIC5tZGwtaWNvbi10b2dnbGVfX2xhYmVsIHtcbiAgICBjb2xvcjogcmdiKDYzLDgxLDE4MSk7IH1cbiAgLm1kbC1pY29uLXRvZ2dsZS5pcy1kaXNhYmxlZCAubWRsLWljb24tdG9nZ2xlX19sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsIDAuMjYpO1xuICAgIGN1cnNvcjogYXV0bztcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIC5tZGwtaWNvbi10b2dnbGUuaXMtZm9jdXNlZCAubWRsLWljb24tdG9nZ2xlX19sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwgMC4xMik7IH1cbiAgLm1kbC1pY29uLXRvZ2dsZS5pcy1mb2N1c2VkLmlzLWNoZWNrZWQgLm1kbC1pY29uLXRvZ2dsZV9fbGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjMsODEsMTgxLCAwLjI2KTsgfVxuXG4ubWRsLWljb24tdG9nZ2xlX19yaXBwbGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0ycHg7XG4gIGxlZnQ6IC0ycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAzNnB4O1xuICBoZWlnaHQ6IDM2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgd2hpdGUsIGJsYWNrKTsgfVxuICAubWRsLWljb24tdG9nZ2xlX19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoOTcsOTcsOTcpOyB9XG4gIC5tZGwtaWNvbi10b2dnbGUuaXMtZGlzYWJsZWQgLm1kbC1pY29uLXRvZ2dsZV9fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIC5tZGwtaWNvbi10b2dnbGUuaXMtZGlzYWJsZWQgLm1kbC1pY29uLXRvZ2dsZV9fcmlwcGxlLWNvbnRhaW5lciAubWRsLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgJENPTlRFTlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBTVFlMRSBHVUlERSBWQVJJQUJMRVMtLS0tLS0tLS0tLS0tLS0tLS1EZWNsYXJhdGlvbnMgb2YgU2FzcyB2YXJpYWJsZXNcbiAqIC0tLS0tVHlwb2dyYXBoeVxuICogLS0tLS1Db2xvcnNcbiAqIC0tLS0tVGV4dGZpZWxkXG4gKiAtLS0tLVN3aXRjaFxuICogLS0tLS1TcGlubmVyXG4gKiAtLS0tLVJhZGlvXG4gKiAtLS0tLU1lbnVcbiAqIC0tLS0tTGlzdFxuICogLS0tLS1MYXlvdXRcbiAqIC0tLS0tSWNvbiB0b2dnbGVzXG4gKiAtLS0tLUZvb3RlclxuICogLS0tLS1Db2x1bW5cbiAqIC0tLS0tQ2hlY2tib3hcbiAqIC0tLS0tQ2FyZFxuICogLS0tLS1CdXR0b25cbiAqIC0tLS0tQW5pbWF0aW9uXG4gKiAtLS0tLVByb2dyZXNzXG4gKiAtLS0tLUJhZGdlXG4gKiAtLS0tLVNoYWRvd3NcbiAqIC0tLS0tR3JpZFxuICogLS0tLS1EYXRhIHRhYmxlXG4gKiAtLS0tLURpYWxvZ1xuICogLS0tLS1TbmFja2JhclxuICogLS0tLS1Ub29sdGlwXG4gKiAtLS0tLUNoaXBcbiAqXG4gKiBFdmVuIHRob3VnaCBhbGwgdmFyaWFibGVzIGhhdmUgdGhlIGAhZGVmYXVsdGAgZGlyZWN0aXZlLCBtb3N0IG9mIHRoZW1cbiAqIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcyB0aGV5IGFyZSBkZXBlbmRlbnQgb25lIGFub3RoZXIuIFRoaXMgY2FuIGNhdXNlXG4gKiB2aXN1YWwgZGlzdG9ydGlvbnMgKGxpa2UgYWxpZ25tZW50IGlzc3VlcykgdGhhdCBhcmUgaGFyZCB0byB0cmFjayBkb3duXG4gKiBhbmQgZml4LlxuICovXG4vKiA9PT09PT09PT09ICBUWVBPR1JBUEhZICA9PT09PT09PT09ICovXG4vKiBXZSdyZSBzcGxpdHRpbmcgZm9udHMgaW50byBcInByZWZlcnJlZFwiIGFuZCBcInBlcmZvcm1hbmNlXCIgaW4gb3JkZXIgdG8gb3B0aW1pemVcbiAgIHBhZ2UgbG9hZGluZy4gRm9yIGltcG9ydGFudCB0ZXh0LCBzdWNoIGFzIHRoZSBib2R5LCB3ZSB3YW50IGl0IHRvIGxvYWRcbiAgIGltbWVkaWF0ZWx5IGFuZCBub3Qgd2FpdCBmb3IgdGhlIHdlYiBmb250IGxvYWQsIHdoZXJlYXMgZm9yIG90aGVyIHNlY3Rpb25zLFxuICAgc3VjaCBhcyBoZWFkZXJzIGFuZCB0aXRsZXMsIHdlJ3JlIE9LIHdpdGggdGhpbmdzIHRha2luZyBhIGJpdCBsb25nZXIgdG8gbG9hZC5cbiAgIFdlIGRvIGhhdmUgc29tZSBvcHRpb25hbCBjbGFzc2VzIGFuZCBwYXJhbWV0ZXJzIGluIHRoZSBtaXhpbnMsIGluIGNhc2UgeW91XG4gICBkZWZpbml0ZWx5IHdhbnQgdG8gbWFrZSBzdXJlIHlvdSdyZSB1c2luZyB0aGUgcHJlZmVycmVkIGZvbnQgYW5kIGRvbid0IG1pbmRcbiAgIHRoZSBwZXJmb3JtYW5jZSBoaXQuXG4gICBXZSBzaG91bGQgYmUgYWJsZSB0byBpbXByb3ZlIG9uIHRoaXMgb25jZSBDU1MgRm9udCBMb2FkaW5nIEwzIGJlY29tZXMgbW9yZVxuICAgd2lkZWx5IGF2YWlsYWJsZS5cbiovXG4vKiA9PT09PT09PT09ICBDT0xPUlMgID09PT09PT09PT0gKi9cbi8qKlxuKlxuKiBNYXRlcmlhbCBkZXNpZ24gY29sb3IgcGFsZXR0ZXMuXG4qIEBzZWUgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWxcbipcbioqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIENvbG9yIFBhbGV0dGVzICA9PT09PT09PT09ICovXG4vKiBjb2xvcnMuc2NzcyAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIElNQUdFUyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgJiBUaGVtZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFR5cG9ncmFwaHkgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbXBvbmVudHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN0YW5kYXJkIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEljb24gVG9nZ2xlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmFkaW8gQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmlwcGxlIGVmZmVjdCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGF5b3V0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb250ZW50IFRhYnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENoZWNrYm94ZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN3aXRjaGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTcGlubmVyICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUZXh0IGZpZWxkcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2FyZCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU2xpZGVycyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09IFByb2dyZXNzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExpc3QgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSXRlbSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBEcm9wZG93biBtZW51ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRvb2x0aXBzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBGb290ZXIgID09PT09PT09PT0gKi9cbi8qIFRFWFRGSUVMRCAqL1xuLyogU1dJVENIICovXG4vKiBTUElOTkVSICovXG4vKiBSQURJTyAqL1xuLyogTUVOVSAqL1xuLyogTElTVCAqL1xuLyogTEFZT1VUICovXG4vKiBJQ09OIFRPR0dMRSAqL1xuLyogRk9PVEVSICovXG4vKm1lZ2EtZm9vdGVyKi9cbi8qbWluaS1mb290ZXIqL1xuLyogQ0hFQ0tCT1ggKi9cbi8qIENBUkQgKi9cbi8qIENhcmQgZGltZW5zaW9ucyAqL1xuLyogQ292ZXIgaW1hZ2UgKi9cbi8qIEJVVFRPTiAqL1xuLyoqXG4gKlxuICogRGltZW5zaW9uc1xuICpcbiAqL1xuLyogQU5JTUFUSU9OICovXG4vKiBQUk9HUkVTUyAqL1xuLyogQkFER0UgKi9cbi8qIFNIQURPV1MgKi9cbi8qIEdSSUQgKi9cbi8qIERBVEEgVEFCTEUgKi9cbi8qIERJQUxPRyAqL1xuLyogU05BQ0tCQVIgKi9cbi8qIFRPT0xUSVAgKi9cbi8qIENISVAgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiBUeXBvZ3JhcGh5ICovXG4vKiBTaGFkb3dzICovXG4vKiBBbmltYXRpb25zICovXG4vKiBEaWFsb2cgKi9cbi5tZGwtbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA4cHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubWRsLWxpc3RfX2l0ZW0ge1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogNDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE2cHg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgY29sb3I6IHJnYmEoMCwwLDAsIDAuODcpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5tZGwtbGlzdF9faXRlbSAubWRsLWxpc3RfX2l0ZW0tcHJpbWFyeS1jb250ZW50IHtcbiAgICBvcmRlcjogMDtcbiAgICBmbGV4LWdyb3c6IDI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLm1kbC1saXN0X19pdGVtIC5tZGwtbGlzdF9faXRlbS1wcmltYXJ5LWNvbnRlbnQgLm1kbC1saXN0X19pdGVtLWljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMnB4OyB9XG4gICAgLm1kbC1saXN0X19pdGVtIC5tZGwtbGlzdF9faXRlbS1wcmltYXJ5LWNvbnRlbnQgLm1kbC1saXN0X19pdGVtLWF2YXRhciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH1cbiAgLm1kbC1saXN0X19pdGVtIC5tZGwtbGlzdF9faXRlbS1zZWNvbmRhcnktY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWxlZnQ6IDE2cHg7IH1cbiAgICAubWRsLWxpc3RfX2l0ZW0gLm1kbC1saXN0X19pdGVtLXNlY29uZGFyeS1jb250ZW50IC5tZGwtbGlzdF9faXRlbS1zZWNvbmRhcnktYWN0aW9uIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5tZGwtbGlzdF9faXRlbSAubWRsLWxpc3RfX2l0ZW0tc2Vjb25kYXJ5LWNvbnRlbnQgLm1kbC1saXN0X19pdGVtLXNlY29uZGFyeS1pbmZvIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgY29sb3I6IHJnYmEoMCwwLDAsIDAuNTQpOyB9XG4gICAgLm1kbC1saXN0X19pdGVtIC5tZGwtbGlzdF9faXRlbS1zZWNvbmRhcnktY29udGVudCAubWRsLWxpc3RfX2l0ZW0tc3ViLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNnB4OyB9XG5cbi5tZGwtbGlzdF9faXRlbS1pY29uLFxuLm1kbC1saXN0X19pdGVtLWljb24ubWF0ZXJpYWwtaWNvbnMge1xuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xuICBmb250LXNpemU6IDI0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiByZ2IoMTE3LDExNywxMTcpOyB9XG5cbi5tZGwtbGlzdF9faXRlbS1hdmF0YXIsXG4ubWRsLWxpc3RfX2l0ZW0tYXZhdGFyLm1hdGVyaWFsLWljb25zIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICB3aWR0aDogNDBweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTE3LDExNywxMTcpO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4ubWRsLWxpc3RfX2l0ZW0tLXR3by1saW5lIHtcbiAgaGVpZ2h0OiA3MnB4OyB9XG4gIC5tZGwtbGlzdF9faXRlbS0tdHdvLWxpbmUgLm1kbC1saXN0X19pdGVtLXByaW1hcnktY29udGVudCB7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLm1kbC1saXN0X19pdGVtLS10d28tbGluZSAubWRsLWxpc3RfX2l0ZW0tcHJpbWFyeS1jb250ZW50IC5tZGwtbGlzdF9faXRlbS1hdmF0YXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWRsLWxpc3RfX2l0ZW0tLXR3by1saW5lIC5tZGwtbGlzdF9faXRlbS1wcmltYXJ5LWNvbnRlbnQgLm1kbC1saXN0X19pdGVtLWljb24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tdG9wOiA2cHg7IH1cbiAgICAubWRsLWxpc3RfX2l0ZW0tLXR3by1saW5lIC5tZGwtbGlzdF9faXRlbS1wcmltYXJ5LWNvbnRlbnQgLm1kbC1saXN0X19pdGVtLXNlY29uZGFyeS1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMzZweDsgfVxuICAgIC5tZGwtbGlzdF9faXRlbS0tdHdvLWxpbmUgLm1kbC1saXN0X19pdGVtLXByaW1hcnktY29udGVudCAubWRsLWxpc3RfX2l0ZW0tc3ViLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBjb2xvcjogcmdiYSgwLDAsMCwgMC41NCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7IH1cblxuLm1kbC1saXN0X19pdGVtLS10aHJlZS1saW5lIHtcbiAgaGVpZ2h0OiA4OHB4OyB9XG4gIC5tZGwtbGlzdF9faXRlbS0tdGhyZWUtbGluZSAubWRsLWxpc3RfX2l0ZW0tcHJpbWFyeS1jb250ZW50IHtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAubWRsLWxpc3RfX2l0ZW0tLXRocmVlLWxpbmUgLm1kbC1saXN0X19pdGVtLXByaW1hcnktY29udGVudCAubWRsLWxpc3RfX2l0ZW0tYXZhdGFyLFxuICAgIC5tZGwtbGlzdF9faXRlbS0tdGhyZWUtbGluZSAubWRsLWxpc3RfX2l0ZW0tcHJpbWFyeS1jb250ZW50IC5tZGwtbGlzdF9faXRlbS1pY29uIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZGwtbGlzdF9faXRlbS0tdGhyZWUtbGluZSAubWRsLWxpc3RfX2l0ZW0tc2Vjb25kYXJ5LWNvbnRlbnQge1xuICAgIGhlaWdodDogNTJweDsgfVxuICAubWRsLWxpc3RfX2l0ZW0tLXRocmVlLWxpbmUgLm1kbC1saXN0X19pdGVtLXRleHQtYm9keSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgaGVpZ2h0OiA1MnB4O1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLCAwLjU0KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU1RZTEUgR1VJREUgVkFSSUFCTEVTLS0tLS0tLS0tLS0tLS0tLS0tRGVjbGFyYXRpb25zIG9mIFNhc3MgdmFyaWFibGVzXG4gKiAtLS0tLVR5cG9ncmFwaHlcbiAqIC0tLS0tQ29sb3JzXG4gKiAtLS0tLVRleHRmaWVsZFxuICogLS0tLS1Td2l0Y2hcbiAqIC0tLS0tU3Bpbm5lclxuICogLS0tLS1SYWRpb1xuICogLS0tLS1NZW51XG4gKiAtLS0tLUxpc3RcbiAqIC0tLS0tTGF5b3V0XG4gKiAtLS0tLUljb24gdG9nZ2xlc1xuICogLS0tLS1Gb290ZXJcbiAqIC0tLS0tQ29sdW1uXG4gKiAtLS0tLUNoZWNrYm94XG4gKiAtLS0tLUNhcmRcbiAqIC0tLS0tQnV0dG9uXG4gKiAtLS0tLUFuaW1hdGlvblxuICogLS0tLS1Qcm9ncmVzc1xuICogLS0tLS1CYWRnZVxuICogLS0tLS1TaGFkb3dzXG4gKiAtLS0tLUdyaWRcbiAqIC0tLS0tRGF0YSB0YWJsZVxuICogLS0tLS1EaWFsb2dcbiAqIC0tLS0tU25hY2tiYXJcbiAqIC0tLS0tVG9vbHRpcFxuICogLS0tLS1DaGlwXG4gKlxuICogRXZlbiB0aG91Z2ggYWxsIHZhcmlhYmxlcyBoYXZlIHRoZSBgIWRlZmF1bHRgIGRpcmVjdGl2ZSwgbW9zdCBvZiB0aGVtXG4gKiBzaG91bGQgbm90IGJlIGNoYW5nZWQgYXMgdGhleSBhcmUgZGVwZW5kZW50IG9uZSBhbm90aGVyLiBUaGlzIGNhbiBjYXVzZVxuICogdmlzdWFsIGRpc3RvcnRpb25zIChsaWtlIGFsaWdubWVudCBpc3N1ZXMpIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2sgZG93blxuICogYW5kIGZpeC5cbiAqL1xuLyogPT09PT09PT09PSAgVFlQT0dSQVBIWSAgPT09PT09PT09PSAqL1xuLyogV2UncmUgc3BsaXR0aW5nIGZvbnRzIGludG8gXCJwcmVmZXJyZWRcIiBhbmQgXCJwZXJmb3JtYW5jZVwiIGluIG9yZGVyIHRvIG9wdGltaXplXG4gICBwYWdlIGxvYWRpbmcuIEZvciBpbXBvcnRhbnQgdGV4dCwgc3VjaCBhcyB0aGUgYm9keSwgd2Ugd2FudCBpdCB0byBsb2FkXG4gICBpbW1lZGlhdGVseSBhbmQgbm90IHdhaXQgZm9yIHRoZSB3ZWIgZm9udCBsb2FkLCB3aGVyZWFzIGZvciBvdGhlciBzZWN0aW9ucyxcbiAgIHN1Y2ggYXMgaGVhZGVycyBhbmQgdGl0bGVzLCB3ZSdyZSBPSyB3aXRoIHRoaW5ncyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRvIGxvYWQuXG4gICBXZSBkbyBoYXZlIHNvbWUgb3B0aW9uYWwgY2xhc3NlcyBhbmQgcGFyYW1ldGVycyBpbiB0aGUgbWl4aW5zLCBpbiBjYXNlIHlvdVxuICAgZGVmaW5pdGVseSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGhlIHByZWZlcnJlZCBmb250IGFuZCBkb24ndCBtaW5kXG4gICB0aGUgcGVyZm9ybWFuY2UgaGl0LlxuICAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gaW1wcm92ZSBvbiB0aGlzIG9uY2UgQ1NTIEZvbnQgTG9hZGluZyBMMyBiZWNvbWVzIG1vcmVcbiAgIHdpZGVseSBhdmFpbGFibGUuXG4qL1xuLyogPT09PT09PT09PSAgQ09MT1JTICA9PT09PT09PT09ICovXG4vKipcbipcbiogTWF0ZXJpYWwgZGVzaWduIGNvbG9yIHBhbGV0dGVzLlxuKiBAc2VlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS9jb2xvci5odG1sXG4qXG4qKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBDb2xvciBQYWxldHRlcyAgPT09PT09PT09PSAqL1xuLyogY29sb3JzLnNjc3MgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb21wb25lbnRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJY29uIFRvZ2dsZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJhZGlvIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJpcHBsZSBlZmZlY3QgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExheW91dCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29udGVudCBUYWJzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDaGVja2JveGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVGV4dCBmaWVsZHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENhcmQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNsaWRlcnMgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSBQcm9ncmVzcyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMaXN0ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEl0ZW0gPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRHJvcGRvd24gbWVudSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUb29sdGlwcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRm9vdGVyICA9PT09PT09PT09ICovXG4vKiBURVhURklFTEQgKi9cbi8qIFNXSVRDSCAqL1xuLyogU1BJTk5FUiAqL1xuLyogUkFESU8gKi9cbi8qIE1FTlUgKi9cbi8qIExJU1QgKi9cbi8qIExBWU9VVCAqL1xuLyogSUNPTiBUT0dHTEUgKi9cbi8qIEZPT1RFUiAqL1xuLyptZWdhLWZvb3RlciovXG4vKm1pbmktZm9vdGVyKi9cbi8qIENIRUNLQk9YICovXG4vKiBDQVJEICovXG4vKiBDYXJkIGRpbWVuc2lvbnMgKi9cbi8qIENvdmVyIGltYWdlICovXG4vKiBCVVRUT04gKi9cbi8qKlxuICpcbiAqIERpbWVuc2lvbnNcbiAqXG4gKi9cbi8qIEFOSU1BVElPTiAqL1xuLyogUFJPR1JFU1MgKi9cbi8qIEJBREdFICovXG4vKiBTSEFET1dTICovXG4vKiBHUklEICovXG4vKiBEQVRBIFRBQkxFICovXG4vKiBESUFMT0cgKi9cbi8qIFNOQUNLQkFSICovXG4vKiBUT09MVElQICovXG4vKiBDSElQICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogVHlwb2dyYXBoeSAqL1xuLyogU2hhZG93cyAqL1xuLyogQW5pbWF0aW9ucyAqL1xuLyogRGlhbG9nICovXG4ubWRsLW1lbnVfX2NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAtMTsgfVxuICAubWRsLW1lbnVfX2NvbnRhaW5lci5pcy12aXNpYmxlLCAubWRsLW1lbnVfX2NvbnRhaW5lci5pcy1hbmltYXRpbmcge1xuICAgIHotaW5kZXg6IDk5OTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5tZGwtbWVudV9fb3V0bGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiByZ2IoMjU1LDI1NSwyNTUpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIG9wYWNpdHkgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB6LWluZGV4OiAtMTsgfVxuICAubWRsLW1lbnVfX2NvbnRhaW5lci5pcy12aXNpYmxlIC5tZGwtbWVudV9fb3V0bGluZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHotaW5kZXg6IDk5OTsgfVxuICAubWRsLW1lbnVfX291dGxpbmUubWRsLW1lbnUtLWJvdHRvbS1yaWdodCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG4gIC5tZGwtbWVudV9fb3V0bGluZS5tZGwtbWVudS0tdG9wLWxlZnQge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTsgfVxuICAubWRsLW1lbnVfX291dGxpbmUubWRsLW1lbnUtLXRvcC1yaWdodCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlOyB9XG5cbi5tZGwtbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4td2lkdGg6IDEyNHB4O1xuICBwYWRkaW5nOiA4cHggMDtcbiAgbWFyZ2luOiAwO1xuICBvcGFjaXR5OiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICB6LWluZGV4OiAtMTsgfVxuICAubWRsLW1lbnVfX2NvbnRhaW5lci5pcy12aXNpYmxlIC5tZGwtbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk7IH1cbiAgLm1kbC1tZW51LmlzLWFuaW1hdGluZyB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGNsaXAgMC4zcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG4gIC5tZGwtbWVudS5tZGwtbWVudS0tYm90dG9tLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5tZGwtbWVudS5tZGwtbWVudS0tdG9wLWxlZnQge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7IH1cbiAgLm1kbC1tZW51Lm1kbC1tZW51LS10b3AtcmlnaHQge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDsgfVxuICAubWRsLW1lbnUubWRsLW1lbnUtLXVuYWxpZ25lZCB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87IH1cblxuLm1kbC1tZW51X19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHJnYmEoMCwwLDAsIDAuODcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIG91dGxpbmUtY29sb3I6IHJnYigxODksMTg5LDE4OSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLm1kbC1tZW51X19jb250YWluZXIuaXMtdmlzaWJsZSAubWRsLW1lbnVfX2l0ZW0ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1kbC1tZW51X19pdGVtOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLm1kbC1tZW51X19pdGVtLS1mdWxsLWJsZWVkLWRpdmlkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLCAwLjEyKTsgfVxuICAubWRsLW1lbnVfX2l0ZW1bZGlzYWJsZWRdLCAubWRsLW1lbnVfX2l0ZW1bZGF0YS1tZGwtZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogcmdiKDE4OSwxODksMTg5KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IGF1dG87IH1cbiAgICAubWRsLW1lbnVfX2l0ZW1bZGlzYWJsZWRdOmhvdmVyLCAubWRsLW1lbnVfX2l0ZW1bZGF0YS1tZGwtZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLm1kbC1tZW51X19pdGVtW2Rpc2FibGVkXTpmb2N1cywgLm1kbC1tZW51X19pdGVtW2RhdGEtbWRsLWRpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5tZGwtbWVudV9faXRlbVtkaXNhYmxlZF0gLm1kbC1yaXBwbGUsIC5tZGwtbWVudV9faXRlbVtkYXRhLW1kbC1kaXNhYmxlZF0gLm1kbC1yaXBwbGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLm1kbC1tZW51X19pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4LDIzOCwyMzgpOyB9XG4gIC5tZGwtbWVudV9faXRlbTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjM4LDIzOCwyMzgpOyB9XG4gIC5tZGwtbWVudV9faXRlbTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyMjQsMjI0LDIyNCk7IH1cblxuLm1kbC1tZW51X19pdGVtLS1yaXBwbGUtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLm1kbC1wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNHB4O1xuICB3aWR0aDogNTAwcHg7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubWRsLXByb2dyZXNzID4gLmJhciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMCU7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuXG4ubWRsLXByb2dyZXNzID4gLnByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDYzLDgxLDE4MSk7XG4gIHotaW5kZXg6IDE7XG4gIGxlZnQ6IDA7IH1cblxuLm1kbC1wcm9ncmVzcyA+IC5idWZmZXJiYXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsIDAuNyksIHJnYmEoMjU1LDI1NSwyNTUsIDAuNykpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYig2Myw4MSwxODEpLCByZ2IoNjMsODEsMTgxKSk7XG4gIHotaW5kZXg6IDA7XG4gIGxlZnQ6IDA7IH1cblxuLm1kbC1wcm9ncmVzcyA+IC5hdXhiYXIge1xuICByaWdodDogMDsgfVxuXG5Ac3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSkge1xuICAubWRsLXByb2dyZXNzOm5vdCgubWRsLXByb2dyZXNzLS1pbmRldGVybWluYXRlKTpub3QoLm1kbC1wcm9ncmVzcy0taW5kZXRlcm1pbmF0ZSkgPiAuYXV4YmFyLFxuICAubWRsLXByb2dyZXNzOm5vdCgubWRsLXByb2dyZXNzX19pbmRldGVybWluYXRlKTpub3QoLm1kbC1wcm9ncmVzc19faW5kZXRlcm1pbmF0ZSkgPiAuYXV4YmFyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsIDAuNyksIHJnYmEoMjU1LDI1NSwyNTUsIDAuNykpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYig2Myw4MSwxODEpLCByZ2IoNjMsODEsMTgxKSk7XG4gICAgbWFzazogdXJsKFwiLi4vaW1hZ2VzL2J1ZmZlci5zdmc/ZW1iZWRcIik7IH0gfVxuXG4ubWRsLXByb2dyZXNzOm5vdCgubWRsLXByb2dyZXNzLS1pbmRldGVybWluYXRlKSA+IC5hdXhiYXIsXG4ubWRsLXByb2dyZXNzOm5vdCgubWRsLXByb2dyZXNzX19pbmRldGVybWluYXRlKSA+IC5hdXhiYXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsIDAuOSksIHJnYmEoMjU1LDI1NSwyNTUsIDAuOSkpLCBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYig2Myw4MSwxODEpLCByZ2IoNjMsODEsMTgxKSk7IH1cblxuLm1kbC1wcm9ncmVzcy5tZGwtcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUgPiAuYmFyMSxcbi5tZGwtcHJvZ3Jlc3MubWRsLXByb2dyZXNzX19pbmRldGVybWluYXRlID4gLmJhcjEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjMsODEsMTgxKTtcbiAgYW5pbWF0aW9uLW5hbWU6IGluZGV0ZXJtaW5hdGUxO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG5cbi5tZGwtcHJvZ3Jlc3MubWRsLXByb2dyZXNzLS1pbmRldGVybWluYXRlID4gLmJhcjMsXG4ubWRsLXByb2dyZXNzLm1kbC1wcm9ncmVzc19faW5kZXRlcm1pbmF0ZSA+IC5iYXIzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDYzLDgxLDE4MSk7XG4gIGFuaW1hdGlvbi1uYW1lOiBpbmRldGVybWluYXRlMjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuXG5Aa2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUxIHtcbiAgMCUge1xuICAgIGxlZnQ6IDAlO1xuICAgIHdpZHRoOiAwJTsgfVxuICA1MCUge1xuICAgIGxlZnQ6IDI1JTtcbiAgICB3aWR0aDogNzUlOyB9XG4gIDc1JSB7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogMCU7IH0gfVxuXG5Aa2V5ZnJhbWVzIGluZGV0ZXJtaW5hdGUyIHtcbiAgMCUge1xuICAgIGxlZnQ6IDAlO1xuICAgIHdpZHRoOiAwJTsgfVxuICA1MCUge1xuICAgIGxlZnQ6IDAlO1xuICAgIHdpZHRoOiAwJTsgfVxuICA3NSUge1xuICAgIGxlZnQ6IDAlO1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgMTAwJSB7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogMCU7IH0gfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIFR5cG9ncmFwaHkgKi9cbi8qIFNoYWRvd3MgKi9cbi8qIEFuaW1hdGlvbnMgKi9cbi8qIERpYWxvZyAqL1xuLm1kbC1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLm1kbC1uYXZpZ2F0aW9uX19saW5rIHtcbiAgY29sb3I6IHJnYig2Niw2Niw2Nik7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgb3BhY2l0eTogMC44NzsgfVxuICAubWRsLW5hdmlnYXRpb25fX2xpbmsgLm1hdGVyaWFsLWljb25zIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5tZGwtbGF5b3V0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuXG4ubWRsLWxheW91dC5pcy1zbWFsbC1zY3JlZW4gLm1kbC1sYXlvdXQtLWxhcmdlLXNjcmVlbi1vbmx5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWRsLWxheW91dDpub3QoLmlzLXNtYWxsLXNjcmVlbikgLm1kbC1sYXlvdXQtLXNtYWxsLXNjcmVlbi1vbmx5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWRsLWxheW91dF9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5tZGwtbGF5b3V0X190aXRsZSxcbi5tZGwtbGF5b3V0LXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubWRsLWxheW91dC1zcGFjZXIge1xuICBmbGV4LWdyb3c6IDE7IH1cblxuLm1kbC1sYXlvdXRfX2RyYXdlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICB3aWR0aDogMjQwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDJweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgM3B4IDFweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4yKSwgMCAxcHggNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiKDIyNCwyMjQsMjI0KTtcbiAgYmFja2dyb3VuZDogcmdiKDI1MCwyNTAsMjUwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIGNvbG9yOiByZ2IoNjYsNjYsNjYpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgei1pbmRleDogNTsgfVxuICAubWRsLWxheW91dF9fZHJhd2VyLmlzLXZpc2libGUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAgIC5tZGwtbGF5b3V0X19kcmF3ZXIuaXMtdmlzaWJsZSB+IC5tZGwtbGF5b3V0X19jb250ZW50Lm1kbC1sYXlvdXRfX2NvbnRlbnQge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubWRsLWxheW91dF9fZHJhd2VyID4gKiB7XG4gICAgZmxleC1zaHJpbms6IDA7IH1cbiAgLm1kbC1sYXlvdXRfX2RyYXdlciA+IC5tZGwtbGF5b3V0X190aXRsZSxcbiAgLm1kbC1sYXlvdXRfX2RyYXdlciA+IC5tZGwtbGF5b3V0LXRpdGxlIHtcbiAgICBsaW5lLWhlaWdodDogNjRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tZGwtbGF5b3V0X19kcmF3ZXIgPiAubWRsLWxheW91dF9fdGl0bGUsXG4gICAgICAubWRsLWxheW91dF9fZHJhd2VyID4gLm1kbC1sYXlvdXQtdGl0bGUge1xuICAgICAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNnB4OyB9IH1cbiAgLm1kbC1sYXlvdXRfX2RyYXdlciAubWRsLW5hdmlnYXRpb24ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcGFkZGluZy10b3A6IDE2cHg7IH1cbiAgICAubWRsLWxheW91dF9fZHJhd2VyIC5tZGwtbmF2aWdhdGlvbiAubWRsLW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHBhZGRpbmc6IDE2cHggNDBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAjNzU3NTc1OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgLm1kbC1sYXlvdXRfX2RyYXdlciAubWRsLW5hdmlnYXRpb24gLm1kbC1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNnB4IDE2cHg7IH0gfVxuICAgICAgLm1kbC1sYXlvdXRfX2RyYXdlciAubWRsLW5hdmlnYXRpb24gLm1kbC1uYXZpZ2F0aW9uX19saW5rOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyNCwyMjQsMjI0KTsgfVxuICAgICAgLm1kbC1sYXlvdXRfX2RyYXdlciAubWRsLW5hdmlnYXRpb24gLm1kbC1uYXZpZ2F0aW9uX19saW5rLS1jdXJyZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDIyNCwyMjQsMjI0KTtcbiAgICAgICAgY29sb3I6IHJnYigwLDAsMCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLm1kbC1sYXlvdXQtLWZpeGVkLWRyYXdlciA+IC5tZGwtbGF5b3V0X19kcmF3ZXIge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLm1kbC1sYXlvdXRfX2RyYXdlci1idXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiA0OHB4O1xuICBib3JkZXI6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBsaW5lLWhlaWdodDogNTZweDtcbiAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIG1hcmdpbjogOHB4IDEycHg7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgY29sb3I6IHJnYigyNTUsMjU1LDI1NSk7XG4gIHotaW5kZXg6IDQ7IH1cbiAgLm1kbC1sYXlvdXRfX2hlYWRlciAubWRsLWxheW91dF9fZHJhd2VyLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbG9yOiByZ2IoMjU1LDI1NSwyNTUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5tZGwtbGF5b3V0X19oZWFkZXIgLm1kbC1sYXlvdXRfX2RyYXdlci1idXR0b24ge1xuICAgICAgICBtYXJnaW46IDRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5tZGwtbGF5b3V0X19kcmF3ZXItYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogNHB4O1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5tZGwtbGF5b3V0X19kcmF3ZXItYnV0dG9uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4OyB9XG4gICAgICAubWRsLWxheW91dC0tbm8tZGVza3RvcC1kcmF3ZXItYnV0dG9uIC5tZGwtbGF5b3V0X19kcmF3ZXItYnV0dG9uLFxuICAgICAgLm1kbC1sYXlvdXQtLWZpeGVkLWRyYXdlciA+IC5tZGwtbGF5b3V0X19kcmF3ZXItYnV0dG9uLFxuICAgICAgLm1kbC1sYXlvdXQtLW5vLWRyYXdlci1idXR0b24gLm1kbC1sYXlvdXRfX2RyYXdlci1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLm1kbC1sYXlvdXRfX2hlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDY0cHg7XG4gIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgei1pbmRleDogMztcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDYzLDgxLDE4MSk7XG4gIGNvbG9yOiByZ2IoMjU1LDI1NSwyNTUpO1xuICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0LCBib3gtc2hhZG93OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5tZGwtbGF5b3V0X19oZWFkZXIge1xuICAgICAgbWluLWhlaWdodDogNTZweDsgfSB9XG4gIC5tZGwtbGF5b3V0LS1maXhlZC1kcmF3ZXIuaXMtdXBncmFkZWQ6bm90KC5pcy1zbWFsbC1zY3JlZW4pID4gLm1kbC1sYXlvdXRfX2hlYWRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNDBweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLm1kbC1sYXlvdXQtLWZpeGVkLWRyYXdlciA+IC5tZGwtbGF5b3V0X19oZWFkZXIgLm1kbC1sYXlvdXRfX2hlYWRlci1yb3cge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgLm1kbC1sYXlvdXRfX2hlYWRlciA+IC5tZGwtbGF5b3V0LWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA0MHB4O1xuICAgIHRvcDogMTZweDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubWRsLWxheW91dF9faGVhZGVyID4gLm1kbC1sYXlvdXQtaWNvbiB7XG4gICAgICAgIGxlZnQ6IDE2cHg7XG4gICAgICAgIHRvcDogMTJweDsgfSB9XG4gIC5tZGwtbGF5b3V0Lmhhcy1kcmF3ZXIgLm1kbC1sYXlvdXRfX2hlYWRlciA+IC5tZGwtbGF5b3V0LWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1kbC1sYXlvdXRfX2hlYWRlci5pcy1jb21wYWN0IHtcbiAgICBtYXgtaGVpZ2h0OiA2NHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubWRsLWxheW91dF9faGVhZGVyLmlzLWNvbXBhY3Qge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NnB4OyB9IH1cbiAgLm1kbC1sYXlvdXRfX2hlYWRlci5pcy1jb21wYWN0Lmhhcy10YWJzIHtcbiAgICBoZWlnaHQ6IDExMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubWRsLWxheW91dF9faGVhZGVyLmlzLWNvbXBhY3QuaGFzLXRhYnMge1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5tZGwtbGF5b3V0X19oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5tZGwtbGF5b3V0LS1maXhlZC1oZWFkZXIgPiAubWRsLWxheW91dF9faGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4ubWRsLWxheW91dF9faGVhZGVyLS10cmFuc3BhcmVudC5tZGwtbGF5b3V0X19oZWFkZXItLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuLm1kbC1sYXlvdXRfX2hlYWRlci0tc2VhbWVkIHtcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4ubWRsLWxheW91dF9faGVhZGVyLS1zY3JvbGwge1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5tZGwtbGF5b3V0X19oZWFkZXItLXdhdGVyZmFsbCB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1kbC1sYXlvdXRfX2hlYWRlci0td2F0ZXJmYWxsLmlzLWNhc3Rpbmctc2hhZG93IHtcbiAgICBib3gtc2hhZG93OiAwIDJweCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cbiAgLm1kbC1sYXlvdXRfX2hlYWRlci0td2F0ZXJmYWxsLm1kbC1sYXlvdXRfX2hlYWRlci0td2F0ZXJmYWxsLWhpZGUtdG9wIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5tZGwtbGF5b3V0X19oZWFkZXItcm93IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBoZWlnaHQ6IDY0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA0MHB4IDAgODBweDsgfVxuICAubWRsLWxheW91dC0tbm8tZHJhd2VyLWJ1dHRvbiAubWRsLWxheW91dF9faGVhZGVyLXJvdyB7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5tZGwtbGF5b3V0LS1uby1kZXNrdG9wLWRyYXdlci1idXR0b24gLm1kbC1sYXlvdXRfX2hlYWRlci1yb3cge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgLm1kbC1sYXlvdXRfX2hlYWRlci1yb3cge1xuICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgcGFkZGluZzogMCAxNnB4IDAgNzJweDsgfVxuICAgICAgLm1kbC1sYXlvdXQtLW5vLWRyYXdlci1idXR0b24gLm1kbC1sYXlvdXRfX2hlYWRlci1yb3cge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7IH0gfVxuICAubWRsLWxheW91dF9faGVhZGVyLXJvdyA+ICoge1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5tZGwtbGF5b3V0X19oZWFkZXItLXNjcm9sbCAubWRsLWxheW91dF9faGVhZGVyLXJvdyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1sYXlvdXRfX2hlYWRlci1yb3cgLm1kbC1uYXZpZ2F0aW9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubWRsLWxheW91dF9faGVhZGVyLXJvdyAubWRsLW5hdmlnYXRpb24ge1xuICAgICAgICBoZWlnaHQ6IDU2cHg7IH0gfVxuICAubWRsLWxheW91dF9faGVhZGVyLXJvdyAubWRsLW5hdmlnYXRpb25fX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbG9yOiByZ2IoMjU1LDI1NSwyNTUpO1xuICAgIGxpbmUtaGVpZ2h0OiA2NHB4O1xuICAgIHBhZGRpbmc6IDAgMjRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgICAgLm1kbC1sYXlvdXRfX2hlYWRlci1yb3cgLm1kbC1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU2cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTZweDsgfSB9XG5cbi5tZGwtbGF5b3V0X19vYmZ1c2NhdG9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG4gIC5tZGwtbGF5b3V0X19vYmZ1c2NhdG9yLmlzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIEBzdXBwb3J0cyAocG9pbnRlci1ldmVudHM6IGF1dG8pIHtcbiAgICAubWRsLWxheW91dF9fb2JmdXNjYXRvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgLm1kbC1sYXlvdXRfX29iZnVzY2F0b3IuaXMtdmlzaWJsZSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAxOyB9IH1cblxuLm1kbC1sYXlvdXRfX2NvbnRlbnQge1xuICAtbXMtZmxleDogMCAxIGF1dG87XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGZsZXgtZ3JvdzogMTtcbiAgei1pbmRleDogMTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG4gIC5tZGwtbGF5b3V0LS1maXhlZC1kcmF3ZXIgPiAubWRsLWxheW91dF9fY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IDI0MHB4OyB9XG4gIC5tZGwtbGF5b3V0X19jb250YWluZXIuaGFzLXNjcm9sbGluZy1oZWFkZXIgLm1kbC1sYXlvdXRfX2NvbnRlbnQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5tZGwtbGF5b3V0LS1maXhlZC1kcmF3ZXIgPiAubWRsLWxheW91dF9fY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5tZGwtbGF5b3V0X19jb250YWluZXIuaGFzLXNjcm9sbGluZy1oZWFkZXIgLm1kbC1sYXlvdXRfX2NvbnRlbnQge1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjsgfSB9XG5cbi5tZGwtbGF5b3V0X190YWItYmFyIHtcbiAgaGVpZ2h0OiA5NnB4O1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxMTJweCk7XG4gIHBhZGRpbmc6IDAgMCAwIDU2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYig2Myw4MSwxODEpO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IHNjcm9sbDsgfVxuICAubWRsLWxheW91dF9fdGFiLWJhcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1kbC1sYXlvdXQtLW5vLWRyYXdlci1idXR0b24gLm1kbC1sYXlvdXRfX3RhYi1iYXIge1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzJweCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLm1kbC1sYXlvdXQtLW5vLWRlc2t0b3AtZHJhd2VyLWJ1dHRvbiAubWRsLWxheW91dF9fdGFiLWJhciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzJweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWRsLWxheW91dF9fdGFiLWJhciB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICBwYWRkaW5nOiAwIDAgMCA2MHB4OyB9XG4gICAgICAubWRsLWxheW91dC0tbm8tZHJhd2VyLWJ1dHRvbiAubWRsLWxheW91dF9fdGFiLWJhciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4cHgpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDRweDsgfSB9XG4gIC5tZGwtbGF5b3V0LS1maXhlZC10YWJzIC5tZGwtbGF5b3V0X190YWItYmFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLm1kbC1sYXlvdXRfX3RhYi1iYXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgei1pbmRleDogMjtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAubWRsLWxheW91dF9fY29udGFpbmVyID4gLm1kbC1sYXlvdXRfX3RhYi1iYXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cblxuLm1kbC1sYXlvdXRfX3RhYi1iYXItYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogNTZweDtcbiAgei1pbmRleDogNDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjMsODEsMTgxKTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5tZGwtbGF5b3V0LS1uby1kZXNrdG9wLWRyYXdlci1idXR0b24gLm1kbC1sYXlvdXRfX3RhYi1iYXItYnV0dG9uLFxuICAubWRsLWxheW91dC0tbm8tZHJhd2VyLWJ1dHRvbiAubWRsLWxheW91dF9fdGFiLWJhci1idXR0b24ge1xuICAgIHdpZHRoOiAxNnB4OyB9XG4gICAgLm1kbC1sYXlvdXQtLW5vLWRlc2t0b3AtZHJhd2VyLWJ1dHRvbiAubWRsLWxheW91dF9fdGFiLWJhci1idXR0b24gLm1hdGVyaWFsLWljb25zLFxuICAgIC5tZGwtbGF5b3V0LS1uby1kcmF3ZXItYnV0dG9uIC5tZGwtbGF5b3V0X190YWItYmFyLWJ1dHRvbiAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogLTRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAubWRsLWxheW91dF9fdGFiLWJhci1idXR0b24ge1xuICAgICAgd2lkdGg6IDYwcHg7IH0gfVxuICAubWRsLWxheW91dC0tZml4ZWQtdGFicyAubWRsLWxheW91dF9fdGFiLWJhci1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1kbC1sYXlvdXRfX3RhYi1iYXItYnV0dG9uIC5tYXRlcmlhbC1pY29ucyB7XG4gICAgbGluZS1oZWlnaHQ6IDQ4cHg7IH1cbiAgLm1kbC1sYXlvdXRfX3RhYi1iYXItYnV0dG9uLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6IHJnYigyNTUsMjU1LDI1NSk7IH1cblxuLm1kbC1sYXlvdXRfX3RhYi1iYXItbGVmdC1idXR0b24ge1xuICBsZWZ0OiAwOyB9XG5cbi5tZGwtbGF5b3V0X190YWItYmFyLXJpZ2h0LWJ1dHRvbiB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5tZGwtbGF5b3V0X190YWIge1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgcGFkZGluZzogMCAyNHB4IDAgMjRweDtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgaGVpZ2h0OiA0OHB4O1xuICBsaW5lLWhlaWdodDogNDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LCAwLjYpO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xuICAgIC5tZGwtbGF5b3V0X190YWIge1xuICAgICAgcGFkZGluZzogMCAxMnB4IDAgMTJweDsgfSB9XG4gIC5tZGwtbGF5b3V0LS1maXhlZC10YWJzIC5tZGwtbGF5b3V0X190YWIge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZGwtbGF5b3V0LmlzLXVwZ3JhZGVkIC5tZGwtbGF5b3V0X190YWIuaXMtYWN0aXZlIHtcbiAgICBjb2xvcjogcmdiKDI1NSwyNTUsMjU1KTsgfVxuICAubWRsLWxheW91dC5pcy11cGdyYWRlZCAubWRsLWxheW91dF9fdGFiLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoMjU1LDY0LDEyOSk7XG4gICAgYW5pbWF0aW9uOiBib3JkZXItZXhwYW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC40LCAxKSAwLjAxcyBhbHRlcm5hdGUgZm9yd2FyZHM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpOyB9XG4gIC5tZGwtbGF5b3V0X190YWIgLm1kbC1sYXlvdXRfX3RhYi1yaXBwbGUtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5tZGwtbGF5b3V0X190YWIgLm1kbC1sYXlvdXRfX3RhYi1yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsMjU1LDI1NSk7IH1cblxuLm1kbC1sYXlvdXRfX3RhYi1wYW5lbCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZGwtbGF5b3V0LmlzLXVwZ3JhZGVkIC5tZGwtbGF5b3V0X190YWItcGFuZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm1kbC1sYXlvdXQuaXMtdXBncmFkZWQgLm1kbC1sYXlvdXRfX3RhYi1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU1RZTEUgR1VJREUgVkFSSUFCTEVTLS0tLS0tLS0tLS0tLS0tLS0tRGVjbGFyYXRpb25zIG9mIFNhc3MgdmFyaWFibGVzXG4gKiAtLS0tLVR5cG9ncmFwaHlcbiAqIC0tLS0tQ29sb3JzXG4gKiAtLS0tLVRleHRmaWVsZFxuICogLS0tLS1Td2l0Y2hcbiAqIC0tLS0tU3Bpbm5lclxuICogLS0tLS1SYWRpb1xuICogLS0tLS1NZW51XG4gKiAtLS0tLUxpc3RcbiAqIC0tLS0tTGF5b3V0XG4gKiAtLS0tLUljb24gdG9nZ2xlc1xuICogLS0tLS1Gb290ZXJcbiAqIC0tLS0tQ29sdW1uXG4gKiAtLS0tLUNoZWNrYm94XG4gKiAtLS0tLUNhcmRcbiAqIC0tLS0tQnV0dG9uXG4gKiAtLS0tLUFuaW1hdGlvblxuICogLS0tLS1Qcm9ncmVzc1xuICogLS0tLS1CYWRnZVxuICogLS0tLS1TaGFkb3dzXG4gKiAtLS0tLUdyaWRcbiAqIC0tLS0tRGF0YSB0YWJsZVxuICogLS0tLS1EaWFsb2dcbiAqIC0tLS0tU25hY2tiYXJcbiAqIC0tLS0tVG9vbHRpcFxuICogLS0tLS1DaGlwXG4gKlxuICogRXZlbiB0aG91Z2ggYWxsIHZhcmlhYmxlcyBoYXZlIHRoZSBgIWRlZmF1bHRgIGRpcmVjdGl2ZSwgbW9zdCBvZiB0aGVtXG4gKiBzaG91bGQgbm90IGJlIGNoYW5nZWQgYXMgdGhleSBhcmUgZGVwZW5kZW50IG9uZSBhbm90aGVyLiBUaGlzIGNhbiBjYXVzZVxuICogdmlzdWFsIGRpc3RvcnRpb25zIChsaWtlIGFsaWdubWVudCBpc3N1ZXMpIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2sgZG93blxuICogYW5kIGZpeC5cbiAqL1xuLyogPT09PT09PT09PSAgVFlQT0dSQVBIWSAgPT09PT09PT09PSAqL1xuLyogV2UncmUgc3BsaXR0aW5nIGZvbnRzIGludG8gXCJwcmVmZXJyZWRcIiBhbmQgXCJwZXJmb3JtYW5jZVwiIGluIG9yZGVyIHRvIG9wdGltaXplXG4gICBwYWdlIGxvYWRpbmcuIEZvciBpbXBvcnRhbnQgdGV4dCwgc3VjaCBhcyB0aGUgYm9keSwgd2Ugd2FudCBpdCB0byBsb2FkXG4gICBpbW1lZGlhdGVseSBhbmQgbm90IHdhaXQgZm9yIHRoZSB3ZWIgZm9udCBsb2FkLCB3aGVyZWFzIGZvciBvdGhlciBzZWN0aW9ucyxcbiAgIHN1Y2ggYXMgaGVhZGVycyBhbmQgdGl0bGVzLCB3ZSdyZSBPSyB3aXRoIHRoaW5ncyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRvIGxvYWQuXG4gICBXZSBkbyBoYXZlIHNvbWUgb3B0aW9uYWwgY2xhc3NlcyBhbmQgcGFyYW1ldGVycyBpbiB0aGUgbWl4aW5zLCBpbiBjYXNlIHlvdVxuICAgZGVmaW5pdGVseSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGhlIHByZWZlcnJlZCBmb250IGFuZCBkb24ndCBtaW5kXG4gICB0aGUgcGVyZm9ybWFuY2UgaGl0LlxuICAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gaW1wcm92ZSBvbiB0aGlzIG9uY2UgQ1NTIEZvbnQgTG9hZGluZyBMMyBiZWNvbWVzIG1vcmVcbiAgIHdpZGVseSBhdmFpbGFibGUuXG4qL1xuLyogPT09PT09PT09PSAgQ09MT1JTICA9PT09PT09PT09ICovXG4vKipcbipcbiogTWF0ZXJpYWwgZGVzaWduIGNvbG9yIHBhbGV0dGVzLlxuKiBAc2VlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS9jb2xvci5odG1sXG4qXG4qKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBDb2xvciBQYWxldHRlcyAgPT09PT09PT09PSAqL1xuLyogY29sb3JzLnNjc3MgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb21wb25lbnRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJY29uIFRvZ2dsZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJhZGlvIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJpcHBsZSBlZmZlY3QgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExheW91dCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29udGVudCBUYWJzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDaGVja2JveGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVGV4dCBmaWVsZHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENhcmQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNsaWRlcnMgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSBQcm9ncmVzcyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMaXN0ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEl0ZW0gPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRHJvcGRvd24gbWVudSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUb29sdGlwcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRm9vdGVyICA9PT09PT09PT09ICovXG4vKiBURVhURklFTEQgKi9cbi8qIFNXSVRDSCAqL1xuLyogU1BJTk5FUiAqL1xuLyogUkFESU8gKi9cbi8qIE1FTlUgKi9cbi8qIExJU1QgKi9cbi8qIExBWU9VVCAqL1xuLyogSUNPTiBUT0dHTEUgKi9cbi8qIEZPT1RFUiAqL1xuLyptZWdhLWZvb3RlciovXG4vKm1pbmktZm9vdGVyKi9cbi8qIENIRUNLQk9YICovXG4vKiBDQVJEICovXG4vKiBDYXJkIGRpbWVuc2lvbnMgKi9cbi8qIENvdmVyIGltYWdlICovXG4vKiBCVVRUT04gKi9cbi8qKlxuICpcbiAqIERpbWVuc2lvbnNcbiAqXG4gKi9cbi8qIEFOSU1BVElPTiAqL1xuLyogUFJPR1JFU1MgKi9cbi8qIEJBREdFICovXG4vKiBTSEFET1dTICovXG4vKiBHUklEICovXG4vKiBEQVRBIFRBQkxFICovXG4vKiBESUFMT0cgKi9cbi8qIFNOQUNLQkFSICovXG4vKiBUT09MVElQICovXG4vKiBDSElQICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogVHlwb2dyYXBoeSAqL1xuLyogU2hhZG93cyAqL1xuLyogQW5pbWF0aW9ucyAqL1xuLyogRGlhbG9nICovXG4ubWRsLXJhZGlvLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWRsLXJhZGlvLmlzLXVwZ3JhZGVkLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5pcy11cGdyYWRlZC5tZGwtY2hlY2tib3gge1xuICAgIHBhZGRpbmctbGVmdDogMjRweDsgfVxuXG4ubWRsLXJhZGlvX19idXR0b24ge1xuICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAubWRsLXJhZGlvLmlzLXVwZ3JhZGVkIC5tZGwtcmFkaW9fX2J1dHRvbiwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAuaXMtdXBncmFkZWQubWRsLWNoZWNrYm94IC5tZGwtcmFkaW9fX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7IH1cblxuLm1kbC1yYWRpb19fb3V0ZXItY2lyY2xlLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1jaGVja2JveF9fYm94LW91dGxpbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsMCwwLCAwLjU0KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB6LWluZGV4OiAyOyB9XG4gIC5tZGwtcmFkaW8uaXMtY2hlY2tlZCAubWRsLXJhZGlvX19vdXRlci1jaXJjbGUsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmlzLWNoZWNrZWQubWRsLWNoZWNrYm94IC5tZGwtcmFkaW9fX291dGVyLWNpcmNsZSwgLm1kbC1yYWRpby5pcy1jaGVja2VkICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveCAubWRsLWNoZWNrYm94X19ib3gtb3V0bGluZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtcmFkaW8uaXMtY2hlY2tlZCAubWRsLWNoZWNrYm94X19ib3gtb3V0bGluZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAuaXMtY2hlY2tlZC5tZGwtY2hlY2tib3ggLm1kbC1jaGVja2JveF9fYm94LW91dGxpbmUge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYig2Myw4MSwxODEpOyB9XG4gIC5tZGwtcmFkaW9fX291dGVyLWNpcmNsZSBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC1yYWRpbywgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX2JveC1vdXRsaW5lIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXJhZGlvLCAubWRsLXJhZGlvX19vdXRlci1jaXJjbGUgZmllbGRzZXRbZGlzYWJsZWRdICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveCwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLXJhZGlvX19vdXRlci1jaXJjbGUgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtY2hlY2tib3gsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveCAubWRsLWNoZWNrYm94X19ib3gtb3V0bGluZSBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC1jaGVja2JveCxcbiAgLm1kbC1yYWRpby5pcy1kaXNhYmxlZCAubWRsLXJhZGlvX19vdXRlci1jaXJjbGUsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmlzLWRpc2FibGVkLm1kbC1jaGVja2JveCAubWRsLXJhZGlvX19vdXRlci1jaXJjbGUsXG4gIC5tZGwtcmFkaW8uaXMtZGlzYWJsZWQgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX2JveC1vdXRsaW5lLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3hcbiAgLm1kbC1yYWRpby5pcy1kaXNhYmxlZCAubWRsLWNoZWNrYm94X19ib3gtb3V0bGluZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAuaXMtZGlzYWJsZWQubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX2JveC1vdXRsaW5lIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsMCwwLCAwLjI2KTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLm1kbC1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IDA7XG4gIHRvcDogOHB4O1xuICBsZWZ0OiA0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMjhzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHJnYig2Myw4MSwxODEpOyB9XG4gIC5tZGwtcmFkaW8uaXMtY2hlY2tlZCAubWRsLXJhZGlvX19pbm5lci1jaXJjbGUsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmlzLWNoZWNrZWQubWRsLWNoZWNrYm94IC5tZGwtcmFkaW9fX2lubmVyLWNpcmNsZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLCAxKTsgfVxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC1yYWRpbyAubWRsLXJhZGlvX19pbm5lci1jaXJjbGUsIGZpZWxkc2V0W2Rpc2FibGVkXSAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1yYWRpb19faW5uZXItY2lyY2xlLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLWNoZWNrYm94IC5tZGwtcmFkaW9fX2lubmVyLWNpcmNsZSxcbiAgLm1kbC1yYWRpby5pcy1kaXNhYmxlZCAubWRsLXJhZGlvX19pbm5lci1jaXJjbGUsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmlzLWRpc2FibGVkLm1kbC1jaGVja2JveCAubWRsLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDAuMjYpO1xuICAgIGN1cnNvcjogYXV0bzsgfVxuICAubWRsLXJhZGlvLmlzLWZvY3VzZWQgLm1kbC1yYWRpb19faW5uZXItY2lyY2xlLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5pcy1mb2N1c2VkLm1kbC1jaGVja2JveCAubWRsLXJhZGlvX19pbm5lci1jaXJjbGUge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLm1kbC1yYWRpb19fbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtcmFkaW8gLm1kbC1yYWRpb19fbGFiZWwsIGZpZWxkc2V0W2Rpc2FibGVkXSAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1yYWRpb19fbGFiZWwsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtY2hlY2tib3ggLm1kbC1yYWRpb19fbGFiZWwsXG4gIC5tZGwtcmFkaW8uaXMtZGlzYWJsZWQgLm1kbC1yYWRpb19fbGFiZWwsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmlzLWRpc2FibGVkLm1kbC1jaGVja2JveCAubWRsLXJhZGlvX19sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsIDAuMjYpO1xuICAgIGN1cnNvcjogYXV0bzsgfVxuXG4ubWRsLXJhZGlvX19yaXBwbGUtY29udGFpbmVyLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1jaGVja2JveF9fcmlwcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAtOXB4O1xuICBsZWZ0OiAtMTNweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCB3aGl0ZSwgYmxhY2spOyB9XG4gIC5tZGwtcmFkaW9fX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveCAubWRsLWNoZWNrYm94X19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2IoNjMsODEsMTgxKTsgfVxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC1yYWRpbyAubWRsLXJhZGlvX19yaXBwbGUtY29udGFpbmVyLCBmaWVsZHNldFtkaXNhYmxlZF0gI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtcmFkaW9fX3JpcHBsZS1jb250YWluZXIsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtY2hlY2tib3ggLm1kbC1yYWRpb19fcmlwcGxlLWNvbnRhaW5lciwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXJhZGlvIC5tZGwtY2hlY2tib3hfX3JpcHBsZS1jb250YWluZXIsIGZpZWxkc2V0W2Rpc2FibGVkXSAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1jaGVja2JveF9fcmlwcGxlLWNvbnRhaW5lciwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC1jaGVja2JveCAubWRsLWNoZWNrYm94X19yaXBwbGUtY29udGFpbmVyLFxuICAubWRsLXJhZGlvLmlzLWRpc2FibGVkIC5tZGwtcmFkaW9fX3JpcHBsZS1jb250YWluZXIsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmlzLWRpc2FibGVkLm1kbC1jaGVja2JveCAubWRsLXJhZGlvX19yaXBwbGUtY29udGFpbmVyLFxuICAubWRsLXJhZGlvLmlzLWRpc2FibGVkICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveCAubWRsLWNoZWNrYm94X19yaXBwbGUtY29udGFpbmVyLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3hcbiAgLm1kbC1yYWRpby5pcy1kaXNhYmxlZCAubWRsLWNoZWNrYm94X19yaXBwbGUtY29udGFpbmVyLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5pcy1kaXNhYmxlZC5tZGwtY2hlY2tib3ggLm1kbC1jaGVja2JveF9fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXJhZGlvIC5tZGwtcmFkaW9fX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUsIGZpZWxkc2V0W2Rpc2FibGVkXSAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1yYWRpb19fcmlwcGxlLWNvbnRhaW5lciAubWRsLXJpcHBsZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC1jaGVja2JveCAubWRsLXJhZGlvX19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtcmFkaW8gLm1kbC1jaGVja2JveF9fcmlwcGxlLWNvbnRhaW5lciAubWRsLXJpcHBsZSwgZmllbGRzZXRbZGlzYWJsZWRdICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveCAubWRsLWNoZWNrYm94X19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUsXG4gIC5tZGwtcmFkaW8uaXMtZGlzYWJsZWQgLm1kbC1yYWRpb19fcmlwcGxlLWNvbnRhaW5lciAubWRsLXJpcHBsZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAuaXMtZGlzYWJsZWQubWRsLWNoZWNrYm94IC5tZGwtcmFkaW9fX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUsXG4gIC5tZGwtcmFkaW8uaXMtZGlzYWJsZWQgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveFxuICAubWRsLXJhZGlvLmlzLWRpc2FibGVkIC5tZGwtY2hlY2tib3hfX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmlzLWRpc2FibGVkLm1kbC1jaGVja2JveCAubWRsLWNoZWNrYm94X19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuXzotbXMtaW5wdXQtcGxhY2Vob2xkZXIsIDpyb290IC5tZGwtc2xpZGVyLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQge1xuICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDA7IH1cblxuLm1kbC1zbGlkZXIge1xuICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIG1hcmdpbjogMCAyMHB4OyB9XG4gIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIG91dGxpbmU6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogcmdiKDYzLDgxLDE4MSk7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIFRyYWNrcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIFRodW1icyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIDAtdmFsdWUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBEaXNhYmxlZCAqKioqKioqKioqKioqKioqKioqKioqKioqKioqLyB9XG4gICAgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQ6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQ6Oi1tcy10b29sdGlwIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZDo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZDo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkOjotbXMtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZDo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IDE2cHgsIHJnYig2Myw4MSwxODEpIDE2cHgsIHJnYig2Myw4MSwxODEpIDApOyB9XG4gICAgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQ6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IDE2cHgsIHJnYmEoMCwwLDAsIDAuMjYpIDE2cHgsIHJnYmEoMCwwLDAsIDAuMjYpIDApOyB9XG4gICAgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYig2Myw4MSwxODEpO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMThzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGJvcmRlciAwLjE4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBib3gtc2hhZG93IDAuMThzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSksIGJhY2tncm91bmQgMC4yOHMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoNjMsODEsMTgxKTtcbiAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkOmZvY3VzOm5vdCg6YWN0aXZlKTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDYzLDgxLDE4MSwgMC4yNik7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZDpmb2N1czpub3QoOmFjdGl2ZSk6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDYzLDgxLDE4MSwgMC4yNik7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZDphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoNjMsODEsMTgxKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogcmdiKDYzLDgxLDE4MSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZDo6LW1zLXRodW1iIHtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiKDYzLDgxLDE4MSk7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzc1KTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpLCBiYWNrZ3JvdW5kIDAuMjhzIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZDpmb2N1czpub3QoOmFjdGl2ZSk6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgcmdiKDYzLDgxLDE4MSkgMCUsIHJnYig2Myw4MSwxODEpIDM3LjUlLCByZ2JhKDYzLDgxLDE4MSwgMC4yNikgMzcuNSUsIHJnYmEoNjMsODEsMTgxLCAwLjI2KSAxMDAlKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZDphY3RpdmU6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2IoNjMsODEsMTgxKTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41NjI1KTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgwLDAsMCwgMC4yNik7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDAsMCwwLCAwLjI2KTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQuaXMtbG93ZXN0LXZhbHVlICtcbi5tZGwtc2xpZGVyX19iYWNrZ3JvdW5kLWZsZXggPiAubWRsLXNsaWRlcl9fYmFja2dyb3VuZC11cHBlciB7XG4gICAgICBsZWZ0OiA2cHg7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6Zm9jdXM6bm90KDphY3RpdmUpOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwwLDAsIDAuMTIpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwgMC4xMik7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6Zm9jdXM6bm90KDphY3RpdmUpOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLDAsMCwgMC4xMik7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwLjEyKTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJvcmRlcjogMS42cHggc29saWQgcmdiYSgwLDAsMCwgMC4yNik7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6YWN0aXZlICtcbi5tZGwtc2xpZGVyX19iYWNrZ3JvdW5kLWZsZXggPiAubWRsLXNsaWRlcl9fYmFja2dyb3VuZC11cHBlciB7XG4gICAgICBsZWZ0OiA5cHg7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6YWN0aXZlOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJvcmRlcjogMS41cHggc29saWQgcmdiYSgwLDAsMCwgMC4yNik7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDY2LjY3JSwgcmdiYSgwLDAsMCwgMC4yNikgNjYuNjclLCByZ2JhKDAsMCwwLCAwLjI2KSAxMDAlKTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTpmb2N1czpub3QoOmFjdGl2ZSk6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgcmdiYSgwLDAsMCwgMC4xMikgMCUsIHJnYmEoMCwwLDAsIDAuMTIpIDI1JSwgcmdiYSgwLDAsMCwgMC4yNikgMjUlLCByZ2JhKDAsMCwwLCAwLjI2KSAzNy41JSwgcmdiYSgwLDAsMCwgMC4xMikgMzcuNSUsIHJnYmEoMCwwLDAsIDAuMTIpIDEwMCUpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTphY3RpdmU6Oi1tcy10aHVtYiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNTYyNSk7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDc3Ljc4JSwgcmdiYSgwLDAsMCwgMC4yNikgNzcuNzglLCByZ2JhKDAsMCwwLCAwLjI2KSAxMDAlKTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6YWN0aXZlOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4OyB9XG4gICAgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQ6ZGlzYWJsZWQ6Zm9jdXM6Oi13ZWJraXQtc2xpZGVyLXRodW1iLCAubWRsLXNsaWRlci5pcy11cGdyYWRlZDpkaXNhYmxlZDphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iLCAubWRsLXNsaWRlci5pcy11cGdyYWRlZDpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2Nyk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwLjI2KTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkOmRpc2FibGVkOmZvY3VzOjotbW96LXJhbmdlLXRodW1iLCAubWRsLXNsaWRlci5pcy11cGdyYWRlZDpkaXNhYmxlZDphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWIsIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkOmRpc2FibGVkOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC42NjcpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwgMC4yNik7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZDpkaXNhYmxlZCArXG4ubWRsLXNsaWRlcl9fYmFja2dyb3VuZC1mbGV4ID4gLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwgMC4yNik7XG4gICAgICBsZWZ0OiAtNnB4OyB9XG4gICAgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQ6ZGlzYWJsZWQgK1xuLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtZmxleCA+IC5tZGwtc2xpZGVyX19iYWNrZ3JvdW5kLXVwcGVyIHtcbiAgICAgIGxlZnQ6IDZweDsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIsIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iLCAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6ZGlzYWJsZWQ6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMCwwLDAsIDAuMjYpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjY3KTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDpmb2N1czo6LW1vei1yYW5nZS10aHVtYiwgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQuaXMtbG93ZXN0LXZhbHVlOmRpc2FibGVkOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYiwgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQuaXMtbG93ZXN0LXZhbHVlOmRpc2FibGVkOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMCwwLDAsIDAuMjYpO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjY3KTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDphY3RpdmUgK1xuLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtZmxleCA+IC5tZGwtc2xpZGVyX19iYWNrZ3JvdW5kLXVwcGVyIHtcbiAgICAgIGxlZnQ6IDZweDsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkOmRpc2FibGVkOmZvY3VzOjotbXMtdGh1bWIsIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkOmRpc2FibGVkOmFjdGl2ZTo6LW1zLXRodW1iLCAubWRsLXNsaWRlci5pcy11cGdyYWRlZDpkaXNhYmxlZDo6LW1zLXRodW1iIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yNSk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwLjI2KTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDpmb2N1czo6LW1zLXRodW1iLCAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6ZGlzYWJsZWQ6YWN0aXZlOjotbXMtdGh1bWIsIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDo6LW1zLXRodW1iIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yNSk7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGNsb3Nlc3Qtc2lkZSwgdHJhbnNwYXJlbnQgMCUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgwLDAsMCwgMC4yNikgNTAlLCByZ2JhKDAsMCwwLCAwLjI2KSAxMDAlKTsgfVxuICAgIC5tZGwtc2xpZGVyLmlzLXVwZ3JhZGVkOmRpc2FibGVkOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDZweDtcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgdHJhbnNwYXJlbnQsIHRyYW5zcGFyZW50IDI1cHgsIHJnYmEoMCwwLDAsIDAuMjYpIDI1cHgsIHJnYmEoMCwwLDAsIDAuMjYpIDApOyB9XG4gICAgLm1kbC1zbGlkZXIuaXMtdXBncmFkZWQ6ZGlzYWJsZWQ6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7IH1cbiAgICAubWRsLXNsaWRlci5pcy11cGdyYWRlZC5pcy1sb3dlc3QtdmFsdWU6ZGlzYWJsZWQ6YWN0aXZlOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4OyB9XG5cbi5tZGwtc2xpZGVyX19pZS1jb250YWluZXIge1xuICBoZWlnaHQ6IDE4cHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogbm9uZTtcbiAgcGFkZGluZzogbm9uZTsgfVxuXG4ubWRsLXNsaWRlcl9fY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAxOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtZmxleCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNTJweCk7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDAgMjZweDtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMXB4KTsgfVxuXG4ubWRsLXNsaWRlcl9fYmFja2dyb3VuZC1sb3dlciB7XG4gIGJhY2tncm91bmQ6IHJnYig2Myw4MSwxODEpO1xuICBmbGV4OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4ubWRsLXNsaWRlcl9fYmFja2dyb3VuZC11cHBlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDAuMjYpO1xuICBmbGV4OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgdHJhbnNpdGlvbjogbGVmdCAwLjE4cyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU1RZTEUgR1VJREUgVkFSSUFCTEVTLS0tLS0tLS0tLS0tLS0tLS0tRGVjbGFyYXRpb25zIG9mIFNhc3MgdmFyaWFibGVzXG4gKiAtLS0tLVR5cG9ncmFwaHlcbiAqIC0tLS0tQ29sb3JzXG4gKiAtLS0tLVRleHRmaWVsZFxuICogLS0tLS1Td2l0Y2hcbiAqIC0tLS0tU3Bpbm5lclxuICogLS0tLS1SYWRpb1xuICogLS0tLS1NZW51XG4gKiAtLS0tLUxpc3RcbiAqIC0tLS0tTGF5b3V0XG4gKiAtLS0tLUljb24gdG9nZ2xlc1xuICogLS0tLS1Gb290ZXJcbiAqIC0tLS0tQ29sdW1uXG4gKiAtLS0tLUNoZWNrYm94XG4gKiAtLS0tLUNhcmRcbiAqIC0tLS0tQnV0dG9uXG4gKiAtLS0tLUFuaW1hdGlvblxuICogLS0tLS1Qcm9ncmVzc1xuICogLS0tLS1CYWRnZVxuICogLS0tLS1TaGFkb3dzXG4gKiAtLS0tLUdyaWRcbiAqIC0tLS0tRGF0YSB0YWJsZVxuICogLS0tLS1EaWFsb2dcbiAqIC0tLS0tU25hY2tiYXJcbiAqIC0tLS0tVG9vbHRpcFxuICogLS0tLS1DaGlwXG4gKlxuICogRXZlbiB0aG91Z2ggYWxsIHZhcmlhYmxlcyBoYXZlIHRoZSBgIWRlZmF1bHRgIGRpcmVjdGl2ZSwgbW9zdCBvZiB0aGVtXG4gKiBzaG91bGQgbm90IGJlIGNoYW5nZWQgYXMgdGhleSBhcmUgZGVwZW5kZW50IG9uZSBhbm90aGVyLiBUaGlzIGNhbiBjYXVzZVxuICogdmlzdWFsIGRpc3RvcnRpb25zIChsaWtlIGFsaWdubWVudCBpc3N1ZXMpIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2sgZG93blxuICogYW5kIGZpeC5cbiAqL1xuLyogPT09PT09PT09PSAgVFlQT0dSQVBIWSAgPT09PT09PT09PSAqL1xuLyogV2UncmUgc3BsaXR0aW5nIGZvbnRzIGludG8gXCJwcmVmZXJyZWRcIiBhbmQgXCJwZXJmb3JtYW5jZVwiIGluIG9yZGVyIHRvIG9wdGltaXplXG4gICBwYWdlIGxvYWRpbmcuIEZvciBpbXBvcnRhbnQgdGV4dCwgc3VjaCBhcyB0aGUgYm9keSwgd2Ugd2FudCBpdCB0byBsb2FkXG4gICBpbW1lZGlhdGVseSBhbmQgbm90IHdhaXQgZm9yIHRoZSB3ZWIgZm9udCBsb2FkLCB3aGVyZWFzIGZvciBvdGhlciBzZWN0aW9ucyxcbiAgIHN1Y2ggYXMgaGVhZGVycyBhbmQgdGl0bGVzLCB3ZSdyZSBPSyB3aXRoIHRoaW5ncyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRvIGxvYWQuXG4gICBXZSBkbyBoYXZlIHNvbWUgb3B0aW9uYWwgY2xhc3NlcyBhbmQgcGFyYW1ldGVycyBpbiB0aGUgbWl4aW5zLCBpbiBjYXNlIHlvdVxuICAgZGVmaW5pdGVseSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGhlIHByZWZlcnJlZCBmb250IGFuZCBkb24ndCBtaW5kXG4gICB0aGUgcGVyZm9ybWFuY2UgaGl0LlxuICAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gaW1wcm92ZSBvbiB0aGlzIG9uY2UgQ1NTIEZvbnQgTG9hZGluZyBMMyBiZWNvbWVzIG1vcmVcbiAgIHdpZGVseSBhdmFpbGFibGUuXG4qL1xuLyogPT09PT09PT09PSAgQ09MT1JTICA9PT09PT09PT09ICovXG4vKipcbipcbiogTWF0ZXJpYWwgZGVzaWduIGNvbG9yIHBhbGV0dGVzLlxuKiBAc2VlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS9jb2xvci5odG1sXG4qXG4qKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBDb2xvciBQYWxldHRlcyAgPT09PT09PT09PSAqL1xuLyogY29sb3JzLnNjc3MgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb21wb25lbnRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJY29uIFRvZ2dsZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJhZGlvIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJpcHBsZSBlZmZlY3QgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExheW91dCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29udGVudCBUYWJzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDaGVja2JveGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVGV4dCBmaWVsZHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENhcmQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNsaWRlcnMgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSBQcm9ncmVzcyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMaXN0ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEl0ZW0gPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRHJvcGRvd24gbWVudSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUb29sdGlwcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRm9vdGVyICA9PT09PT09PT09ICovXG4vKiBURVhURklFTEQgKi9cbi8qIFNXSVRDSCAqL1xuLyogU1BJTk5FUiAqL1xuLyogUkFESU8gKi9cbi8qIE1FTlUgKi9cbi8qIExJU1QgKi9cbi8qIExBWU9VVCAqL1xuLyogSUNPTiBUT0dHTEUgKi9cbi8qIEZPT1RFUiAqL1xuLyptZWdhLWZvb3RlciovXG4vKm1pbmktZm9vdGVyKi9cbi8qIENIRUNLQk9YICovXG4vKiBDQVJEICovXG4vKiBDYXJkIGRpbWVuc2lvbnMgKi9cbi8qIENvdmVyIGltYWdlICovXG4vKiBCVVRUT04gKi9cbi8qKlxuICpcbiAqIERpbWVuc2lvbnNcbiAqXG4gKi9cbi8qIEFOSU1BVElPTiAqL1xuLyogUFJPR1JFU1MgKi9cbi8qIEJBREdFICovXG4vKiBTSEFET1dTICovXG4vKiBHUklEICovXG4vKiBEQVRBIFRBQkxFICovXG4vKiBESUFMT0cgKi9cbi8qIFNOQUNLQkFSICovXG4vKiBUT09MVElQICovXG4vKiBDSElQICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogVHlwb2dyYXBoeSAqL1xuLyogU2hhZG93cyAqL1xuLyogQW5pbWF0aW9ucyAqL1xuLyogRGlhbG9nICovXG4ubWRsLXNuYWNrYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzMjMyO1xuICB6LWluZGV4OiAzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmb250LWZhbWlseTogXCJSb2JvdG9cIiwgXCJIZWx2ZXRpY2FcIiwgXCJBcmlhbFwiLCBzYW5zLXNlcmlmO1xuICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCA4MHB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzIGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgICAubWRsLXNuYWNrYmFyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm1kbC1zbmFja2JhciB7XG4gICAgICBtaW4td2lkdGg6IDI4OHB4O1xuICAgICAgbWF4LXdpZHRoOiA1NjhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDgwcHgpOyB9IH1cbiAgLm1kbC1zbmFja2Jhci0tYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4yNXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5tZGwtc25hY2tiYXItLWFjdGl2ZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApOyB9IH1cbiAgLm1kbC1zbmFja2Jhcl9fdGV4dCB7XG4gICAgcGFkZGluZzogMTRweCAxMnB4IDE0cHggMjRweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAubWRsLXNuYWNrYmFyX19hY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogcmdiKDI1NSw2NCwxMjkpO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IDE0cHggMjRweCAxNHB4IDEycHg7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuICAgIC5tZGwtc25hY2tiYXJfX2FjdGlvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAubWRsLXNuYWNrYmFyX19hY3Rpb246bm90KFthcmlhLWhpZGRlbl0pIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLm1kbC1zcGlubmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyOHB4O1xuICBoZWlnaHQ6IDI4cHg7IH1cbiAgLm1kbC1zcGlubmVyOm5vdCguaXMtdXBncmFkZWQpLmlzLWFjdGl2ZTphZnRlciB7XG4gICAgY29udGVudDogXCJMb2FkaW5nLi4uXCI7IH1cbiAgLm1kbC1zcGlubmVyLmlzLXVwZ3JhZGVkLmlzLWFjdGl2ZSB7XG4gICAgYW5pbWF0aW9uOiBtZGwtc3Bpbm5lcl9fY29udGFpbmVyLXJvdGF0ZSAxNTY4LjIzNTI5bXMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgbWRsLXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUge1xuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi5tZGwtc3Bpbm5lcl9fbGF5ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9wYWNpdHk6IDA7IH1cblxuLm1kbC1zcGlubmVyX19sYXllci0xIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoNjYsMTY1LDI0NSk7IH1cbiAgLm1kbC1zcGlubmVyLS1zaW5nbGUtY29sb3IgLm1kbC1zcGlubmVyX19sYXllci0xIHtcbiAgICBib3JkZXItY29sb3I6IHJnYig2Myw4MSwxODEpOyB9XG4gIC5tZGwtc3Bpbm5lci5pcy1hY3RpdmUgLm1kbC1zcGlubmVyX19sYXllci0xIHtcbiAgICBhbmltYXRpb246IG1kbC1zcGlubmVyX19maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgaW5maW5pdGUgYm90aCwgbWRsLXNwaW5uZXJfX2xheWVyLTEtZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgaW5maW5pdGUgYm90aDsgfVxuXG4ubWRsLXNwaW5uZXJfX2xheWVyLTIge1xuICBib3JkZXItY29sb3I6IHJnYigyNDQsNjcsNTQpOyB9XG4gIC5tZGwtc3Bpbm5lci0tc2luZ2xlLWNvbG9yIC5tZGwtc3Bpbm5lcl9fbGF5ZXItMiB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNjMsODEsMTgxKTsgfVxuICAubWRsLXNwaW5uZXIuaXMtYWN0aXZlIC5tZGwtc3Bpbm5lcl9fbGF5ZXItMiB7XG4gICAgYW5pbWF0aW9uOiBtZGwtc3Bpbm5lcl9fZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIGluZmluaXRlIGJvdGgsIG1kbC1zcGlubmVyX19sYXllci0yLWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7IH1cblxuLm1kbC1zcGlubmVyX19sYXllci0zIHtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMjUzLDIxNiw1Myk7IH1cbiAgLm1kbC1zcGlubmVyLS1zaW5nbGUtY29sb3IgLm1kbC1zcGlubmVyX19sYXllci0zIHtcbiAgICBib3JkZXItY29sb3I6IHJnYig2Myw4MSwxODEpOyB9XG4gIC5tZGwtc3Bpbm5lci5pcy1hY3RpdmUgLm1kbC1zcGlubmVyX19sYXllci0zIHtcbiAgICBhbmltYXRpb246IG1kbC1zcGlubmVyX19maWxsLXVuZmlsbC1yb3RhdGUgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgaW5maW5pdGUgYm90aCwgbWRsLXNwaW5uZXJfX2xheWVyLTMtZmFkZS1pbi1vdXQgNTMzMm1zIGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSkgaW5maW5pdGUgYm90aDsgfVxuXG4ubWRsLXNwaW5uZXJfX2xheWVyLTQge1xuICBib3JkZXItY29sb3I6IHJnYig3NiwxNzUsODApOyB9XG4gIC5tZGwtc3Bpbm5lci0tc2luZ2xlLWNvbG9yIC5tZGwtc3Bpbm5lcl9fbGF5ZXItNCB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoNjMsODEsMTgxKTsgfVxuICAubWRsLXNwaW5uZXIuaXMtYWN0aXZlIC5tZGwtc3Bpbm5lcl9fbGF5ZXItNCB7XG4gICAgYW5pbWF0aW9uOiBtZGwtc3Bpbm5lcl9fZmlsbC11bmZpbGwtcm90YXRlIDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIGluZmluaXRlIGJvdGgsIG1kbC1zcGlubmVyX19sYXllci00LWZhZGUtaW4tb3V0IDUzMzJtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7IH1cblxuQGtleWZyYW1lcyBtZGwtc3Bpbm5lcl9fZmlsbC11bmZpbGwtcm90YXRlIHtcbiAgMTIuNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7IH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpOyB9XG4gIDM3LjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0MDVkZWcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNTQwZGVnKTsgfVxuICA2Mi41JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNjc1ZGVnKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDgxMGRlZyk7IH1cbiAgODcuNSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDk0NWRlZyk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEwODBkZWcpOyB9IH1cblxuLyoqXG4qIEhBQ0s6IEV2ZW4gdGhvdWdoIHRoZSBpbnRlbnRpb24gaXMgdG8gaGF2ZSB0aGUgY3VycmVudCAubWRsLXNwaW5uZXJfX2xheWVyLU5cbiogYXQgYG9wYWNpdHk6IDFgLCB3ZSBzZXQgaXQgdG8gYG9wYWNpdHk6IDAuOTlgIGluc3RlYWQgc2luY2UgdGhpcyBmb3JjZXMgQ2hyb21lXG4qIHRvIGRvIHByb3BlciBzdWJwaXhlbCByZW5kZXJpbmcgZm9yIHRoZSBlbGVtZW50cyBiZWluZyBhbmltYXRlZC4gVGhpcyBpc1xuKiBlc3BlY2lhbGx5IHZpc2libGUgaW4gQ2hyb21lIDM5IG9uIFVidW50dSAxNC4wNC4gU2VlOlxuKlxuKiAtIGh0dHBzOi8vZ2l0aHViLmNvbS9Qb2x5bWVyL3BhcGVyLXNwaW5uZXIvaXNzdWVzLzlcbiogLSBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nocm9taXVtL2lzc3Vlcy9kZXRhaWw/aWQ9NDM2MjU1XG4qL1xuQGtleWZyYW1lcyBtZGwtc3Bpbm5lcl9fbGF5ZXItMS1mYWRlLWluLW91dCB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDAuOTk7IH1cbiAgMjUlIHtcbiAgICBvcGFjaXR5OiAwLjk5OyB9XG4gIDI2JSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA4OSUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgOTAlIHtcbiAgICBvcGFjaXR5OiAwLjk5OyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDAuOTk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19sYXllci0yLWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxNSUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMjUlIHtcbiAgICBvcGFjaXR5OiAwLjk5OyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC45OTsgfVxuICA1MSUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19sYXllci0zLWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjk5OyB9XG4gIDc1JSB7XG4gICAgb3BhY2l0eTogMC45OTsgfVxuICA3NiUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19sYXllci00LWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2NSUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNzUlIHtcbiAgICBvcGFjaXR5OiAwLjk5OyB9XG4gIDkwJSB7XG4gICAgb3BhY2l0eTogMC45OTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLyoqXG4qIFBhdGNoIHRoZSBnYXAgdGhhdCBhcHBlYXIgYmV0d2VlbiB0aGUgdHdvIGFkamFjZW50XG4qIGRpdi5tZGwtc3Bpbm5lcl9fY2lyY2xlLWNsaXBwZXIgd2hpbGUgdGhlIHNwaW5uZXIgaXMgcm90YXRpbmdcbiogKGFwcGVhcnMgb24gQ2hyb21lIDM4LCBTYWZhcmkgNy4xLCBhbmQgSUUgMTEpLlxuKlxuKiBVcGRhdGU6IHRoZSBnYXAgbm8gbG9uZ2VyIGFwcGVhcnMgb24gQ2hyb21lIHdoZW4gLm1kbC1zcGlubmVyX19sYXllci1OJ3Ncbiogb3BhY2l0eSBpcyAwLjk5LCBidXQgc3RpbGwgZG9lcyBvbiBTYWZhcmkgYW5kIElFLlxuKi9cbi5tZGwtc3Bpbm5lcl9fZ2FwLXBhdGNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDQ1JTtcbiAgd2lkdGg6IDEwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cbiAgLm1kbC1zcGlubmVyX19nYXAtcGF0Y2ggLm1kbC1zcGlubmVyX19jaXJjbGUge1xuICAgIHdpZHRoOiAxMDAwJTtcbiAgICBsZWZ0OiAtNDUwJTsgfVxuXG4ubWRsLXNwaW5uZXJfX2NpcmNsZS1jbGlwcGVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA1MCU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gIC5tZGwtc3Bpbm5lcl9fY2lyY2xlLWNsaXBwZXIubWRsLXNwaW5uZXJfX2xlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZGwtc3Bpbm5lcl9fY2lyY2xlLWNsaXBwZXIubWRsLXNwaW5uZXJfX3JpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm1kbC1zcGlubmVyX19jaXJjbGUtY2xpcHBlciAubWRsLXNwaW5uZXJfX2NpcmNsZSB7XG4gICAgd2lkdGg6IDIwMCU7IH1cblxuLm1kbC1zcGlubmVyX19jaXJjbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci13aWR0aDogM3B4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDsgfVxuICAubWRsLXNwaW5uZXJfX2xlZnQgLm1kbC1zcGlubmVyX19jaXJjbGUge1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMjlkZWcpOyB9XG4gICAgLm1kbC1zcGlubmVyLmlzLWFjdGl2ZSAubWRsLXNwaW5uZXJfX2xlZnQgLm1kbC1zcGlubmVyX19jaXJjbGUge1xuICAgICAgYW5pbWF0aW9uOiBtZGwtc3Bpbm5lcl9fbGVmdC1zcGluIDEzMzNtcyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpIGluZmluaXRlIGJvdGg7IH1cbiAgLm1kbC1zcGlubmVyX19yaWdodCAubWRsLXNwaW5uZXJfX2NpcmNsZSB7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEyOWRlZyk7IH1cbiAgICAubWRsLXNwaW5uZXIuaXMtYWN0aXZlIC5tZGwtc3Bpbm5lcl9fcmlnaHQgLm1kbC1zcGlubmVyX19jaXJjbGUge1xuICAgICAgYW5pbWF0aW9uOiBtZGwtc3Bpbm5lcl9fcmlnaHQtc3BpbiAxMzMzbXMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC4yLCAxKSBpbmZpbml0ZSBib3RoOyB9XG5cbkBrZXlmcmFtZXMgbWRsLXNwaW5uZXJfX2xlZnQtc3BpbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgdG8ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19yaWdodC1zcGluIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZyk7IH0gfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIFR5cG9ncmFwaHkgKi9cbi8qIFNoYWRvd3MgKi9cbi8qIEFuaW1hdGlvbnMgKi9cbi8qIERpYWxvZyAqL1xuLm1kbC1zd2l0Y2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5tZGwtc3dpdGNoLmlzLXVwZ3JhZGVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDI4cHg7IH1cblxuLm1kbC1zd2l0Y2hfX2lucHV0IHtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgLm1kbC1zd2l0Y2guaXMtdXBncmFkZWQgLm1kbC1zd2l0Y2hfX2lucHV0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4ubWRsLXN3aXRjaF9fdHJhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwLjI2KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDVweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZGwtc3dpdGNoLmlzLWNoZWNrZWQgLm1kbC1zd2l0Y2hfX3RyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDYzLDgxLDE4MSwgMC41KTsgfVxuICAubWRsLXN3aXRjaF9fdHJhY2sgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtc3dpdGNoLFxuICAubWRsLXN3aXRjaC5pcy1kaXNhYmxlZCAubWRsLXN3aXRjaF9fdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsIDAuMTIpO1xuICAgIGN1cnNvcjogYXV0bzsgfVxuXG4ubWRsLXN3aXRjaF9fdGh1bWIge1xuICBiYWNrZ3JvdW5kOiByZ2IoMjUwLDI1MCwyNTApO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMnB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjI4cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQsIDAsIDAuMiwgMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7IH1cbiAgLm1kbC1zd2l0Y2guaXMtY2hlY2tlZCAubWRsLXN3aXRjaF9fdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHJnYig2Myw4MSwxODEpO1xuICAgIGxlZnQ6IDE2cHg7XG4gICAgYm94LXNoYWRvdzogMCAzcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggM3B4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG4gIC5tZGwtc3dpdGNoX190aHVtYiBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC1zd2l0Y2gsXG4gIC5tZGwtc3dpdGNoLmlzLWRpc2FibGVkIC5tZGwtc3dpdGNoX190aHVtYiB7XG4gICAgYmFja2dyb3VuZDogcmdiKDE4OSwxODksMTg5KTtcbiAgICBjdXJzb3I6IGF1dG87IH1cblxuLm1kbC1zd2l0Y2hfX2ZvY3VzLWhlbHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTRweCwgLTRweCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1kbC1zd2l0Y2guaXMtZm9jdXNlZCAubWRsLXN3aXRjaF9fZm9jdXMtaGVscGVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAubWRsLXN3aXRjaC5pcy1mb2N1c2VkLmlzLWNoZWNrZWQgLm1kbC1zd2l0Y2hfX2ZvY3VzLWhlbHBlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDBweCAyMHB4IHJnYmEoNjMsODEsMTgxLCAwLjI2KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYzLDgxLDE4MSwgMC4yNik7IH1cblxuLm1kbC1zd2l0Y2hfX2xhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbjogMDtcbiAgbGVmdDogMjRweDsgfVxuICAubWRsLXN3aXRjaF9fbGFiZWwgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtc3dpdGNoLFxuICAubWRsLXN3aXRjaC5pcy1kaXNhYmxlZCAubWRsLXN3aXRjaF9fbGFiZWwge1xuICAgIGNvbG9yOiByZ2IoMTg5LDE4OSwxODkpO1xuICAgIGN1cnNvcjogYXV0bzsgfVxuXG4ubWRsLXN3aXRjaF9fcmlwcGxlLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMjtcbiAgdG9wOiAtMTJweDtcbiAgbGVmdDogLTE0cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiA0OHB4O1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgd2hpdGUsIGJsYWNrKTtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC40MHM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBzdGVwLWVuZDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdDsgfVxuICAubWRsLXN3aXRjaF9fcmlwcGxlLWNvbnRhaW5lciAubWRsLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogcmdiKDYzLDgxLDE4MSk7IH1cbiAgLm1kbC1zd2l0Y2hfX3JpcHBsZS1jb250YWluZXIgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtc3dpdGNoLFxuICAubWRsLXN3aXRjaC5pcy1kaXNhYmxlZCAubWRsLXN3aXRjaF9fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgY3Vyc29yOiBhdXRvOyB9XG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXN3aXRjaCAubWRsLXN3aXRjaF9fcmlwcGxlLWNvbnRhaW5lciAubWRsLXJpcHBsZSxcbiAgLm1kbC1zd2l0Y2guaXMtZGlzYWJsZWQgLm1kbC1zd2l0Y2hfX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5tZGwtc3dpdGNoLmlzLWNoZWNrZWQgLm1kbC1zd2l0Y2hfX3JpcHBsZS1jb250YWluZXIge1xuICAgIGxlZnQ6IDJweDsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLm1kbC10YWJzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZGwtdGFic19fdGFiLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgaGVpZ2h0OiA0OHB4O1xuICBwYWRkaW5nOiAwIDAgMCAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2IoMjI0LDIyNCwyMjQpOyB9XG5cbi5tZGwtdGFic19fdGFiIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMjRweCAwIDI0cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGhlaWdodDogNDhweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjb2xvcjogcmdiYSgwLDAsMCwgMC41NCk7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLm1kbC10YWJzLmlzLXVwZ3JhZGVkIC5tZGwtdGFic19fdGFiLmlzLWFjdGl2ZSB7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsIDAuODcpOyB9XG4gIC5tZGwtdGFicy5pcy11cGdyYWRlZCAubWRsLXRhYnNfX3RhYi5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGJvdHRvbTogMHB4O1xuICAgIGxlZnQ6IDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZDogcmdiKDYzLDgxLDE4MSk7XG4gICAgYW5pbWF0aW9uOiBib3JkZXItZXhwYW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC40LCAxKSAwLjAxcyBhbHRlcm5hdGUgZm9yd2FyZHM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpOyB9XG4gIC5tZGwtdGFic19fdGFiIC5tZGwtdGFic19fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwcHg7XG4gICAgdG9wOiAwcHg7XG4gICAgei1pbmRleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLm1kbC10YWJzX190YWIgLm1kbC10YWJzX19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlIHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYig2Myw4MSwxODEpOyB9XG5cbi5tZGwtdGFic19fcGFuZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubWRsLXRhYnMuaXMtdXBncmFkZWQgLm1kbC10YWJzX19wYW5lbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWRsLXRhYnMuaXMtdXBncmFkZWQgLm1kbC10YWJzX19wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBrZXlmcmFtZXMgYm9yZGVyLWV4cGFuZCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHdpZHRoOiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qIFR5cG9ncmFwaHkgKi9cbi8qIFNoYWRvd3MgKi9cbi8qIEFuaW1hdGlvbnMgKi9cbi8qIERpYWxvZyAqL1xuLm1kbC10ZXh0ZmllbGQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMzAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cbiAgLm1kbC10ZXh0ZmllbGQgLm1kbC1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDIwcHg7IH1cblxuLm1kbC10ZXh0ZmllbGQtLWFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLm1kbC10ZXh0ZmllbGQtLWZ1bGwtd2lkdGgge1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWRsLXRleHRmaWVsZC0tZXhwYW5kYWJsZSB7XG4gIG1pbi13aWR0aDogMzJweDtcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDMycHg7IH1cbiAgLm1kbC10ZXh0ZmllbGQtLWV4cGFuZGFibGUgLm1kbC1idXR0b24tLWljb24ge1xuICAgIHRvcDogMTZweDsgfVxuXG4ubWRsLXRleHRmaWVsZF9faW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLCAwLjEyKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA0cHggMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5tZGwtdGV4dGZpZWxkX19pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgfVxuICAubWRsLXRleHRmaWVsZF9faW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiwgLm1kbC10ZXh0ZmllbGRfX2lucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm1kbC10ZXh0ZmllbGQuaXMtZm9jdXNlZCAubWRsLXRleHRmaWVsZF9faW5wdXQge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLm1kbC10ZXh0ZmllbGQuaXMtaW52YWxpZCAubWRsLXRleHRmaWVsZF9faW5wdXQge1xuICAgIGJvcmRlci1jb2xvcjogcmdiKDIxMywwLDApO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtdGV4dGZpZWxkIC5tZGwtdGV4dGZpZWxkX19pbnB1dCxcbiAgLm1kbC10ZXh0ZmllbGQuaXMtZGlzYWJsZWQgLm1kbC10ZXh0ZmllbGRfX2lucHV0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIHJnYmEoMCwwLDAsIDAuMTIpO1xuICAgIGNvbG9yOiByZ2JhKDAsMCwwLCAwLjI2KTsgfVxuXG4ubWRsLXRleHRmaWVsZCB0ZXh0YXJlYS5tZGwtdGV4dGZpZWxkX19pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5tZGwtdGV4dGZpZWxkX19sYWJlbCB7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6IHJnYmEoMCwwLDAsIDAuMjYpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiAyNHB4O1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWRsLXRleHRmaWVsZC5pcy1kaXJ0eSAubWRsLXRleHRmaWVsZF9fbGFiZWwsXG4gIC5tZGwtdGV4dGZpZWxkLmhhcy1wbGFjZWhvbGRlciAubWRsLXRleHRmaWVsZF9fbGFiZWwge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwgLm1kbC10ZXh0ZmllbGRfX2xhYmVsIHtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpOyB9XG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5oYXMtcGxhY2Vob2xkZXIgLm1kbC10ZXh0ZmllbGRfX2xhYmVsIHtcbiAgICB0cmFuc2l0aW9uOiBub25lOyB9XG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXRleHRmaWVsZCAubWRsLXRleHRmaWVsZF9fbGFiZWwsXG4gIC5tZGwtdGV4dGZpZWxkLmlzLWRpc2FibGVkLmlzLWRpc2FibGVkIC5tZGwtdGV4dGZpZWxkX19sYWJlbCB7XG4gICAgY29sb3I6IHJnYmEoMCwwLDAsIDAuMjYpOyB9XG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1mb2N1c2VkIC5tZGwtdGV4dGZpZWxkX19sYWJlbCxcbiAgLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsLmlzLWRpcnR5IC5tZGwtdGV4dGZpZWxkX19sYWJlbCxcbiAgLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsLmhhcy1wbGFjZWhvbGRlciAubWRsLXRleHRmaWVsZF9fbGFiZWwge1xuICAgIGNvbG9yOiByZ2IoNjMsODEsMTgxKTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdG9wOiA0cHg7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwuaXMtZm9jdXNlZCAubWRsLXRleHRmaWVsZF9fZXhwYW5kYWJsZS1ob2xkZXIgLm1kbC10ZXh0ZmllbGRfX2xhYmVsLFxuICAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwuaXMtZGlydHkgLm1kbC10ZXh0ZmllbGRfX2V4cGFuZGFibGUtaG9sZGVyIC5tZGwtdGV4dGZpZWxkX19sYWJlbCxcbiAgLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsLmhhcy1wbGFjZWhvbGRlciAubWRsLXRleHRmaWVsZF9fZXhwYW5kYWJsZS1ob2xkZXIgLm1kbC10ZXh0ZmllbGRfX2xhYmVsIHtcbiAgICB0b3A6IC0xNnB4OyB9XG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1pbnZhbGlkIC5tZGwtdGV4dGZpZWxkX19sYWJlbCB7XG4gICAgY29sb3I6IHJnYigyMTMsMCwwKTtcbiAgICBmb250LXNpemU6IDEycHg7IH1cbiAgLm1kbC10ZXh0ZmllbGRfX2xhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoNjMsODEsMTgxKTtcbiAgICBib3R0b206IDIwcHg7XG4gICAgY29udGVudDogJyc7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbGVmdDogNDUlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB3aWR0aDogMTBweDsgfVxuICAubWRsLXRleHRmaWVsZC5pcy1mb2N1c2VkIC5tZGwtdGV4dGZpZWxkX19sYWJlbDphZnRlciB7XG4gICAgbGVmdDogMDtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZGwtdGV4dGZpZWxkLmlzLWludmFsaWQgLm1kbC10ZXh0ZmllbGRfX2xhYmVsOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjEzLDAsMCk7IH1cblxuLm1kbC10ZXh0ZmllbGRfX2Vycm9yIHtcbiAgY29sb3I6IHJnYigyMTMsMCwwKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubWRsLXRleHRmaWVsZC5pcy1pbnZhbGlkIC5tZGwtdGV4dGZpZWxkX19lcnJvciB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4ubWRsLXRleHRmaWVsZF9fZXhwYW5kYWJsZS1ob2xkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6IDMycHg7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMC4xcHg7IH1cbiAgLm1kbC10ZXh0ZmllbGQuaXMtZm9jdXNlZCAubWRsLXRleHRmaWVsZF9fZXhwYW5kYWJsZS1ob2xkZXIsIC5tZGwtdGV4dGZpZWxkLmlzLWRpcnR5IC5tZGwtdGV4dGZpZWxkX19leHBhbmRhYmxlLWhvbGRlciB7XG4gICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAubWRsLXRleHRmaWVsZF9fZXhwYW5kYWJsZS1ob2xkZXIgLm1kbC10ZXh0ZmllbGRfX2xhYmVsOmFmdGVyIHtcbiAgICBib3R0b206IDA7IH1cblxuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSogICAgJENPTlRFTlRTXG5cXCotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyoqXG4gKiBTVFlMRSBHVUlERSBWQVJJQUJMRVMtLS0tLS0tLS0tLS0tLS0tLS1EZWNsYXJhdGlvbnMgb2YgU2FzcyB2YXJpYWJsZXNcbiAqIC0tLS0tVHlwb2dyYXBoeVxuICogLS0tLS1Db2xvcnNcbiAqIC0tLS0tVGV4dGZpZWxkXG4gKiAtLS0tLVN3aXRjaFxuICogLS0tLS1TcGlubmVyXG4gKiAtLS0tLVJhZGlvXG4gKiAtLS0tLU1lbnVcbiAqIC0tLS0tTGlzdFxuICogLS0tLS1MYXlvdXRcbiAqIC0tLS0tSWNvbiB0b2dnbGVzXG4gKiAtLS0tLUZvb3RlclxuICogLS0tLS1Db2x1bW5cbiAqIC0tLS0tQ2hlY2tib3hcbiAqIC0tLS0tQ2FyZFxuICogLS0tLS1CdXR0b25cbiAqIC0tLS0tQW5pbWF0aW9uXG4gKiAtLS0tLVByb2dyZXNzXG4gKiAtLS0tLUJhZGdlXG4gKiAtLS0tLVNoYWRvd3NcbiAqIC0tLS0tR3JpZFxuICogLS0tLS1EYXRhIHRhYmxlXG4gKiAtLS0tLURpYWxvZ1xuICogLS0tLS1TbmFja2JhclxuICogLS0tLS1Ub29sdGlwXG4gKiAtLS0tLUNoaXBcbiAqXG4gKiBFdmVuIHRob3VnaCBhbGwgdmFyaWFibGVzIGhhdmUgdGhlIGAhZGVmYXVsdGAgZGlyZWN0aXZlLCBtb3N0IG9mIHRoZW1cbiAqIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcyB0aGV5IGFyZSBkZXBlbmRlbnQgb25lIGFub3RoZXIuIFRoaXMgY2FuIGNhdXNlXG4gKiB2aXN1YWwgZGlzdG9ydGlvbnMgKGxpa2UgYWxpZ25tZW50IGlzc3VlcykgdGhhdCBhcmUgaGFyZCB0byB0cmFjayBkb3duXG4gKiBhbmQgZml4LlxuICovXG4vKiA9PT09PT09PT09ICBUWVBPR1JBUEhZICA9PT09PT09PT09ICovXG4vKiBXZSdyZSBzcGxpdHRpbmcgZm9udHMgaW50byBcInByZWZlcnJlZFwiIGFuZCBcInBlcmZvcm1hbmNlXCIgaW4gb3JkZXIgdG8gb3B0aW1pemVcbiAgIHBhZ2UgbG9hZGluZy4gRm9yIGltcG9ydGFudCB0ZXh0LCBzdWNoIGFzIHRoZSBib2R5LCB3ZSB3YW50IGl0IHRvIGxvYWRcbiAgIGltbWVkaWF0ZWx5IGFuZCBub3Qgd2FpdCBmb3IgdGhlIHdlYiBmb250IGxvYWQsIHdoZXJlYXMgZm9yIG90aGVyIHNlY3Rpb25zLFxuICAgc3VjaCBhcyBoZWFkZXJzIGFuZCB0aXRsZXMsIHdlJ3JlIE9LIHdpdGggdGhpbmdzIHRha2luZyBhIGJpdCBsb25nZXIgdG8gbG9hZC5cbiAgIFdlIGRvIGhhdmUgc29tZSBvcHRpb25hbCBjbGFzc2VzIGFuZCBwYXJhbWV0ZXJzIGluIHRoZSBtaXhpbnMsIGluIGNhc2UgeW91XG4gICBkZWZpbml0ZWx5IHdhbnQgdG8gbWFrZSBzdXJlIHlvdSdyZSB1c2luZyB0aGUgcHJlZmVycmVkIGZvbnQgYW5kIGRvbid0IG1pbmRcbiAgIHRoZSBwZXJmb3JtYW5jZSBoaXQuXG4gICBXZSBzaG91bGQgYmUgYWJsZSB0byBpbXByb3ZlIG9uIHRoaXMgb25jZSBDU1MgRm9udCBMb2FkaW5nIEwzIGJlY29tZXMgbW9yZVxuICAgd2lkZWx5IGF2YWlsYWJsZS5cbiovXG4vKiA9PT09PT09PT09ICBDT0xPUlMgID09PT09PT09PT0gKi9cbi8qKlxuKlxuKiBNYXRlcmlhbCBkZXNpZ24gY29sb3IgcGFsZXR0ZXMuXG4qIEBzZWUgaHR0cDovL3d3dy5nb29nbGUuY29tL2Rlc2lnbi9zcGVjL3N0eWxlL2NvbG9yLmh0bWxcbipcbioqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIENvbG9yIFBhbGV0dGVzICA9PT09PT09PT09ICovXG4vKiBjb2xvcnMuc2NzcyAqL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qID09PT09PT09PT0gIElNQUdFUyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgJiBUaGVtZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFR5cG9ncmFwaHkgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbXBvbmVudHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN0YW5kYXJkIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEljb24gVG9nZ2xlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmFkaW8gQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgUmlwcGxlIGVmZmVjdCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGF5b3V0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb250ZW50IFRhYnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENoZWNrYm94ZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFN3aXRjaGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTcGlubmVyICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUZXh0IGZpZWxkcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2FyZCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU2xpZGVycyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09IFByb2dyZXNzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExpc3QgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSXRlbSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBEcm9wZG93biBtZW51ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRvb2x0aXBzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBGb290ZXIgID09PT09PT09PT0gKi9cbi8qIFRFWFRGSUVMRCAqL1xuLyogU1dJVENIICovXG4vKiBTUElOTkVSICovXG4vKiBSQURJTyAqL1xuLyogTUVOVSAqL1xuLyogTElTVCAqL1xuLyogTEFZT1VUICovXG4vKiBJQ09OIFRPR0dMRSAqL1xuLyogRk9PVEVSICovXG4vKm1lZ2EtZm9vdGVyKi9cbi8qbWluaS1mb290ZXIqL1xuLyogQ0hFQ0tCT1ggKi9cbi8qIENBUkQgKi9cbi8qIENhcmQgZGltZW5zaW9ucyAqL1xuLyogQ292ZXIgaW1hZ2UgKi9cbi8qIEJVVFRPTiAqL1xuLyoqXG4gKlxuICogRGltZW5zaW9uc1xuICpcbiAqL1xuLyogQU5JTUFUSU9OICovXG4vKiBQUk9HUkVTUyAqL1xuLyogQkFER0UgKi9cbi8qIFNIQURPV1MgKi9cbi8qIEdSSUQgKi9cbi8qIERBVEEgVEFCTEUgKi9cbi8qIERJQUxPRyAqL1xuLyogU05BQ0tCQVIgKi9cbi8qIFRPT0xUSVAgKi9cbi8qIENISVAgKi9cbi5tZGwtdG9vbHRpcCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTtcbiAgYmFja2dyb3VuZDogcmdiYSg5Nyw5Nyw5NywgMC45KTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBjb2xvcjogcmdiKDI1NSwyNTUsMjU1KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBtYXgtd2lkdGg6IDE3MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTUwMHB4O1xuICBsZWZ0OiAtNTAwcHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5tZGwtdG9vbHRpcC5pcy1hY3RpdmUge1xuICBhbmltYXRpb246IHB1bHNlIDIwMG1zIGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpIGZvcndhcmRzOyB9XG5cbi5tZGwtdG9vbHRpcC0tbGFyZ2Uge1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAxNnB4OyB9XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfSB9XG5cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qICAgICRDT05URU5UU1xuXFwqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qKlxuICogU1RZTEUgR1VJREUgVkFSSUFCTEVTLS0tLS0tLS0tLS0tLS0tLS0tRGVjbGFyYXRpb25zIG9mIFNhc3MgdmFyaWFibGVzXG4gKiAtLS0tLVR5cG9ncmFwaHlcbiAqIC0tLS0tQ29sb3JzXG4gKiAtLS0tLVRleHRmaWVsZFxuICogLS0tLS1Td2l0Y2hcbiAqIC0tLS0tU3Bpbm5lclxuICogLS0tLS1SYWRpb1xuICogLS0tLS1NZW51XG4gKiAtLS0tLUxpc3RcbiAqIC0tLS0tTGF5b3V0XG4gKiAtLS0tLUljb24gdG9nZ2xlc1xuICogLS0tLS1Gb290ZXJcbiAqIC0tLS0tQ29sdW1uXG4gKiAtLS0tLUNoZWNrYm94XG4gKiAtLS0tLUNhcmRcbiAqIC0tLS0tQnV0dG9uXG4gKiAtLS0tLUFuaW1hdGlvblxuICogLS0tLS1Qcm9ncmVzc1xuICogLS0tLS1CYWRnZVxuICogLS0tLS1TaGFkb3dzXG4gKiAtLS0tLUdyaWRcbiAqIC0tLS0tRGF0YSB0YWJsZVxuICogLS0tLS1EaWFsb2dcbiAqIC0tLS0tU25hY2tiYXJcbiAqIC0tLS0tVG9vbHRpcFxuICogLS0tLS1DaGlwXG4gKlxuICogRXZlbiB0aG91Z2ggYWxsIHZhcmlhYmxlcyBoYXZlIHRoZSBgIWRlZmF1bHRgIGRpcmVjdGl2ZSwgbW9zdCBvZiB0aGVtXG4gKiBzaG91bGQgbm90IGJlIGNoYW5nZWQgYXMgdGhleSBhcmUgZGVwZW5kZW50IG9uZSBhbm90aGVyLiBUaGlzIGNhbiBjYXVzZVxuICogdmlzdWFsIGRpc3RvcnRpb25zIChsaWtlIGFsaWdubWVudCBpc3N1ZXMpIHRoYXQgYXJlIGhhcmQgdG8gdHJhY2sgZG93blxuICogYW5kIGZpeC5cbiAqL1xuLyogPT09PT09PT09PSAgVFlQT0dSQVBIWSAgPT09PT09PT09PSAqL1xuLyogV2UncmUgc3BsaXR0aW5nIGZvbnRzIGludG8gXCJwcmVmZXJyZWRcIiBhbmQgXCJwZXJmb3JtYW5jZVwiIGluIG9yZGVyIHRvIG9wdGltaXplXG4gICBwYWdlIGxvYWRpbmcuIEZvciBpbXBvcnRhbnQgdGV4dCwgc3VjaCBhcyB0aGUgYm9keSwgd2Ugd2FudCBpdCB0byBsb2FkXG4gICBpbW1lZGlhdGVseSBhbmQgbm90IHdhaXQgZm9yIHRoZSB3ZWIgZm9udCBsb2FkLCB3aGVyZWFzIGZvciBvdGhlciBzZWN0aW9ucyxcbiAgIHN1Y2ggYXMgaGVhZGVycyBhbmQgdGl0bGVzLCB3ZSdyZSBPSyB3aXRoIHRoaW5ncyB0YWtpbmcgYSBiaXQgbG9uZ2VyIHRvIGxvYWQuXG4gICBXZSBkbyBoYXZlIHNvbWUgb3B0aW9uYWwgY2xhc3NlcyBhbmQgcGFyYW1ldGVycyBpbiB0aGUgbWl4aW5zLCBpbiBjYXNlIHlvdVxuICAgZGVmaW5pdGVseSB3YW50IHRvIG1ha2Ugc3VyZSB5b3UncmUgdXNpbmcgdGhlIHByZWZlcnJlZCBmb250IGFuZCBkb24ndCBtaW5kXG4gICB0aGUgcGVyZm9ybWFuY2UgaGl0LlxuICAgV2Ugc2hvdWxkIGJlIGFibGUgdG8gaW1wcm92ZSBvbiB0aGlzIG9uY2UgQ1NTIEZvbnQgTG9hZGluZyBMMyBiZWNvbWVzIG1vcmVcbiAgIHdpZGVseSBhdmFpbGFibGUuXG4qL1xuLyogPT09PT09PT09PSAgQ09MT1JTICA9PT09PT09PT09ICovXG4vKipcbipcbiogTWF0ZXJpYWwgZGVzaWduIGNvbG9yIHBhbGV0dGVzLlxuKiBAc2VlIGh0dHA6Ly93d3cuZ29vZ2xlLmNvbS9kZXNpZ24vc3BlYy9zdHlsZS9jb2xvci5odG1sXG4qXG4qKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBDb2xvciBQYWxldHRlcyAgPT09PT09PT09PSAqL1xuLyogY29sb3JzLnNjc3MgKi9cbi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb21wb25lbnRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJY29uIFRvZ2dsZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJhZGlvIEJ1dHRvbnMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFJpcHBsZSBlZmZlY3QgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIExheW91dCAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29udGVudCBUYWJzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDaGVja2JveGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVGV4dCBmaWVsZHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENhcmQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNsaWRlcnMgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSBQcm9ncmVzcyA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMaXN0ID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEl0ZW0gPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRHJvcGRvd24gbWVudSA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBUb29sdGlwcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgRm9vdGVyICA9PT09PT09PT09ICovXG4vKiBURVhURklFTEQgKi9cbi8qIFNXSVRDSCAqL1xuLyogU1BJTk5FUiAqL1xuLyogUkFESU8gKi9cbi8qIE1FTlUgKi9cbi8qIExJU1QgKi9cbi8qIExBWU9VVCAqL1xuLyogSUNPTiBUT0dHTEUgKi9cbi8qIEZPT1RFUiAqL1xuLyptZWdhLWZvb3RlciovXG4vKm1pbmktZm9vdGVyKi9cbi8qIENIRUNLQk9YICovXG4vKiBDQVJEICovXG4vKiBDYXJkIGRpbWVuc2lvbnMgKi9cbi8qIENvdmVyIGltYWdlICovXG4vKiBCVVRUT04gKi9cbi8qKlxuICpcbiAqIERpbWVuc2lvbnNcbiAqXG4gKi9cbi8qIEFOSU1BVElPTiAqL1xuLyogUFJPR1JFU1MgKi9cbi8qIEJBREdFICovXG4vKiBTSEFET1dTICovXG4vKiBHUklEICovXG4vKiBEQVRBIFRBQkxFICovXG4vKiBESUFMT0cgKi9cbi8qIFNOQUNLQkFSICovXG4vKiBUT09MVElQICovXG4vKiBDSElQICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogVHlwb2dyYXBoeSAqL1xuLyogU2hhZG93cyAqL1xuLyogQW5pbWF0aW9ucyAqL1xuLyogRGlhbG9nICovXG4ubWRsLXNoYWRvdy0tMmRwIHtcbiAgYm94LXNoYWRvdzogMCAycHggMnB4IDAgcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCAzcHggMXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjIpLCAwIDFweCA1cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpOyB9XG5cbi5tZGwtc2hhZG93LS0zZHAge1xuICBib3gtc2hhZG93OiAwIDNweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAzcHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMiksIDAgMXB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7IH1cblxuLm1kbC1zaGFkb3ctLTRkcCB7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDVweCAwIHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMXB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggLTFweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1kbC1zaGFkb3ctLTZkcCB7XG4gIGJveC1zaGFkb3c6IDAgNnB4IDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDFweCAxOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAzcHggNXB4IC0xcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi5tZGwtc2hhZG93LS04ZHAge1xuICBib3gtc2hhZG93OiAwIDhweCAxMHB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTQpLCAwIDNweCAxNHB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDVweCA1cHggLTNweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLm1kbC1zaGFkb3ctLTE2ZHAge1xuICBib3gtc2hhZG93OiAwIDE2cHggMjRweCAycHggcmdiYSgwLCAwLCAwLCAwLjE0KSwgMCA2cHggMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCA4cHggMTBweCAtNXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4ubWRsLXNoYWRvdy0tMjRkcCB7XG4gIGJveC1zaGFkb3c6IDAgOXB4IDQ2cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNCksIDAgMTFweCAxNXB4IC03cHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAyNHB4IDM4cHggM3B4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLypcbiogTk9URTogU29tZSBydWxlcyBoZXJlIGFyZSBhcHBsaWVkIHVzaW5nIGR1cGxpY2F0ZSBzZWxlY3RvcnMuXG4qIFRoaXMgaXMgb24gcHVycG9zZSB0byBpbmNyZWFzZSB0aGVpciBzcGVjaWZpY2l0eSB3aGVuIGFwcGxpZWQuXG4qIEZvciBleGFtcGxlOiBgLm1kbC1jZWxsLS0xLWNvbC1waG9uZS5tZGwtY2VsbC0tMS1jb2wtcGhvbmVgXG4qL1xuLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cbi8qID09PT09PT09PT0gIFRZUE9HUkFQSFkgID09PT09PT09PT0gKi9cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbi8qID09PT09PT09PT0gIENPTE9SUyAgPT09PT09PT09PSAqL1xuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgQ29sb3IgUGFsZXR0ZXMgID09PT09PT09PT0gKi9cbi8qIGNvbG9ycy5zY3NzICovXG4vKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuLyogPT09PT09PT09PSAgSU1BR0VTICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDb2xvciAmIFRoZW1lcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVHlwb2dyYXBoeSAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3RhbmRhcmQgQnV0dG9ucyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBMYXlvdXQgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIENvbnRlbnQgVGFicyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgU3dpdGNoZXMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFNwaW5uZXIgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIFRleHQgZmllbGRzICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gUHJvZ3Jlc3MgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgTGlzdCA9PT09PT09PT09ICovXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIERyb3Bkb3duIG1lbnUgPT09PT09PT09PSAqL1xuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuLyogVEVYVEZJRUxEICovXG4vKiBTV0lUQ0ggKi9cbi8qIFNQSU5ORVIgKi9cbi8qIFJBRElPICovXG4vKiBNRU5VICovXG4vKiBMSVNUICovXG4vKiBMQVlPVVQgKi9cbi8qIElDT04gVE9HR0xFICovXG4vKiBGT09URVIgKi9cbi8qbWVnYS1mb290ZXIqL1xuLyptaW5pLWZvb3RlciovXG4vKiBDSEVDS0JPWCAqL1xuLyogQ0FSRCAqL1xuLyogQ2FyZCBkaW1lbnNpb25zICovXG4vKiBDb3ZlciBpbWFnZSAqL1xuLyogQlVUVE9OICovXG4vKipcbiAqXG4gKiBEaW1lbnNpb25zXG4gKlxuICovXG4vKiBBTklNQVRJT04gKi9cbi8qIFBST0dSRVNTICovXG4vKiBCQURHRSAqL1xuLyogU0hBRE9XUyAqL1xuLyogR1JJRCAqL1xuLyogREFUQSBUQUJMRSAqL1xuLyogRElBTE9HICovXG4vKiBTTkFDS0JBUiAqL1xuLyogVE9PTFRJUCAqL1xuLyogQ0hJUCAqL1xuLm1kbC1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgbWFyZ2luOiAwIGF1dG8gMCBhdXRvO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcge1xuICAgIHBhZGRpbmc6IDA7IH1cblxuLm1kbC1jZWxsIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubWRsLWNlbGwtLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLm1kbC1jZWxsLS1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLm1kbC1jZWxsLS1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4ubWRsLWNlbGwtLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTcge1xuICBvcmRlcjogNzsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTgge1xuICBvcmRlcjogODsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTkge1xuICBvcmRlcjogOTsgfVxuXG4ubWRsLWNlbGwtLW9yZGVyLTEwIHtcbiAgb3JkZXI6IDEwOyB9XG5cbi5tZGwtY2VsbC0tb3JkZXItMTEge1xuICBvcmRlcjogMTE7IH1cblxuLm1kbC1jZWxsLS1vcmRlci0xMiB7XG4gIG9yZGVyOiAxMjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDc5cHgpIHtcbiAgLm1kbC1ncmlkIHtcbiAgICBwYWRkaW5nOiA4cHg7IH1cbiAgLm1kbC1jZWxsIHtcbiAgICBtYXJnaW46IDhweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7IH1cbiAgICAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS1oaWRlLXBob25lIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLm1kbC1jZWxsLS1vcmRlci0xLXBob25lLm1kbC1jZWxsLS1vcmRlci0xLXBob25lIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTItcGhvbmUubWRsLWNlbGwtLW9yZGVyLTItcGhvbmUge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZGwtY2VsbC0tb3JkZXItMy1waG9uZS5tZGwtY2VsbC0tb3JkZXItMy1waG9uZSB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1kbC1jZWxsLS1vcmRlci00LXBob25lLm1kbC1jZWxsLS1vcmRlci00LXBob25lIHtcbiAgICBvcmRlcjogNDsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTUtcGhvbmUubWRsLWNlbGwtLW9yZGVyLTUtcGhvbmUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZGwtY2VsbC0tb3JkZXItNi1waG9uZS5tZGwtY2VsbC0tb3JkZXItNi1waG9uZSB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLm1kbC1jZWxsLS1vcmRlci03LXBob25lLm1kbC1jZWxsLS1vcmRlci03LXBob25lIHtcbiAgICBvcmRlcjogNzsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTgtcGhvbmUubWRsLWNlbGwtLW9yZGVyLTgtcGhvbmUge1xuICAgIG9yZGVyOiA4OyB9XG4gIC5tZGwtY2VsbC0tb3JkZXItOS1waG9uZS5tZGwtY2VsbC0tb3JkZXItOS1waG9uZSB7XG4gICAgb3JkZXI6IDk7IH1cbiAgLm1kbC1jZWxsLS1vcmRlci0xMC1waG9uZS5tZGwtY2VsbC0tb3JkZXItMTAtcGhvbmUge1xuICAgIG9yZGVyOiAxMDsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTExLXBob25lLm1kbC1jZWxsLS1vcmRlci0xMS1waG9uZSB7XG4gICAgb3JkZXI6IDExOyB9XG4gIC5tZGwtY2VsbC0tb3JkZXItMTItcGhvbmUubWRsLWNlbGwtLW9yZGVyLTEyLXBob25lIHtcbiAgICBvcmRlcjogMTI7IH1cbiAgLm1kbC1jZWxsLS0xLWNvbCxcbiAgLm1kbC1jZWxsLS0xLWNvbC1waG9uZS5tZGwtY2VsbC0tMS1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDE2cHgpOyB9XG4gICAgLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS0xLWNvbCwgLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTEtY29sLXBob25lLm1kbC1jZWxsLS0xLWNvbC1waG9uZSB7XG4gICAgICB3aWR0aDogMjUlOyB9XG4gIC5tZGwtY2VsbC0tMi1jb2wsXG4gIC5tZGwtY2VsbC0tMi1jb2wtcGhvbmUubWRsLWNlbGwtLTItY29sLXBob25lIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMi1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS0yLWNvbC1waG9uZS5tZGwtY2VsbC0tMi1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAubWRsLWNlbGwtLTMtY29sLFxuICAubWRsLWNlbGwtLTMtY29sLXBob25lLm1kbC1jZWxsLS0zLWNvbC1waG9uZSB7XG4gICAgd2lkdGg6IGNhbGMoNzUlIC0gMTZweCk7IH1cbiAgICAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTMtY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMy1jb2wtcGhvbmUubWRsLWNlbGwtLTMtY29sLXBob25lIHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1kbC1jZWxsLS00LWNvbCxcbiAgLm1kbC1jZWxsLS00LWNvbC1waG9uZS5tZGwtY2VsbC0tNC1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNC1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS00LWNvbC1waG9uZS5tZGwtY2VsbC0tNC1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS01LWNvbCxcbiAgLm1kbC1jZWxsLS01LWNvbC1waG9uZS5tZGwtY2VsbC0tNS1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNS1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS01LWNvbC1waG9uZS5tZGwtY2VsbC0tNS1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS02LWNvbCxcbiAgLm1kbC1jZWxsLS02LWNvbC1waG9uZS5tZGwtY2VsbC0tNi1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNi1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS02LWNvbC1waG9uZS5tZGwtY2VsbC0tNi1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS03LWNvbCxcbiAgLm1kbC1jZWxsLS03LWNvbC1waG9uZS5tZGwtY2VsbC0tNy1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNy1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS03LWNvbC1waG9uZS5tZGwtY2VsbC0tNy1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS04LWNvbCxcbiAgLm1kbC1jZWxsLS04LWNvbC1waG9uZS5tZGwtY2VsbC0tOC1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tOC1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS04LWNvbC1waG9uZS5tZGwtY2VsbC0tOC1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS05LWNvbCxcbiAgLm1kbC1jZWxsLS05LWNvbC1waG9uZS5tZGwtY2VsbC0tOS1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tOS1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS05LWNvbC1waG9uZS5tZGwtY2VsbC0tOS1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS0xMC1jb2wsXG4gIC5tZGwtY2VsbC0tMTAtY29sLXBob25lLm1kbC1jZWxsLS0xMC1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMTAtY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMTAtY29sLXBob25lLm1kbC1jZWxsLS0xMC1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS0xMS1jb2wsXG4gIC5tZGwtY2VsbC0tMTEtY29sLXBob25lLm1kbC1jZWxsLS0xMS1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMTEtY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMTEtY29sLXBob25lLm1kbC1jZWxsLS0xMS1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS0xMi1jb2wsXG4gIC5tZGwtY2VsbC0tMTItY29sLXBob25lLm1kbC1jZWxsLS0xMi1jb2wtcGhvbmUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMTItY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMTItY29sLXBob25lLm1kbC1jZWxsLS0xMi1jb2wtcGhvbmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS0xLW9mZnNldCxcbiAgLm1kbC1jZWxsLS0xLW9mZnNldC1waG9uZS5tZGwtY2VsbC0tMS1vZmZzZXQtcGhvbmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDI1JSArIDhweCk7IH1cbiAgICAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTEtb2Zmc2V0LCAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMS1vZmZzZXQtcGhvbmUubWRsLWNlbGwtLTEtb2Zmc2V0LXBob25lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1kbC1jZWxsLS0yLW9mZnNldCxcbiAgLm1kbC1jZWxsLS0yLW9mZnNldC1waG9uZS5tZGwtY2VsbC0tMi1vZmZzZXQtcGhvbmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSArIDhweCk7IH1cbiAgICAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTItb2Zmc2V0LCAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMi1vZmZzZXQtcGhvbmUubWRsLWNlbGwtLTItb2Zmc2V0LXBob25lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1kbC1jZWxsLS0zLW9mZnNldCxcbiAgLm1kbC1jZWxsLS0zLW9mZnNldC1waG9uZS5tZGwtY2VsbC0tMy1vZmZzZXQtcGhvbmUge1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDc1JSArIDhweCk7IH1cbiAgICAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTMtb2Zmc2V0LCAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMy1vZmZzZXQtcGhvbmUubWRsLWNlbGwtLTMtb2Zmc2V0LXBob25lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiA4MzlweCkge1xuICAubWRsLWdyaWQge1xuICAgIHBhZGRpbmc6IDhweDsgfVxuICAubWRsLWNlbGwge1xuICAgIG1hcmdpbjogOHB4O1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE2cHgpOyB9XG4gICAgLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1kbC1jZWxsLS1oaWRlLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5tZGwtY2VsbC0tb3JkZXItMS10YWJsZXQubWRsLWNlbGwtLW9yZGVyLTEtdGFibGV0IHtcbiAgICBvcmRlcjogMTsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTItdGFibGV0Lm1kbC1jZWxsLS1vcmRlci0yLXRhYmxldCB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1kbC1jZWxsLS1vcmRlci0zLXRhYmxldC5tZGwtY2VsbC0tb3JkZXItMy10YWJsZXQge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZGwtY2VsbC0tb3JkZXItNC10YWJsZXQubWRsLWNlbGwtLW9yZGVyLTQtdGFibGV0IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTUtdGFibGV0Lm1kbC1jZWxsLS1vcmRlci01LXRhYmxldCB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1kbC1jZWxsLS1vcmRlci02LXRhYmxldC5tZGwtY2VsbC0tb3JkZXItNi10YWJsZXQge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5tZGwtY2VsbC0tb3JkZXItNy10YWJsZXQubWRsLWNlbGwtLW9yZGVyLTctdGFibGV0IHtcbiAgICBvcmRlcjogNzsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTgtdGFibGV0Lm1kbC1jZWxsLS1vcmRlci04LXRhYmxldCB7XG4gICAgb3JkZXI6IDg7IH1cbiAgLm1kbC1jZWxsLS1vcmRlci05LXRhYmxldC5tZGwtY2VsbC0tb3JkZXItOS10YWJsZXQge1xuICAgIG9yZGVyOiA5OyB9XG4gIC5tZGwtY2VsbC0tb3JkZXItMTAtdGFibGV0Lm1kbC1jZWxsLS1vcmRlci0xMC10YWJsZXQge1xuICAgIG9yZGVyOiAxMDsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTExLXRhYmxldC5tZGwtY2VsbC0tb3JkZXItMTEtdGFibGV0IHtcbiAgICBvcmRlcjogMTE7IH1cbiAgLm1kbC1jZWxsLS1vcmRlci0xMi10YWJsZXQubWRsLWNlbGwtLW9yZGVyLTEyLXRhYmxldCB7XG4gICAgb3JkZXI6IDEyOyB9XG4gIC5tZGwtY2VsbC0tMS1jb2wsXG4gIC5tZGwtY2VsbC0tMS1jb2wtdGFibGV0Lm1kbC1jZWxsLS0xLWNvbC10YWJsZXQge1xuICAgIHdpZHRoOiBjYWxjKDEyLjUlIC0gMTZweCk7IH1cbiAgICAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTEtY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMS1jb2wtdGFibGV0Lm1kbC1jZWxsLS0xLWNvbC10YWJsZXQge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9XG4gIC5tZGwtY2VsbC0tMi1jb2wsXG4gIC5tZGwtY2VsbC0tMi1jb2wtdGFibGV0Lm1kbC1jZWxsLS0yLWNvbC10YWJsZXQge1xuICAgIHdpZHRoOiBjYWxjKDI1JSAtIDE2cHgpOyB9XG4gICAgLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS0yLWNvbCwgLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTItY29sLXRhYmxldC5tZGwtY2VsbC0tMi1jb2wtdGFibGV0IHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1kbC1jZWxsLS0zLWNvbCxcbiAgLm1kbC1jZWxsLS0zLWNvbC10YWJsZXQubWRsLWNlbGwtLTMtY29sLXRhYmxldCB7XG4gICAgd2lkdGg6IGNhbGMoMzcuNSUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMy1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS0zLWNvbC10YWJsZXQubWRsLWNlbGwtLTMtY29sLXRhYmxldCB7XG4gICAgICB3aWR0aDogMzcuNSU7IH1cbiAgLm1kbC1jZWxsLS00LWNvbCxcbiAgLm1kbC1jZWxsLS00LWNvbC10YWJsZXQubWRsLWNlbGwtLTQtY29sLXRhYmxldCB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMTZweCk7IH1cbiAgICAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTQtY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tNC1jb2wtdGFibGV0Lm1kbC1jZWxsLS00LWNvbC10YWJsZXQge1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAubWRsLWNlbGwtLTUtY29sLFxuICAubWRsLWNlbGwtLTUtY29sLXRhYmxldC5tZGwtY2VsbC0tNS1jb2wtdGFibGV0IHtcbiAgICB3aWR0aDogY2FsYyg2Mi41JSAtIDE2cHgpOyB9XG4gICAgLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS01LWNvbCwgLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTUtY29sLXRhYmxldC5tZGwtY2VsbC0tNS1jb2wtdGFibGV0IHtcbiAgICAgIHdpZHRoOiA2Mi41JTsgfVxuICAubWRsLWNlbGwtLTYtY29sLFxuICAubWRsLWNlbGwtLTYtY29sLXRhYmxldC5tZGwtY2VsbC0tNi1jb2wtdGFibGV0IHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNi1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS02LWNvbC10YWJsZXQubWRsLWNlbGwtLTYtY29sLXRhYmxldCB7XG4gICAgICB3aWR0aDogNzUlOyB9XG4gIC5tZGwtY2VsbC0tNy1jb2wsXG4gIC5tZGwtY2VsbC0tNy1jb2wtdGFibGV0Lm1kbC1jZWxsLS03LWNvbC10YWJsZXQge1xuICAgIHdpZHRoOiBjYWxjKDg3LjUlIC0gMTZweCk7IH1cbiAgICAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTctY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tNy1jb2wtdGFibGV0Lm1kbC1jZWxsLS03LWNvbC10YWJsZXQge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5tZGwtY2VsbC0tOC1jb2wsXG4gIC5tZGwtY2VsbC0tOC1jb2wtdGFibGV0Lm1kbC1jZWxsLS04LWNvbC10YWJsZXQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tOC1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS04LWNvbC10YWJsZXQubWRsLWNlbGwtLTgtY29sLXRhYmxldCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWRsLWNlbGwtLTktY29sLFxuICAubWRsLWNlbGwtLTktY29sLXRhYmxldC5tZGwtY2VsbC0tOS1jb2wtdGFibGV0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7IH1cbiAgICAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTktY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tOS1jb2wtdGFibGV0Lm1kbC1jZWxsLS05LWNvbC10YWJsZXQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS0xMC1jb2wsXG4gIC5tZGwtY2VsbC0tMTAtY29sLXRhYmxldC5tZGwtY2VsbC0tMTAtY29sLXRhYmxldCB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpOyB9XG4gICAgLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS0xMC1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS0xMC1jb2wtdGFibGV0Lm1kbC1jZWxsLS0xMC1jb2wtdGFibGV0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZGwtY2VsbC0tMTEtY29sLFxuICAubWRsLWNlbGwtLTExLWNvbC10YWJsZXQubWRsLWNlbGwtLTExLWNvbC10YWJsZXQge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMTEtY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMTEtY29sLXRhYmxldC5tZGwtY2VsbC0tMTEtY29sLXRhYmxldCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWRsLWNlbGwtLTEyLWNvbCxcbiAgLm1kbC1jZWxsLS0xMi1jb2wtdGFibGV0Lm1kbC1jZWxsLS0xMi1jb2wtdGFibGV0IHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7IH1cbiAgICAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTEyLWNvbCwgLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTEyLWNvbC10YWJsZXQubWRsLWNlbGwtLTEyLWNvbC10YWJsZXQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1kbC1jZWxsLS0xLW9mZnNldCxcbiAgLm1kbC1jZWxsLS0xLW9mZnNldC10YWJsZXQubWRsLWNlbGwtLTEtb2Zmc2V0LXRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMTIuNSUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS0xLW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTEtb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tMS1vZmZzZXQtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAubWRsLWNlbGwtLTItb2Zmc2V0LFxuICAubWRsLWNlbGwtLTItb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tMi1vZmZzZXQtdGFibGV0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygyNSUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS0yLW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTItb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tMi1vZmZzZXQtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1kbC1jZWxsLS0zLW9mZnNldCxcbiAgLm1kbC1jZWxsLS0zLW9mZnNldC10YWJsZXQubWRsLWNlbGwtLTMtb2Zmc2V0LXRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMzcuNSUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS0zLW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTMtb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tMy1vZmZzZXQtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzNy41JTsgfVxuICAubWRsLWNlbGwtLTQtb2Zmc2V0LFxuICAubWRsLWNlbGwtLTQtb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tNC1vZmZzZXQtdGFibGV0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS00LW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTQtb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tNC1vZmZzZXQtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1kbC1jZWxsLS01LW9mZnNldCxcbiAgLm1kbC1jZWxsLS01LW9mZnNldC10YWJsZXQubWRsLWNlbGwtLTUtb2Zmc2V0LXRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNjIuNSUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS01LW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTUtb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tNS1vZmZzZXQtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2Mi41JTsgfVxuICAubWRsLWNlbGwtLTYtb2Zmc2V0LFxuICAubWRsLWNlbGwtLTYtb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tNi1vZmZzZXQtdGFibGV0IHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg3NSUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS02LW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTYtb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tNi1vZmZzZXQtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1kbC1jZWxsLS03LW9mZnNldCxcbiAgLm1kbC1jZWxsLS03LW9mZnNldC10YWJsZXQubWRsLWNlbGwtLTctb2Zmc2V0LXRhYmxldCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoODcuNSUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS03LW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTctb2Zmc2V0LXRhYmxldC5tZGwtY2VsbC0tNy1vZmZzZXQtdGFibGV0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4Ny41JTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4NDBweCkge1xuICAubWRsLWdyaWQge1xuICAgIHBhZGRpbmc6IDhweDsgfVxuICAubWRsLWNlbGwge1xuICAgIG1hcmdpbjogOHB4O1xuICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDE2cHgpOyB9XG4gICAgLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1kbC1jZWxsLS1oaWRlLWRlc2t0b3Age1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTEtZGVza3RvcC5tZGwtY2VsbC0tb3JkZXItMS1kZXNrdG9wIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTItZGVza3RvcC5tZGwtY2VsbC0tb3JkZXItMi1kZXNrdG9wIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTMtZGVza3RvcC5tZGwtY2VsbC0tb3JkZXItMy1kZXNrdG9wIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTQtZGVza3RvcC5tZGwtY2VsbC0tb3JkZXItNC1kZXNrdG9wIHtcbiAgICBvcmRlcjogNDsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTUtZGVza3RvcC5tZGwtY2VsbC0tb3JkZXItNS1kZXNrdG9wIHtcbiAgICBvcmRlcjogNTsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTYtZGVza3RvcC5tZGwtY2VsbC0tb3JkZXItNi1kZXNrdG9wIHtcbiAgICBvcmRlcjogNjsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTctZGVza3RvcC5tZGwtY2VsbC0tb3JkZXItNy1kZXNrdG9wIHtcbiAgICBvcmRlcjogNzsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTgtZGVza3RvcC5tZGwtY2VsbC0tb3JkZXItOC1kZXNrdG9wIHtcbiAgICBvcmRlcjogODsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTktZGVza3RvcC5tZGwtY2VsbC0tb3JkZXItOS1kZXNrdG9wIHtcbiAgICBvcmRlcjogOTsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTEwLWRlc2t0b3AubWRsLWNlbGwtLW9yZGVyLTEwLWRlc2t0b3Age1xuICAgIG9yZGVyOiAxMDsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTExLWRlc2t0b3AubWRsLWNlbGwtLW9yZGVyLTExLWRlc2t0b3Age1xuICAgIG9yZGVyOiAxMTsgfVxuICAubWRsLWNlbGwtLW9yZGVyLTEyLWRlc2t0b3AubWRsLWNlbGwtLW9yZGVyLTEyLWRlc2t0b3Age1xuICAgIG9yZGVyOiAxMjsgfVxuICAubWRsLWNlbGwtLTEtY29sLFxuICAubWRsLWNlbGwtLTEtY29sLWRlc2t0b3AubWRsLWNlbGwtLTEtY29sLWRlc2t0b3Age1xuICAgIHdpZHRoOiBjYWxjKDguMzMzMzMlIC0gMTZweCk7IH1cbiAgICAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTEtY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMS1jb2wtZGVza3RvcC5tZGwtY2VsbC0tMS1jb2wtZGVza3RvcCB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1kbC1jZWxsLS0yLWNvbCxcbiAgLm1kbC1jZWxsLS0yLWNvbC1kZXNrdG9wLm1kbC1jZWxsLS0yLWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMi1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS0yLWNvbC1kZXNrdG9wLm1kbC1jZWxsLS0yLWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1kbC1jZWxsLS0zLWNvbCxcbiAgLm1kbC1jZWxsLS0zLWNvbC1kZXNrdG9wLm1kbC1jZWxsLS0zLWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMy1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS0zLWNvbC1kZXNrdG9wLm1kbC1jZWxsLS0zLWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1kbC1jZWxsLS00LWNvbCxcbiAgLm1kbC1jZWxsLS00LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS00LWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNC1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS00LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS00LWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1kbC1jZWxsLS01LWNvbCxcbiAgLm1kbC1jZWxsLS01LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS01LWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYyg0MS42NjY2NyUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNS1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS01LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS01LWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1kbC1jZWxsLS02LWNvbCxcbiAgLm1kbC1jZWxsLS02LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS02LWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNi1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS02LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS02LWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1kbC1jZWxsLS03LWNvbCxcbiAgLm1kbC1jZWxsLS03LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS03LWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYyg1OC4zMzMzMyUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNy1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS03LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS03LWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1kbC1jZWxsLS04LWNvbCxcbiAgLm1kbC1jZWxsLS04LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS04LWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYyg2Ni42NjY2NyUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tOC1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS04LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS04LWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1kbC1jZWxsLS05LWNvbCxcbiAgLm1kbC1jZWxsLS05LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS05LWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYyg3NSUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tOS1jb2wsIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS05LWNvbC1kZXNrdG9wLm1kbC1jZWxsLS05LWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1kbC1jZWxsLS0xMC1jb2wsXG4gIC5tZGwtY2VsbC0tMTAtY29sLWRlc2t0b3AubWRsLWNlbGwtLTEwLWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYyg4My4zMzMzMyUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMTAtY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMTAtY29sLWRlc2t0b3AubWRsLWNlbGwtLTEwLWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1kbC1jZWxsLS0xMS1jb2wsXG4gIC5tZGwtY2VsbC0tMTEtY29sLWRlc2t0b3AubWRsLWNlbGwtLTExLWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYyg5MS42NjY2NyUgLSAxNnB4KTsgfVxuICAgIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMTEtY29sLCAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMTEtY29sLWRlc2t0b3AubWRsLWNlbGwtLTExLWNvbC1kZXNrdG9wIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1kbC1jZWxsLS0xMi1jb2wsXG4gIC5tZGwtY2VsbC0tMTItY29sLWRlc2t0b3AubWRsLWNlbGwtLTEyLWNvbC1kZXNrdG9wIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7IH1cbiAgICAubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTEyLWNvbCwgLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTEyLWNvbC1kZXNrdG9wLm1kbC1jZWxsLS0xMi1jb2wtZGVza3RvcCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWRsLWNlbGwtLTEtb2Zmc2V0LFxuICAubWRsLWNlbGwtLTEtb2Zmc2V0LWRlc2t0b3AubWRsLWNlbGwtLTEtb2Zmc2V0LWRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDguMzMzMzMlICsgOHB4KTsgfVxuICAgIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMS1vZmZzZXQsIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS0xLW9mZnNldC1kZXNrdG9wLm1kbC1jZWxsLS0xLW9mZnNldC1kZXNrdG9wIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWRsLWNlbGwtLTItb2Zmc2V0LFxuICAubWRsLWNlbGwtLTItb2Zmc2V0LWRlc2t0b3AubWRsLWNlbGwtLTItb2Zmc2V0LWRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDE2LjY2NjY3JSArIDhweCk7IH1cbiAgICAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTItb2Zmc2V0LCAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tMi1vZmZzZXQtZGVza3RvcC5tZGwtY2VsbC0tMi1vZmZzZXQtZGVza3RvcCB7XG4gICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZGwtY2VsbC0tMy1vZmZzZXQsXG4gIC5tZGwtY2VsbC0tMy1vZmZzZXQtZGVza3RvcC5tZGwtY2VsbC0tMy1vZmZzZXQtZGVza3RvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoMjUlICsgOHB4KTsgfVxuICAgIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tMy1vZmZzZXQsIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS0zLW9mZnNldC1kZXNrdG9wLm1kbC1jZWxsLS0zLW9mZnNldC1kZXNrdG9wIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1kbC1jZWxsLS00LW9mZnNldCxcbiAgLm1kbC1jZWxsLS00LW9mZnNldC1kZXNrdG9wLm1kbC1jZWxsLS00LW9mZnNldC1kZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygzMy4zMzMzMyUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS00LW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTQtb2Zmc2V0LWRlc2t0b3AubWRsLWNlbGwtLTQtb2Zmc2V0LWRlc2t0b3Age1xuICAgICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWRsLWNlbGwtLTUtb2Zmc2V0LFxuICAubWRsLWNlbGwtLTUtb2Zmc2V0LWRlc2t0b3AubWRsLWNlbGwtLTUtb2Zmc2V0LWRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDQxLjY2NjY3JSArIDhweCk7IH1cbiAgICAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTUtb2Zmc2V0LCAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tNS1vZmZzZXQtZGVza3RvcC5tZGwtY2VsbC0tNS1vZmZzZXQtZGVza3RvcCB7XG4gICAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZGwtY2VsbC0tNi1vZmZzZXQsXG4gIC5tZGwtY2VsbC0tNi1vZmZzZXQtZGVza3RvcC5tZGwtY2VsbC0tNi1vZmZzZXQtZGVza3RvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlICsgOHB4KTsgfVxuICAgIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tNi1vZmZzZXQsIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS02LW9mZnNldC1kZXNrdG9wLm1kbC1jZWxsLS02LW9mZnNldC1kZXNrdG9wIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1kbC1jZWxsLS03LW9mZnNldCxcbiAgLm1kbC1jZWxsLS03LW9mZnNldC1kZXNrdG9wLm1kbC1jZWxsLS03LW9mZnNldC1kZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1OC4zMzMzMyUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS03LW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTctb2Zmc2V0LWRlc2t0b3AubWRsLWNlbGwtLTctb2Zmc2V0LWRlc2t0b3Age1xuICAgICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWRsLWNlbGwtLTgtb2Zmc2V0LFxuICAubWRsLWNlbGwtLTgtb2Zmc2V0LWRlc2t0b3AubWRsLWNlbGwtLTgtb2Zmc2V0LWRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDY2LjY2NjY3JSArIDhweCk7IH1cbiAgICAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTgtb2Zmc2V0LCAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPlxuICAgIC5tZGwtY2VsbC0tOC1vZmZzZXQtZGVza3RvcC5tZGwtY2VsbC0tOC1vZmZzZXQtZGVza3RvcCB7XG4gICAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZGwtY2VsbC0tOS1vZmZzZXQsXG4gIC5tZGwtY2VsbC0tOS1vZmZzZXQtZGVza3RvcC5tZGwtY2VsbC0tOS1vZmZzZXQtZGVza3RvcCB7XG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNzUlICsgOHB4KTsgfVxuICAgIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+IC5tZGwtY2VsbC0tOS1vZmZzZXQsIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS05LW9mZnNldC1kZXNrdG9wLm1kbC1jZWxsLS05LW9mZnNldC1kZXNrdG9wIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1kbC1jZWxsLS0xMC1vZmZzZXQsXG4gIC5tZGwtY2VsbC0tMTAtb2Zmc2V0LWRlc2t0b3AubWRsLWNlbGwtLTEwLW9mZnNldC1kZXNrdG9wIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg4My4zMzMzMyUgKyA4cHgpOyB9XG4gICAgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID4gLm1kbC1jZWxsLS0xMC1vZmZzZXQsIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+XG4gICAgLm1kbC1jZWxsLS0xMC1vZmZzZXQtZGVza3RvcC5tZGwtY2VsbC0tMTAtb2Zmc2V0LWRlc2t0b3Age1xuICAgICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWRsLWNlbGwtLTExLW9mZnNldCxcbiAgLm1kbC1jZWxsLS0xMS1vZmZzZXQtZGVza3RvcC5tZGwtY2VsbC0tMTEtb2Zmc2V0LWRlc2t0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDkxLjY2NjY3JSArIDhweCk7IH1cbiAgICAubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwtLTExLW9mZnNldCwgLm1kbC1ncmlkLm1kbC1ncmlkLS1uby1zcGFjaW5nID5cbiAgICAubWRsLWNlbGwtLTExLW9mZnNldC1kZXNrdG9wLm1kbC1jZWxsLS0xMS1vZmZzZXQtZGVza3RvcCB7XG4gICAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9IH1cblxuLyohXG4gKiBCb290c3RyYXAgdjMuMy43IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSlcbiAqIENvcHlyaWdodCAyMDExLTIwMTYgVHdpdHRlciwgSW5jLlxuICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSlcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyB9XG5cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQ6IGluaGVyaXQ7XG4gIG1hcmdpbjogMDsgfVxuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7IH1cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL1xuQG1lZGlhIHByaW50IHtcbiAgKixcbiAgKjpiZWZvcmUsXG4gICo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCJqYXZhc2NyaXB0OlwiXTphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIC5uYXZiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ0biA+IC5jYXJldCxcbiAgLmRyb3B1cCA+IC5idG4gPiAuY2FyZXQge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfVxuICAubGFiZWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgLnRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7IH1cbiAgICAudGFibGUgdGQsXG4gICAgLnRhYmxlIHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuICAudGFibGUtYm9yZGVyZWQgdGgsXG4gIC50YWJsZS1ib3JkZXJlZCB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50OyB9IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9ib290c3RyYXAvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi9mb250cy9ib290c3RyYXAvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvYm9vdHN0cmFwL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9ib290c3RyYXAvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2Jvb3RzdHJhcC9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnN2ZyNnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5nbHlwaGljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uZ2x5cGhpY29uLWFzdGVyaXNrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMDJhXCI7IH1cblxuLmdseXBoaWNvbi1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwwMDJiXCI7IH1cblxuLmdseXBoaWNvbi1ldXJvOmJlZm9yZSxcbi5nbHlwaGljb24tZXVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyMGFjXCI7IH1cblxuLmdseXBoaWNvbi1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjIxMlwiOyB9XG5cbi5nbHlwaGljb24tY2xvdWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI2MDFcIjsgfVxuXG4uZ2x5cGhpY29uLWVudmVsb3BlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNzA5XCI7IH1cblxuLmdseXBoaWNvbi1wZW5jaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI3MGZcIjsgfVxuXG4uZ2x5cGhpY29uLWdsYXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAxXCI7IH1cblxuLmdseXBoaWNvbi1tdXNpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwMlwiOyB9XG5cbi5nbHlwaGljb24tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDAzXCI7IH1cblxuLmdseXBoaWNvbi1oZWFydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwNVwiOyB9XG5cbi5nbHlwaGljb24tc3RhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwNlwiOyB9XG5cbi5nbHlwaGljb24tc3Rhci1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwN1wiOyB9XG5cbi5nbHlwaGljb24tdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwOFwiOyB9XG5cbi5nbHlwaGljb24tZmlsbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAwOVwiOyB9XG5cbi5nbHlwaGljb24tdGgtbGFyZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMTBcIjsgfVxuXG4uZ2x5cGhpY29uLXRoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDExXCI7IH1cblxuLmdseXBoaWNvbi10aC1saXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDEyXCI7IH1cblxuLmdseXBoaWNvbi1vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxM1wiOyB9XG5cbi5nbHlwaGljb24tcmVtb3ZlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE0XCI7IH1cblxuLmdseXBoaWNvbi16b29tLWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE1XCI7IH1cblxuLmdseXBoaWNvbi16b29tLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxNlwiOyB9XG5cbi5nbHlwaGljb24tb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDE3XCI7IH1cblxuLmdseXBoaWNvbi1zaWduYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMThcIjsgfVxuXG4uZ2x5cGhpY29uLWNvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAxOVwiOyB9XG5cbi5nbHlwaGljb24tdHJhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjBcIjsgfVxuXG4uZ2x5cGhpY29uLWhvbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjFcIjsgfVxuXG4uZ2x5cGhpY29uLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjJcIjsgfVxuXG4uZ2x5cGhpY29uLXRpbWU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjNcIjsgfVxuXG4uZ2x5cGhpY29uLXJvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjRcIjsgfVxuXG4uZ2x5cGhpY29uLWRvd25sb2FkLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyNVwiOyB9XG5cbi5nbHlwaGljb24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjZcIjsgfVxuXG4uZ2x5cGhpY29uLXVwbG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAyN1wiOyB9XG5cbi5nbHlwaGljb24taW5ib3g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMjhcIjsgfVxuXG4uZ2x5cGhpY29uLXBsYXktY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDI5XCI7IH1cblxuLmdseXBoaWNvbi1yZXBlYXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzBcIjsgfVxuXG4uZ2x5cGhpY29uLXJlZnJlc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzFcIjsgfVxuXG4uZ2x5cGhpY29uLWxpc3QtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMyXCI7IH1cblxuLmdseXBoaWNvbi1sb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDMzXCI7IH1cblxuLmdseXBoaWNvbi1mbGFnOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM0XCI7IH1cblxuLmdseXBoaWNvbi1oZWFkcGhvbmVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM1XCI7IH1cblxuLmdseXBoaWNvbi12b2x1bWUtb2ZmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM2XCI7IH1cblxuLmdseXBoaWNvbi12b2x1bWUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTAzN1wiOyB9XG5cbi5nbHlwaGljb24tdm9sdW1lLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDM4XCI7IH1cblxuLmdseXBoaWNvbi1xcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwMzlcIjsgfVxuXG4uZ2x5cGhpY29uLWJhcmNvZGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDBcIjsgfVxuXG4uZ2x5cGhpY29uLXRhZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0MVwiOyB9XG5cbi5nbHlwaGljb24tdGFnczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0MlwiOyB9XG5cbi5nbHlwaGljb24tYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0M1wiOyB9XG5cbi5nbHlwaGljb24tYm9va21hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDRcIjsgfVxuXG4uZ2x5cGhpY29uLXByaW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDQ1XCI7IH1cblxuLmdseXBoaWNvbi1jYW1lcmE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDZcIjsgfVxuXG4uZ2x5cGhpY29uLWZvbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDdcIjsgfVxuXG4uZ2x5cGhpY29uLWJvbGQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNDhcIjsgfVxuXG4uZ2x5cGhpY29uLWl0YWxpYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA0OVwiOyB9XG5cbi5nbHlwaGljb24tdGV4dC1oZWlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTBcIjsgfVxuXG4uZ2x5cGhpY29uLXRleHQtd2lkdGg6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTFcIjsgfVxuXG4uZ2x5cGhpY29uLWFsaWduLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTJcIjsgfVxuXG4uZ2x5cGhpY29uLWFsaWduLWNlbnRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA1M1wiOyB9XG5cbi5nbHlwaGljb24tYWxpZ24tcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTRcIjsgfVxuXG4uZ2x5cGhpY29uLWFsaWduLWp1c3RpZnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTVcIjsgfVxuXG4uZ2x5cGhpY29uLWxpc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNTZcIjsgfVxuXG4uZ2x5cGhpY29uLWluZGVudC1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU3XCI7IH1cblxuLmdseXBoaWNvbi1pbmRlbnQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNThcIjsgfVxuXG4uZ2x5cGhpY29uLWZhY2V0aW1lLXZpZGVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDU5XCI7IH1cblxuLmdseXBoaWNvbi1waWN0dXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYwXCI7IH1cblxuLmdseXBoaWNvbi1tYXAtbWFya2VyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDYyXCI7IH1cblxuLmdseXBoaWNvbi1hZGp1c3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjNcIjsgfVxuXG4uZ2x5cGhpY29uLXRpbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjRcIjsgfVxuXG4uZ2x5cGhpY29uLWVkaXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNjVcIjsgfVxuXG4uZ2x5cGhpY29uLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDY2XCI7IH1cblxuLmdseXBoaWNvbi1jaGVjazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2N1wiOyB9XG5cbi5nbHlwaGljb24tbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2OFwiOyB9XG5cbi5nbHlwaGljb24tc3RlcC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA2OVwiOyB9XG5cbi5nbHlwaGljb24tZmFzdC1iYWNrd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3MFwiOyB9XG5cbi5nbHlwaGljb24tYmFja3dhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzFcIjsgfVxuXG4uZ2x5cGhpY29uLXBsYXk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzJcIjsgfVxuXG4uZ2x5cGhpY29uLXBhdXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDczXCI7IH1cblxuLmdseXBoaWNvbi1zdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc0XCI7IH1cblxuLmdseXBoaWNvbi1mb3J3YXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDc1XCI7IH1cblxuLmdseXBoaWNvbi1mYXN0LWZvcndhcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzZcIjsgfVxuXG4uZ2x5cGhpY29uLXN0ZXAtZm9yd2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3N1wiOyB9XG5cbi5nbHlwaGljb24tZWplY3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwNzhcIjsgfVxuXG4uZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA3OVwiOyB9XG5cbi5nbHlwaGljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4MFwiOyB9XG5cbi5nbHlwaGljb24tcGx1cy1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgxXCI7IH1cblxuLmdseXBoaWNvbi1taW51cy1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDgyXCI7IH1cblxuLmdseXBoaWNvbi1yZW1vdmUtc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4M1wiOyB9XG5cbi5nbHlwaGljb24tb2stc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NFwiOyB9XG5cbi5nbHlwaGljb24tcXVlc3Rpb24tc2lnbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA4NVwiOyB9XG5cbi5nbHlwaGljb24taW5mby1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg2XCI7IH1cblxuLmdseXBoaWNvbi1zY3JlZW5zaG90OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg3XCI7IH1cblxuLmdseXBoaWNvbi1yZW1vdmUtY2lyY2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDg4XCI7IH1cblxuLmdseXBoaWNvbi1vay1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwODlcIjsgfVxuXG4uZ2x5cGhpY29uLWJhbi1jaXJjbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTBcIjsgfVxuXG4uZ2x5cGhpY29uLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUwOTFcIjsgfVxuXG4uZ2x5cGhpY29uLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDkyXCI7IH1cblxuLmdseXBoaWNvbi1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5M1wiOyB9XG5cbi5nbHlwaGljb24tYXJyb3ctZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5NFwiOyB9XG5cbi5nbHlwaGljb24tc2hhcmUtYWx0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk1XCI7IH1cblxuLmdseXBoaWNvbi1yZXNpemUtZnVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTA5NlwiOyB9XG5cbi5nbHlwaGljb24tcmVzaXplLXNtYWxsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMDk3XCI7IH1cblxuLmdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTAxXCI7IH1cblxuLmdseXBoaWNvbi1naWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTAyXCI7IH1cblxuLmdseXBoaWNvbi1sZWFmOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTAzXCI7IH1cblxuLmdseXBoaWNvbi1maXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTA0XCI7IH1cblxuLmdseXBoaWNvbi1leWUtb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwNVwiOyB9XG5cbi5nbHlwaGljb24tZXllLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTA2XCI7IH1cblxuLmdseXBoaWNvbi13YXJuaW5nLXNpZ246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMDdcIjsgfVxuXG4uZ2x5cGhpY29uLXBsYW5lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTA4XCI7IH1cblxuLmdseXBoaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEwOVwiOyB9XG5cbi5nbHlwaGljb24tcmFuZG9tOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTEwXCI7IH1cblxuLmdseXBoaWNvbi1jb21tZW50OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTExXCI7IH1cblxuLmdseXBoaWNvbi1tYWduZXQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTJcIjsgfVxuXG4uZ2x5cGhpY29uLWNoZXZyb24tdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMTNcIjsgfVxuXG4uZ2x5cGhpY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExNFwiOyB9XG5cbi5nbHlwaGljb24tcmV0d2VldDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExNVwiOyB9XG5cbi5nbHlwaGljb24tc2hvcHBpbmctY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExNlwiOyB9XG5cbi5nbHlwaGljb24tZm9sZGVyLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTE3XCI7IH1cblxuLmdseXBoaWNvbi1mb2xkZXItb3BlbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTExOFwiOyB9XG5cbi5nbHlwaGljb24tcmVzaXplLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTE5XCI7IH1cblxuLmdseXBoaWNvbi1yZXNpemUtaG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyMFwiOyB9XG5cbi5nbHlwaGljb24taGRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTIxXCI7IH1cblxuLmdseXBoaWNvbi1idWxsaG9ybjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyMlwiOyB9XG5cbi5nbHlwaGljb24tYmVsbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyM1wiOyB9XG5cbi5nbHlwaGljb24tY2VydGlmaWNhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjRcIjsgfVxuXG4uZ2x5cGhpY29uLXRodW1icy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyNVwiOyB9XG5cbi5nbHlwaGljb24tdGh1bWJzLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjZcIjsgfVxuXG4uZ2x5cGhpY29uLWhhbmQtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMjdcIjsgfVxuXG4uZ2x5cGhpY29uLWhhbmQtbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyOFwiOyB9XG5cbi5nbHlwaGljb24taGFuZC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEyOVwiOyB9XG5cbi5nbHlwaGljb24taGFuZC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTMwXCI7IH1cblxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzFcIjsgfVxuXG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTMyXCI7IH1cblxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzNcIjsgfVxuXG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM0XCI7IH1cblxuLmdseXBoaWNvbi1nbG9iZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzNVwiOyB9XG5cbi5nbHlwaGljb24td3JlbmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM2XCI7IH1cblxuLmdseXBoaWNvbi10YXNrczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTEzN1wiOyB9XG5cbi5nbHlwaGljb24tZmlsdGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTM4XCI7IH1cblxuLmdseXBoaWNvbi1icmllZmNhc2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxMzlcIjsgfVxuXG4uZ2x5cGhpY29uLWZ1bGxzY3JlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDBcIjsgfVxuXG4uZ2x5cGhpY29uLWRhc2hib2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0MVwiOyB9XG5cbi5nbHlwaGljb24tcGFwZXJjbGlwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQyXCI7IH1cblxuLmdseXBoaWNvbi1oZWFydC1lbXB0eTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0M1wiOyB9XG5cbi5nbHlwaGljb24tbGluazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0NFwiOyB9XG5cbi5nbHlwaGljb24tcGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDVcIjsgfVxuXG4uZ2x5cGhpY29uLXB1c2hwaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNDZcIjsgfVxuXG4uZ2x5cGhpY29uLXVzZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE0OFwiOyB9XG5cbi5nbHlwaGljb24tZ2JwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTQ5XCI7IH1cblxuLmdseXBoaWNvbi1zb3J0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTUwXCI7IH1cblxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTUxXCI7IH1cblxuLmdseXBoaWNvbi1zb3J0LWJ5LWFscGhhYmV0LWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1MlwiOyB9XG5cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1M1wiOyB9XG5cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTRcIjsgfVxuXG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1NVwiOyB9XG5cbi5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE1NlwiOyB9XG5cbi5nbHlwaGljb24tdW5jaGVja2VkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTU3XCI7IH1cblxuLmdseXBoaWNvbi1leHBhbmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNThcIjsgfVxuXG4uZ2x5cGhpY29uLWNvbGxhcHNlLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNTlcIjsgfVxuXG4uZ2x5cGhpY29uLWNvbGxhcHNlLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTYwXCI7IH1cblxuLmdseXBoaWNvbi1sb2ctaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjFcIjsgfVxuXG4uZ2x5cGhpY29uLWZsYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTYyXCI7IH1cblxuLmdseXBoaWNvbi1sb2ctb3V0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTYzXCI7IH1cblxuLmdseXBoaWNvbi1uZXctd2luZG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY0XCI7IH1cblxuLmdseXBoaWNvbi1yZWNvcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjVcIjsgfVxuXG4uZ2x5cGhpY29uLXNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjZcIjsgfVxuXG4uZ2x5cGhpY29uLW9wZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjdcIjsgfVxuXG4uZ2x5cGhpY29uLXNhdmVkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTY4XCI7IH1cblxuLmdseXBoaWNvbi1pbXBvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNjlcIjsgfVxuXG4uZ2x5cGhpY29uLWV4cG9ydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3MFwiOyB9XG5cbi5nbHlwaGljb24tc2VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3MVwiOyB9XG5cbi5nbHlwaGljb24tZmxvcHB5LWRpc2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzJcIjsgfVxuXG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3M1wiOyB9XG5cbi5nbHlwaGljb24tZmxvcHB5LXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3NFwiOyB9XG5cbi5nbHlwaGljb24tZmxvcHB5LXNhdmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzVcIjsgfVxuXG4uZ2x5cGhpY29uLWZsb3BweS1vcGVuOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTc2XCI7IH1cblxuLmdseXBoaWNvbi1jcmVkaXQtY2FyZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE3N1wiOyB9XG5cbi5nbHlwaGljb24tdHJhbnNmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzhcIjsgfVxuXG4uZ2x5cGhpY29uLWN1dGxlcnk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxNzlcIjsgfVxuXG4uZ2x5cGhpY29uLWhlYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4MFwiOyB9XG5cbi5nbHlwaGljb24tY29tcHJlc3NlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4MVwiOyB9XG5cbi5nbHlwaGljb24tZWFycGhvbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODJcIjsgfVxuXG4uZ2x5cGhpY29uLXBob25lLWFsdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4M1wiOyB9XG5cbi5nbHlwaGljb24tdG93ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODRcIjsgfVxuXG4uZ2x5cGhpY29uLXN0YXRzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg1XCI7IH1cblxuLmdseXBoaWNvbi1zZC12aWRlbzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4NlwiOyB9XG5cbi5nbHlwaGljb24taGQtdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxODdcIjsgfVxuXG4uZ2x5cGhpY29uLXN1YnRpdGxlczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE4OFwiOyB9XG5cbi5nbHlwaGljb24tc291bmQtc3RlcmVvOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTg5XCI7IH1cblxuLmdseXBoaWNvbi1zb3VuZC1kb2xieTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5MFwiOyB9XG5cbi5nbHlwaGljb24tc291bmQtNS0xOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTkxXCI7IH1cblxuLmdseXBoaWNvbi1zb3VuZC02LTE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTJcIjsgfVxuXG4uZ2x5cGhpY29uLXNvdW5kLTctMTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5M1wiOyB9XG5cbi5nbHlwaGljb24tY29weXJpZ2h0LW1hcms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTRcIjsgfVxuXG4uZ2x5cGhpY29uLXJlZ2lzdHJhdGlvbi1tYXJrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTk1XCI7IH1cblxuLmdseXBoaWNvbi1jbG91ZC1kb3dubG9hZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTE5N1wiOyB9XG5cbi5nbHlwaGljb24tY2xvdWQtdXBsb2FkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMTk4XCI7IH1cblxuLmdseXBoaWNvbi10cmVlLWNvbmlmZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUxOTlcIjsgfVxuXG4uZ2x5cGhpY29uLXRyZWUtZGVjaWR1b3VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjAwXCI7IH1cblxuLmdseXBoaWNvbi1jZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwMVwiOyB9XG5cbi5nbHlwaGljb24tc2F2ZS1maWxlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjAyXCI7IH1cblxuLmdseXBoaWNvbi1vcGVuLWZpbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDNcIjsgfVxuXG4uZ2x5cGhpY29uLWxldmVsLXVwOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjA0XCI7IH1cblxuLmdseXBoaWNvbi1jb3B5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjA1XCI7IH1cblxuLmdseXBoaWNvbi1wYXN0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIwNlwiOyB9XG5cbi5nbHlwaGljb24tYWxlcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMDlcIjsgfVxuXG4uZ2x5cGhpY29uLWVxdWFsaXplcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxMFwiOyB9XG5cbi5nbHlwaGljb24ta2luZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxMVwiOyB9XG5cbi5nbHlwaGljb24tcXVlZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTJcIjsgfVxuXG4uZ2x5cGhpY29uLXBhd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTNcIjsgfVxuXG4uZ2x5cGhpY29uLWJpc2hvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxNFwiOyB9XG5cbi5nbHlwaGljb24ta25pZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjE1XCI7IH1cblxuLmdseXBoaWNvbi1iYWJ5LWZvcm11bGE6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMTZcIjsgfVxuXG4uZ2x5cGhpY29uLXRlbnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDI2ZmFcIjsgfVxuXG4uZ2x5cGhpY29uLWJsYWNrYm9hcmQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMThcIjsgfVxuXG4uZ2x5cGhpY29uLWJlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIxOVwiOyB9XG5cbi5nbHlwaGljb24tYXBwbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGY4ZmZcIjsgfVxuXG4uZ2x5cGhpY29uLWVyYXNlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjIxXCI7IH1cblxuLmdseXBoaWNvbi1ob3VyZ2xhc3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIzMWJcIjsgfVxuXG4uZ2x5cGhpY29uLWxhbXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjNcIjsgfVxuXG4uZ2x5cGhpY29uLWR1cGxpY2F0ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyNFwiOyB9XG5cbi5nbHlwaGljb24tcGlnZ3ktYmFuazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyNVwiOyB9XG5cbi5nbHlwaGljb24tc2Npc3NvcnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjZcIjsgfVxuXG4uZ2x5cGhpY29uLWJpdGNvaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMjdcIjsgfVxuXG4uZ2x5cGhpY29uLWJ0YzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIyN1wiOyB9XG5cbi5nbHlwaGljb24teGJ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH1cblxuLmdseXBoaWNvbi15ZW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDAwYTVcIjsgfVxuXG4uZ2x5cGhpY29uLWpweTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMDBhNVwiOyB9XG5cbi5nbHlwaGljb24tcnVibGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXDIwYmRcIjsgfVxuXG4uZ2x5cGhpY29uLXJ1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcMjBiZFwiOyB9XG5cbi5nbHlwaGljb24tc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzBcIjsgfVxuXG4uZ2x5cGhpY29uLWljZS1sb2xseTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzMVwiOyB9XG5cbi5nbHlwaGljb24taWNlLWxvbGx5LXRhc3RlZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzMlwiOyB9XG5cbi5nbHlwaGljb24tZWR1Y2F0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjMzXCI7IH1cblxuLmdseXBoaWNvbi1vcHRpb24taG9yaXpvbnRhbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzNFwiOyB9XG5cbi5nbHlwaGljb24tb3B0aW9uLXZlcnRpY2FsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM1XCI7IH1cblxuLmdseXBoaWNvbi1tZW51LWhhbWJ1cmdlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTIzNlwiOyB9XG5cbi5nbHlwaGljb24tbW9kYWwtd2luZG93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM3XCI7IH1cblxuLmdseXBoaWNvbi1vaWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyMzhcIjsgfVxuXG4uZ2x5cGhpY29uLWdyYWluOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjM5XCI7IH1cblxuLmdseXBoaWNvbi1zdW5nbGFzc2VzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQwXCI7IH1cblxuLmdseXBoaWNvbi10ZXh0LXNpemU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDFcIjsgfVxuXG4uZ2x5cGhpY29uLXRleHQtY29sb3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDJcIjsgfVxuXG4uZ2x5cGhpY29uLXRleHQtYmFja2dyb3VuZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0M1wiOyB9XG5cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXRvcDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0NFwiOyB9XG5cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0NVwiOyB9XG5cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWhvcml6b250YWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDZcIjsgfVxuXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjQ3XCI7IH1cblxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdmVydGljYWw6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNDhcIjsgfVxuXG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1yaWdodDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI0OVwiOyB9XG5cbi5nbHlwaGljb24tdHJpYW5nbGUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTBcIjsgfVxuXG4uZ2x5cGhpY29uLXRyaWFuZ2xlLWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTFcIjsgfVxuXG4uZ2x5cGhpY29uLXRyaWFuZ2xlLWJvdHRvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1MlwiOyB9XG5cbi5nbHlwaGljb24tdHJpYW5nbGUtdG9wOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjUzXCI7IH1cblxuLmdseXBoaWNvbi1jb25zb2xlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU0XCI7IH1cblxuLmdseXBoaWNvbi1zdXBlcnNjcmlwdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1NVwiOyB9XG5cbi5nbHlwaGljb24tc3Vic2NyaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlMjU2XCI7IH1cblxuLmdseXBoaWNvbi1tZW51LWxlZnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNTdcIjsgfVxuXG4uZ2x5cGhpY29uLW1lbnUtcmlnaHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGUyNThcIjsgfVxuXG4uZ2x5cGhpY29uLW1lbnUtZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI1OVwiOyB9XG5cbi5nbHlwaGljb24tbWVudS11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTI2MFwiOyB9XG5cbioge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBjb2xvcjogIzMzMzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuYSB7XG4gIGNvbG9yOiAjMzM3YWI3O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMyMzUyN2M7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYTpmb2N1cyB7XG4gICAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5pbWcge1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbWctcmVzcG9uc2l2ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiA2cHg7IH1cblxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiA0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuXG5ociB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDsgfVxuXG4uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLCAuc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsXG4uaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2IHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIGgxIHNtYWxsLFxuICBoMSAuc21hbGwsIGgyIHNtYWxsLFxuICBoMiAuc21hbGwsIGgzIHNtYWxsLFxuICBoMyAuc21hbGwsIGg0IHNtYWxsLFxuICBoNCAuc21hbGwsIGg1IHNtYWxsLFxuICBoNSAuc21hbGwsIGg2IHNtYWxsLFxuICBoNiAuc21hbGwsXG4gIC5oMSBzbWFsbCxcbiAgLmgxIC5zbWFsbCwgLmgyIHNtYWxsLFxuICAuaDIgLnNtYWxsLCAuaDMgc21hbGwsXG4gIC5oMyAuc21hbGwsIC5oNCBzbWFsbCxcbiAgLmg0IC5zbWFsbCwgLmg1IHNtYWxsLFxuICAuaDUgLnNtYWxsLCAuaDYgc21hbGwsXG4gIC5oNiAuc21hbGwge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cblxuaDEsIC5oMSxcbmgyLCAuaDIsXG5oMywgLmgzIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBoMSBzbWFsbCxcbiAgaDEgLnNtYWxsLCAuaDEgc21hbGwsXG4gIC5oMSAuc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMiAuc21hbGwsIC5oMiBzbWFsbCxcbiAgLmgyIC5zbWFsbCxcbiAgaDMgc21hbGwsXG4gIGgzIC5zbWFsbCwgLmgzIHNtYWxsLFxuICAuaDMgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDY1JTsgfVxuXG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIGg0IHNtYWxsLFxuICBoNCAuc21hbGwsIC5oNCBzbWFsbCxcbiAgLmg0IC5zbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg1IC5zbWFsbCwgLmg1IHNtYWxsLFxuICAuaDUgLnNtYWxsLFxuICBoNiBzbWFsbCxcbiAgaDYgLnNtYWxsLCAuaDYgc21hbGwsXG4gIC5oNiAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNzUlOyB9XG5cbmgxLCAuaDEge1xuICBmb250LXNpemU6IDM2cHg7IH1cblxuaDIsIC5oMiB7XG4gIGZvbnQtc2l6ZTogMzBweDsgfVxuXG5oMywgLmgzIHtcbiAgZm9udC1zaXplOiAyNHB4OyB9XG5cbmg0LCAuaDQge1xuICBmb250LXNpemU6IDE4cHg7IH1cblxuaDUsIC5oNSB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG5oNiwgLmg2IHtcbiAgZm9udC1zaXplOiAxMnB4OyB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG5cbi5sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5sZWFkIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfSB9XG5cbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiA4NSU7IH1cblxubWFyayxcbi5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgcGFkZGluZzogLjJlbTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG4udGV4dC1ub3dyYXAge1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi50ZXh0LWxvd2VyY2FzZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cblxuLnRleHQtdXBwZXJjYXNlLCAuaW5pdGlhbGlzbSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRleHQtY2FwaXRhbGl6ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi50ZXh0LW11dGVkIHtcbiAgY29sb3I6ICM3Nzc3Nzc7IH1cblxuLnRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiAjMzM3YWI3OyB9XG5cbmEudGV4dC1wcmltYXJ5OmhvdmVyLFxuYS50ZXh0LXByaW1hcnk6Zm9jdXMge1xuICBjb2xvcjogIzI4NjA5MDsgfVxuXG4udGV4dC1zdWNjZXNzIHtcbiAgY29sb3I6ICMzYzc2M2Q7IH1cblxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsXG5hLnRleHQtc3VjY2Vzczpmb2N1cyB7XG4gIGNvbG9yOiAjMmI1NDJjOyB9XG5cbi50ZXh0LWluZm8ge1xuICBjb2xvcjogIzMxNzA4ZjsgfVxuXG5hLnRleHQtaW5mbzpob3ZlcixcbmEudGV4dC1pbmZvOmZvY3VzIHtcbiAgY29sb3I6ICMyNDUyNjk7IH1cblxuLnRleHQtd2FybmluZyB7XG4gIGNvbG9yOiAjOGE2ZDNiOyB9XG5cbmEudGV4dC13YXJuaW5nOmhvdmVyLFxuYS50ZXh0LXdhcm5pbmc6Zm9jdXMge1xuICBjb2xvcjogIzY2NTEyYzsgfVxuXG4udGV4dC1kYW5nZXIge1xuICBjb2xvcjogI2E5NDQ0MjsgfVxuXG5hLnRleHQtZGFuZ2VyOmhvdmVyLFxuYS50ZXh0LWRhbmdlcjpmb2N1cyB7XG4gIGNvbG9yOiAjODQzNTM0OyB9XG5cbi5iZy1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3OyB9XG5cbmEuYmctcHJpbWFyeTpob3ZlcixcbmEuYmctcHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyODYwOTA7IH1cblxuLmJnLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4OyB9XG5cbmEuYmctc3VjY2Vzczpob3ZlcixcbmEuYmctc3VjY2Vzczpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjMWUyYjM7IH1cblxuLmJnLWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3OyB9XG5cbmEuYmctaW5mbzpob3ZlcixcbmEuYmctaW5mbzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNhZmQ5ZWU7IH1cblxuLmJnLXdhcm5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XG5cbmEuYmctd2FybmluZzpob3ZlcixcbmEuYmctd2FybmluZzpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2VjYjU7IH1cblxuLmJnLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmRlZGU7IH1cblxuYS5iZy1kYW5nZXI6aG92ZXIsXG5hLmJnLWRhbmdlcjpmb2N1cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNGI5Yjk7IH1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IDlweDtcbiAgbWFyZ2luOiA0MHB4IDAgMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7IH1cblxudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgdWwgdWwsXG4gIHVsIG9sLFxuICBvbCB1bCxcbiAgb2wgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmxpc3QtaW5saW5lIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogLTVweDsgfVxuICAubGlzdC1pbmxpbmUgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDsgfVxuXG5kbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3OyB9XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZGwtaG9yaXpvbnRhbCBkZDpiZWZvcmUsIC5kbC1ob3Jpem9udGFsIGRkOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5kbC1ob3Jpem9udGFsIGRkOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5kbC1ob3Jpem9udGFsIGR0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIC5kbC1ob3Jpem9udGFsIGRkIHtcbiAgICBtYXJnaW4tbGVmdDogMTgwcHg7IH0gfVxuXG5hYmJyW3RpdGxlXSxcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzc3Nzc3NzsgfVxuXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlOyB9XG5cbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIGZvbnQtc2l6ZTogMTcuNXB4O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNlZWVlZWU7IH1cbiAgYmxvY2txdW90ZSBwOmxhc3QtY2hpbGQsXG4gIGJsb2NrcXVvdGUgdWw6bGFzdC1jaGlsZCxcbiAgYmxvY2txdW90ZSBvbDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIGJsb2NrcXVvdGUgZm9vdGVyLFxuICBibG9ja3F1b3RlIHNtYWxsLFxuICBibG9ja3F1b3RlIC5zbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cbiAgICBibG9ja3F1b3RlIGZvb3RlcjpiZWZvcmUsXG4gICAgYmxvY2txdW90ZSBzbWFsbDpiZWZvcmUsXG4gICAgYmxvY2txdW90ZSAuc21hbGw6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTQgXFwwMEEwJzsgfVxuXG4uYmxvY2txdW90ZS1yZXZlcnNlLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAjZWVlZWVlO1xuICBib3JkZXItbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YmVmb3JlLFxuICAuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmJlZm9yZSxcbiAgLmJsb2NrcXVvdGUtcmV2ZXJzZSAuc21hbGw6YmVmb3JlLFxuICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmJlZm9yZSxcbiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmJlZm9yZSxcbiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IC5zbWFsbDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5ibG9ja3F1b3RlLXJldmVyc2UgZm9vdGVyOmFmdGVyLFxuICAuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmFmdGVyLFxuICAuYmxvY2txdW90ZS1yZXZlcnNlIC5zbWFsbDphZnRlcixcbiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IGZvb3RlcjphZnRlcixcbiAgYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmFmdGVyLFxuICBibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFwwMEEwIFxcMjAxNCc7IH1cblxuYWRkcmVzcyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7IH1cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICNjNzI1NGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWYyZjQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICBrYmQga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA5LjVweDtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgcHJlIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5wcmUtc2Nyb2xsYWJsZSB7XG4gIG1heC1oZWlnaHQ6IDM0MHB4O1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLmNvbnRhaW5lciB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuICAuY29udGFpbmVyOmJlZm9yZSwgLmNvbnRhaW5lcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNvbnRhaW5lcjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogNzUwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiA5NzBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMTcwcHg7IH0gfVxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gIC5jb250YWluZXItZmx1aWQ6YmVmb3JlLCAuY29udGFpbmVyLWZsdWlkOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY29udGFpbmVyLWZsdWlkOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ucm93IHtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG4gIC5yb3c6YmVmb3JlLCAucm93OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucm93OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uY29sLXhzLTEsIC5jb2wtc20tMSwgLmNvbC1tZC0xLCAuY29sLWxnLTEsIC5jb2wteHMtMiwgLmNvbC1zbS0yLCAuY29sLW1kLTIsIC5jb2wtbGctMiwgLmNvbC14cy0zLCAuY29sLXNtLTMsIC5jb2wtbWQtMywgLmNvbC1sZy0zLCAuY29sLXhzLTQsIC5jb2wtc20tNCwgLmNvbC1tZC00LCAuY29sLWxnLTQsIC5jb2wteHMtNSwgLmNvbC1zbS01LCAuY29sLW1kLTUsIC5jb2wtbGctNSwgLmNvbC14cy02LCAuY29sLXNtLTYsIC5jb2wtbWQtNiwgLmNvbC1sZy02LCAuY29sLXhzLTcsIC5jb2wtc20tNywgLmNvbC1tZC03LCAuY29sLWxnLTcsIC5jb2wteHMtOCwgLmNvbC1zbS04LCAuY29sLW1kLTgsIC5jb2wtbGctOCwgLmNvbC14cy05LCAuY29sLXNtLTksIC5jb2wtbWQtOSwgLmNvbC1sZy05LCAuY29sLXhzLTEwLCAuY29sLXNtLTEwLCAuY29sLW1kLTEwLCAuY29sLWxnLTEwLCAuY29sLXhzLTExLCAuY29sLXNtLTExLCAuY29sLW1kLTExLCAuY29sLWxnLTExLCAuY29sLXhzLTEyLCAuY29sLXNtLTEyLCAuY29sLW1kLTEyLCAuY29sLWxnLTEyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4uY29sLXhzLTEsIC5jb2wteHMtMiwgLmNvbC14cy0zLCAuY29sLXhzLTQsIC5jb2wteHMtNSwgLmNvbC14cy02LCAuY29sLXhzLTcsIC5jb2wteHMtOCwgLmNvbC14cy05LCAuY29sLXhzLTEwLCAuY29sLXhzLTExLCAuY29sLXhzLTEyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbC14cy0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5jb2wteHMtMiB7XG4gIHdpZHRoOiAxNi42NjY2NyU7IH1cblxuLmNvbC14cy0zIHtcbiAgd2lkdGg6IDI1JTsgfVxuXG4uY29sLXhzLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5jb2wteHMtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLmNvbC14cy02IHtcbiAgd2lkdGg6IDUwJTsgfVxuXG4uY29sLXhzLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5jb2wteHMtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLmNvbC14cy05IHtcbiAgd2lkdGg6IDc1JTsgfVxuXG4uY29sLXhzLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uY29sLXhzLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uY29sLXhzLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbC14cy1wdWxsLTAge1xuICByaWdodDogYXV0bzsgfVxuXG4uY29sLXhzLXB1bGwtMSB7XG4gIHJpZ2h0OiA4LjMzMzMzJTsgfVxuXG4uY29sLXhzLXB1bGwtMiB7XG4gIHJpZ2h0OiAxNi42NjY2NyU7IH1cblxuLmNvbC14cy1wdWxsLTMge1xuICByaWdodDogMjUlOyB9XG5cbi5jb2wteHMtcHVsbC00IHtcbiAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuXG4uY29sLXhzLXB1bGwtNSB7XG4gIHJpZ2h0OiA0MS42NjY2NyU7IH1cblxuLmNvbC14cy1wdWxsLTYge1xuICByaWdodDogNTAlOyB9XG5cbi5jb2wteHMtcHVsbC03IHtcbiAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuXG4uY29sLXhzLXB1bGwtOCB7XG4gIHJpZ2h0OiA2Ni42NjY2NyU7IH1cblxuLmNvbC14cy1wdWxsLTkge1xuICByaWdodDogNzUlOyB9XG5cbi5jb2wteHMtcHVsbC0xMCB7XG4gIHJpZ2h0OiA4My4zMzMzMyU7IH1cblxuLmNvbC14cy1wdWxsLTExIHtcbiAgcmlnaHQ6IDkxLjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1bGwtMTIge1xuICByaWdodDogMTAwJTsgfVxuXG4uY29sLXhzLXB1c2gtMCB7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmNvbC14cy1wdXNoLTEge1xuICBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uY29sLXhzLXB1c2gtMiB7XG4gIGxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1c2gtMyB7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uY29sLXhzLXB1c2gtNCB7XG4gIGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uY29sLXhzLXB1c2gtNSB7XG4gIGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1c2gtNiB7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uY29sLXhzLXB1c2gtNyB7XG4gIGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uY29sLXhzLXB1c2gtOCB7XG4gIGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uY29sLXhzLXB1c2gtOSB7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uY29sLXhzLXB1c2gtMTAge1xuICBsZWZ0OiA4My4zMzMzMyU7IH1cblxuLmNvbC14cy1wdXNoLTExIHtcbiAgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5jb2wteHMtcHVzaC0xMiB7XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmNvbC14cy1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uY29sLXhzLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTQge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTcge1xuICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTkge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi5jb2wteHMtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uY29sLXhzLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLmNvbC14cy1vZmZzZXQtMTIge1xuICBtYXJnaW4tbGVmdDogMTAwJTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbC1zbS0xLCAuY29sLXNtLTIsIC5jb2wtc20tMywgLmNvbC1zbS00LCAuY29sLXNtLTUsIC5jb2wtc20tNiwgLmNvbC1zbS03LCAuY29sLXNtLTgsIC5jb2wtc20tOSwgLmNvbC1zbS0xMCwgLmNvbC1zbS0xMSwgLmNvbC1zbS0xMiB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNvbC1zbS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLmNvbC1zbS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5jb2wtc20tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuY29sLXNtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1zbS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5jb2wtc20tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuY29sLXNtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1zbS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5jb2wtc20tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAuY29sLXNtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5jb2wtc20tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmNvbC1zbS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNvbC1zbS1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvOyB9XG4gIC5jb2wtc20tcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMyU7IH1cbiAgLmNvbC1zbS1wdWxsLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NyU7IH1cbiAgLmNvbC1zbS1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7IH1cbiAgLmNvbC1zbS1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1zbS1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NyU7IH1cbiAgLmNvbC1zbS1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7IH1cbiAgLmNvbC1zbS1wdWxsLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1zbS1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1zbS1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7IH1cbiAgLmNvbC1zbS1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMlOyB9XG4gIC5jb2wtc20tcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY3JTsgfVxuICAuY29sLXNtLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5jb2wtc20tcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5jb2wtc20tcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAuY29sLXNtLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5jb2wtc20tcHVzaC0zIHtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmNvbC1zbS1wdXNoLTQge1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuY29sLXNtLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5jb2wtc20tcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmNvbC1zbS1wdXNoLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuY29sLXNtLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5jb2wtc20tcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmNvbC1zbS1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmNvbC1zbS1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmNvbC1zbS1wdXNoLTEyIHtcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAuY29sLXNtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLXNtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLXNtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmNvbC1zbS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLXNtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5jb2wtc20tb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sLW1kLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLW1kLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1tZC0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5jb2wtbWQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLW1kLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1tZC02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5jb2wtbWQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLW1kLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1tZC05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5jb2wtbWQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1tZC0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLW1kLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29sLW1kLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbC1tZC1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTsgfVxuICAuY29sLW1kLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLW1kLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTsgfVxuICAuY29sLW1kLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuY29sLW1kLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLW1kLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAuY29sLW1kLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuY29sLW1kLXB1bGwtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLW1kLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTsgfVxuICAuY29sLW1kLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmNvbC1tZC1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbWQtcHVsbC0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmNvbC1tZC1wdXNoLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmNvbC1tZC1wdXNoLTEge1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVzaC0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmNvbC1tZC1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAuY29sLW1kLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVzaC01IHtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmNvbC1tZC1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAuY29sLW1kLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbWQtcHVzaC04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1tZC1wdXNoLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAuY29sLW1kLXB1c2gtMTAge1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLW1kLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuY29sLW1kLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuY29sLW1kLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuY29sLW1kLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuY29sLW1kLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5jb2wtbWQtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmNvbC1tZC1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29sLWxnLTEsIC5jb2wtbGctMiwgLmNvbC1sZy0zLCAuY29sLWxnLTQsIC5jb2wtbGctNSwgLmNvbC1sZy02LCAuY29sLWxnLTcsIC5jb2wtbGctOCwgLmNvbC1sZy05LCAuY29sLWxnLTEwLCAuY29sLWxnLTExLCAuY29sLWxnLTEyIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAuY29sLWxnLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAuY29sLWxnLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmNvbC1sZy0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5jb2wtbGctNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuY29sLWxnLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmNvbC1sZy02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5jb2wtbGctNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuY29sLWxnLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1sZy05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5jb2wtbGctMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLmNvbC1sZy0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAuY29sLWxnLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29sLWxnLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLmNvbC1sZy1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzJTsgfVxuICAuY29sLWxnLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY3JTsgfVxuICAuY29sLWxnLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTsgfVxuICAuY29sLWxnLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzJTsgfVxuICAuY29sLWxnLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY3JTsgfVxuICAuY29sLWxnLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTsgfVxuICAuY29sLWxnLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzJTsgfVxuICAuY29sLWxnLXB1bGwtOCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY3JTsgfVxuICAuY29sLWxnLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTsgfVxuICAuY29sLWxnLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMyU7IH1cbiAgLmNvbC1sZy1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjclOyB9XG4gIC5jb2wtbGctcHVsbC0xMiB7XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmNvbC1sZy1wdXNoLTAge1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmNvbC1sZy1wdXNoLTEge1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVzaC0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmNvbC1sZy1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTsgfVxuICAuY29sLWxnLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVzaC01IHtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmNvbC1sZy1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTsgfVxuICAuY29sLWxnLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5jb2wtbGctcHVzaC04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmNvbC1sZy1wdXNoLTkge1xuICAgIGxlZnQ6IDc1JTsgfVxuICAuY29sLWxnLXB1c2gtMTAge1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuY29sLWxnLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAuY29sLWxnLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAuY29sLWxnLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAuY29sLWxnLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuY29sLWxnLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5jb2wtbGctb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmNvbC1sZy1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9IH1cblxudGFibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG5jYXB0aW9uIHtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsXG4gIC50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCxcbiAgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsXG4gIC50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7IH1cbiAgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGRkOyB9XG4gIC50YWJsZSA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4gIC50YWJsZSA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4gIC50YWJsZSA+IGNvbGdyb3VwICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuICAudGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCxcbiAgLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLFxuICAudGFibGUgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLnRhYmxlID4gdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNkZGQ7IH1cbiAgLnRhYmxlIC50YWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4udGFibGUtY29uZGVuc2VkID4gdGhlYWQgPiB0ciA+IHRoLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRoZWFkID4gdHIgPiB0ZCxcbi50YWJsZS1jb25kZW5zZWQgPiB0Ym9keSA+IHRyID4gdGgsXG4udGFibGUtY29uZGVuc2VkID4gdGJvZHkgPiB0ciA+IHRkLFxuLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0aCxcbi50YWJsZS1jb25kZW5zZWQgPiB0Zm9vdCA+IHRyID4gdGQge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsgfVxuICAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgsXG4gIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoLFxuICAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGQsXG4gIC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9XG4gIC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCxcbiAgLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAycHg7IH1cblxuLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbnRhYmxlIGNvbFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjsgfVxuXG50YWJsZSB0ZFtjbGFzcyo9XCJjb2wtXCJdLFxudGFibGUgdGhbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZC5hY3RpdmUsXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGguYWN0aXZlLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5hY3RpdmUgPiB0ZCxcbi50YWJsZSA+IHRoZWFkID4gdHIuYWN0aXZlID4gdGgsXG4udGFibGUgPiB0Ym9keSA+IHRyID4gdGQuYWN0aXZlLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmFjdGl2ZSxcbi50YWJsZSA+IHRib2R5ID4gdHIuYWN0aXZlID4gdGQsXG4udGFibGUgPiB0Ym9keSA+IHRyLmFjdGl2ZSA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmFjdGl2ZSxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0aC5hY3RpdmUsXG4udGFibGUgPiB0Zm9vdCA+IHRyLmFjdGl2ZSA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5hY3RpdmUgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cblxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRkLmFjdGl2ZTpob3Zlcixcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0aC5hY3RpdmU6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmFjdGl2ZTpob3ZlciA+IHRkLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0cjpob3ZlciA+IC5hY3RpdmUsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmFjdGl2ZTpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlODsgfVxuXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuc3VjY2Vzcyxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5zdWNjZXNzLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5zdWNjZXNzID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLnN1Y2Nlc3MgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5zdWNjZXNzLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLnN1Y2Nlc3MsXG4udGFibGUgPiB0Ym9keSA+IHRyLnN1Y2Nlc3MgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIuc3VjY2VzcyA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLnN1Y2Nlc3MsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGguc3VjY2Vzcyxcbi50YWJsZSA+IHRmb290ID4gdHIuc3VjY2VzcyA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5zdWNjZXNzID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4OyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5zdWNjZXNzOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLnN1Y2Nlc3M6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLnN1Y2Nlc3M6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuc3VjY2Vzcyxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuc3VjY2Vzczpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2QwZTljNjsgfVxuXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuaW5mbyxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC5pbmZvLFxuLnRhYmxlID4gdGhlYWQgPiB0ci5pbmZvID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLmluZm8gPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5pbmZvLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLmluZm8sXG4udGFibGUgPiB0Ym9keSA+IHRyLmluZm8gPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIuaW5mbyA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmluZm8sXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGguaW5mbyxcbi50YWJsZSA+IHRmb290ID4gdHIuaW5mbyA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5pbmZvID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3OyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5pbmZvOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLmluZm86aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLmluZm86aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuaW5mbyxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIuaW5mbzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M0ZTNmMzsgfVxuXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQud2FybmluZyxcbi50YWJsZSA+IHRoZWFkID4gdHIgPiB0aC53YXJuaW5nLFxuLnRhYmxlID4gdGhlYWQgPiB0ci53YXJuaW5nID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLndhcm5pbmcgPiB0aCxcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC53YXJuaW5nLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmcsXG4udGFibGUgPiB0Ym9keSA+IHRyLndhcm5pbmcgPiB0ZCxcbi50YWJsZSA+IHRib2R5ID4gdHIud2FybmluZyA+IHRoLFxuLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLndhcm5pbmcsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGgud2FybmluZyxcbi50YWJsZSA+IHRmb290ID4gdHIud2FybmluZyA+IHRkLFxuLnRhYmxlID4gdGZvb3QgPiB0ci53YXJuaW5nID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC53YXJuaW5nOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciA+IHRoLndhcm5pbmc6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyLndhcm5pbmc6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAud2FybmluZyxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIud2FybmluZzpob3ZlciA+IHRoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZjJjYzsgfVxuXG4udGFibGUgPiB0aGVhZCA+IHRyID4gdGQuZGFuZ2VyLFxuLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmRhbmdlcixcbi50YWJsZSA+IHRoZWFkID4gdHIuZGFuZ2VyID4gdGQsXG4udGFibGUgPiB0aGVhZCA+IHRyLmRhbmdlciA+IHRoLFxuLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLmRhbmdlcixcbi50YWJsZSA+IHRib2R5ID4gdHIgPiB0aC5kYW5nZXIsXG4udGFibGUgPiB0Ym9keSA+IHRyLmRhbmdlciA+IHRkLFxuLnRhYmxlID4gdGJvZHkgPiB0ci5kYW5nZXIgPiB0aCxcbi50YWJsZSA+IHRmb290ID4gdHIgPiB0ZC5kYW5nZXIsXG4udGFibGUgPiB0Zm9vdCA+IHRyID4gdGguZGFuZ2VyLFxuLnRhYmxlID4gdGZvb3QgPiB0ci5kYW5nZXIgPiB0ZCxcbi50YWJsZSA+IHRmb290ID4gdHIuZGFuZ2VyID4gdGgge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlOyB9XG5cbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHIgPiB0ZC5kYW5nZXI6aG92ZXIsXG4udGFibGUtaG92ZXIgPiB0Ym9keSA+IHRyID4gdGguZGFuZ2VyOmhvdmVyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5kYW5nZXI6aG92ZXIgPiB0ZCxcbi50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIgPiAuZGFuZ2VyLFxuLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ci5kYW5nZXI6aG92ZXIgPiB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmNjY2M7IH1cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDsgfVxuICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQge1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgICAgICAgLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgIC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRoLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoLFxuICAgICAgICAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9IH1cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgbWluLXdpZHRoOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6ICMzMzMzMzM7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBtYXJnaW4tdG9wOiAxcHggXFw5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbnNlbGVjdFttdWx0aXBsZV0sXG5zZWxlY3Rbc2l6ZV0ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyB9XG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBjb2xvcjogIzU1NTU1NTsgfVxuXG4uZm9ybS1jb250cm9sIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDM0cHg7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBjb2xvcjogIzU1NTU1NTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAwLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAwLjE1cztcbiAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IDAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IDAuMTVzO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgMC4xNXMsIGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgMC4xNXM7IH1cbiAgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNjZhZmU5O1xuICAgIG91dGxpbmU6IDA7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA4cHggcmdiYSgxMDIsIDE3NSwgMjMzLCAwLjYpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDhweCByZ2JhKDEwMiwgMTc1LCAyMzMsIDAuNik7IH1cbiAgLmZvcm0tY29udHJvbDo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZm9ybS1jb250cm9sOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgLmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgLmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLCAuZm9ybS1jb250cm9sW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2wge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZm9ybS1jb250cm9sW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5mb3JtLWNvbnRyb2wge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMCkge1xuICBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5mb3JtLWNvbnRyb2wsXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLmZvcm0tY29udHJvbCxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmZvcm0tY29udHJvbCxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLmZvcm0tY29udHJvbCB7XG4gICAgbGluZS1oZWlnaHQ6IDM0cHg7IH1cbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0uaW5wdXQtc20sIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0W3R5cGU9XCJkYXRlXCJdLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwLXNtID4gaW5wdXRbdHlwZT1cImRhdGVcIl0uaW5wdXQtZ3JvdXAtYWRkb24sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5idG4sXG4gIC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0uaW5wdXQtc20sXG4gIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0W3R5cGU9XCJ0aW1lXCJdLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwLXNtID4gaW5wdXRbdHlwZT1cInRpbWVcIl0uaW5wdXQtZ3JvdXAtYWRkb24sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dFt0eXBlPVwidGltZVwiXS5idG4sXG4gIC5pbnB1dC1ncm91cC1zbVxuICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LXNtLFxuICAuaW5wdXQtZ3JvdXAtc20gPiBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uZm9ybS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAtc20gPiBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uaW5wdXQtZ3JvdXAtYWRkb24sXG4gIC5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0uYnRuLFxuICAuaW5wdXQtZ3JvdXAtc21cbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtc20sXG4gIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0W3R5cGU9XCJtb250aFwiXS5mb3JtLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cC1zbSA+IGlucHV0W3R5cGU9XCJtb250aFwiXS5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IGlucHV0W3R5cGU9XCJtb250aFwiXS5idG4sXG4gIC5pbnB1dC1ncm91cC1zbVxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dFt0eXBlPVwiZGF0ZVwiXS5mb3JtLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cC1sZyA+IGlucHV0W3R5cGU9XCJkYXRlXCJdLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gaW5wdXRbdHlwZT1cImRhdGVcIl0uYnRuLFxuICAuaW5wdXQtZ3JvdXAtbGcgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLmlucHV0LWxnLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dFt0eXBlPVwidGltZVwiXS5mb3JtLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cC1sZyA+IGlucHV0W3R5cGU9XCJ0aW1lXCJdLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gaW5wdXRbdHlwZT1cInRpbWVcIl0uYnRuLFxuICAuaW5wdXQtZ3JvdXAtbGdcbiAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXS5pbnB1dC1sZyxcbiAgLmlucHV0LWdyb3VwLWxnID4gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmZvcm0tY29udHJvbCxcbiAgLmlucHV0LWdyb3VwLWxnID4gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLmJ0bixcbiAgLmlucHV0LWdyb3VwLWxnXG4gIGlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdLmlucHV0LWxnLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dFt0eXBlPVwibW9udGhcIl0uZm9ybS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiBpbnB1dFt0eXBlPVwibW9udGhcIl0uaW5wdXQtZ3JvdXAtYWRkb24sXG4gIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiBpbnB1dFt0eXBlPVwibW9udGhcIl0uYnRuLFxuICAuaW5wdXQtZ3JvdXAtbGdcbiAgaW5wdXRbdHlwZT1cIm1vbnRoXCJdIHtcbiAgICBsaW5lLWhlaWdodDogNDZweDsgfSB9XG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC5yYWRpbyBsYWJlbCxcbiAgLmNoZWNrYm94IGxhYmVsIHtcbiAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiA0cHggXFw5OyB9XG5cbi5yYWRpbyArIC5yYWRpbyxcbi5jaGVja2JveCArIC5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IC01cHg7IH1cblxuLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyB9XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXVtkaXNhYmxlZF0sIGlucHV0W3R5cGU9XCJyYWRpb1wiXS5kaXNhYmxlZCxcbmZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1bZGlzYWJsZWRdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLmRpc2FibGVkLFxuZmllbGRzZXRbZGlzYWJsZWRdXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5yYWRpby1pbmxpbmUuZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gLnJhZGlvLWlubGluZSxcbi5jaGVja2JveC1pbmxpbmUuZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF1cbi5jaGVja2JveC1pbmxpbmUge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5yYWRpby5kaXNhYmxlZCBsYWJlbCxcbmZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8gbGFiZWwsXG4uY2hlY2tib3guZGlzYWJsZWQgbGFiZWwsXG5maWVsZHNldFtkaXNhYmxlZF1cbi5jaGVja2JveCBsYWJlbCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4taGVpZ2h0OiAzNHB4OyB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWxnLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sLXN0YXRpYy5mb3JtLWNvbnRyb2wsXG4gIC5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmZvcm0tY29udHJvbC1zdGF0aWMuYnRuLCAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1zbSwgLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbC1zdGF0aWMuZm9ybS1jb250cm9sLFxuICAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLXN0YXRpYy5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5mb3JtLWNvbnRyb2wtc3RhdGljLmJ0biB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLmlucHV0LXNtLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG5zZWxlY3QuaW5wdXQtc20sIC5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtc20gPiBzZWxlY3QuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmJ0biB7XG4gIGhlaWdodDogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxudGV4dGFyZWEuaW5wdXQtc20sIC5pbnB1dC1ncm91cC1zbSA+IHRleHRhcmVhLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IHRleHRhcmVhLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IHRleHRhcmVhLmJ0bixcbnNlbGVjdFttdWx0aXBsZV0uaW5wdXQtc20sXG4uaW5wdXQtZ3JvdXAtc20gPiBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0W211bHRpcGxlXS5idG4ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5mb3JtLWdyb3VwLXNtIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbi5mb3JtLWdyb3VwLXNtIHRleHRhcmVhLmZvcm0tY29udHJvbCxcbi5mb3JtLWdyb3VwLXNtIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgaGVpZ2h0OiAzMHB4O1xuICBtaW4taGVpZ2h0OiAzMnB4O1xuICBwYWRkaW5nOiA2cHggMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5pbnB1dC1sZywgLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgaGVpZ2h0OiA0NnB4O1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG5zZWxlY3QuaW5wdXQtbGcsIC5pbnB1dC1ncm91cC1sZyA+IHNlbGVjdC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3QuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0LmJ0biB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7IH1cblxudGV4dGFyZWEuaW5wdXQtbGcsIC5pbnB1dC1ncm91cC1sZyA+IHRleHRhcmVhLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IHRleHRhcmVhLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IHRleHRhcmVhLmJ0bixcbnNlbGVjdFttdWx0aXBsZV0uaW5wdXQtbGcsXG4uaW5wdXQtZ3JvdXAtbGcgPiBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gc2VsZWN0W211bHRpcGxlXS5idG4ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogNDZweDtcbiAgcGFkZGluZzogMTBweCAxNnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjMzMzMzO1xuICBib3JkZXItcmFkaXVzOiA2cHg7IH1cblxuLmZvcm0tZ3JvdXAtbGcgc2VsZWN0LmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogNDZweDtcbiAgbGluZS1oZWlnaHQ6IDQ2cHg7IH1cblxuLmZvcm0tZ3JvdXAtbGcgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuLmZvcm0tZ3JvdXAtbGcgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICBoZWlnaHQ6IDQ2cHg7XG4gIG1pbi1oZWlnaHQ6IDM4cHg7XG4gIHBhZGRpbmc6IDExcHggMTZweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzsgfVxuXG4uaGFzLWZlZWRiYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbCB7XG4gICAgcGFkZGluZy1yaWdodDogNDIuNXB4OyB9XG5cbi5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBsaW5lLWhlaWdodDogMzRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaW5wdXQtZ3JvdXAtbGcgPiAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbiArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogNDZweDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBsaW5lLWhlaWdodDogNDZweDsgfVxuXG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLCAuaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbiArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmhlbHAtYmxvY2ssXG4uaGFzLXN1Y2Nlc3MgLmNvbnRyb2wtbGFiZWwsXG4uaGFzLXN1Y2Nlc3MgLnJhZGlvLFxuLmhhcy1zdWNjZXNzIC5jaGVja2JveCxcbi5oYXMtc3VjY2VzcyAucmFkaW8taW5saW5lLFxuLmhhcy1zdWNjZXNzIC5jaGVja2JveC1pbmxpbmUsXG4uaGFzLXN1Y2Nlc3MucmFkaW8gbGFiZWwsXG4uaGFzLXN1Y2Nlc3MuY2hlY2tib3ggbGFiZWwsXG4uaGFzLXN1Y2Nlc3MucmFkaW8taW5saW5lIGxhYmVsLFxuLmhhcy1zdWNjZXNzLmNoZWNrYm94LWlubGluZSBsYWJlbCB7XG4gIGNvbG9yOiAjM2M3NjNkOyB9XG5cbi5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjM2M3NjNkO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gIC5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMyYjU0MmM7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggIzY3YjE2ODtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSksIDAgMCA2cHggIzY3YjE2ODsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG4gIGJvcmRlci1jb2xvcjogIzNjNzYzZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODsgfVxuXG4uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjM2M3NjNkOyB9XG5cbi5oYXMtd2FybmluZyAuaGVscC1ibG9jayxcbi5oYXMtd2FybmluZyAuY29udHJvbC1sYWJlbCxcbi5oYXMtd2FybmluZyAucmFkaW8sXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LFxuLmhhcy13YXJuaW5nIC5yYWRpby1pbmxpbmUsXG4uaGFzLXdhcm5pbmcgLmNoZWNrYm94LWlubGluZSxcbi5oYXMtd2FybmluZy5yYWRpbyBsYWJlbCxcbi5oYXMtd2FybmluZy5jaGVja2JveCBsYWJlbCxcbi5oYXMtd2FybmluZy5yYWRpby1pbmxpbmUgbGFiZWwsXG4uaGFzLXdhcm5pbmcuY2hlY2tib3gtaW5saW5lIGxhYmVsIHtcbiAgY29sb3I6ICM4YTZkM2I7IH1cblxuLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2wge1xuICBib3JkZXItY29sb3I6ICM4YTZkM2I7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7IH1cbiAgLmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzY2NTEyYztcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDZweCAjYzBhMTZiO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDZweCAjYzBhMTZiOyB9XG5cbi5oYXMtd2FybmluZyAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogIzhhNmQzYjtcbiAgYm9yZGVyLWNvbG9yOiAjOGE2ZDNiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XG5cbi5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgY29sb3I6ICM4YTZkM2I7IH1cblxuLmhhcy1lcnJvciAuaGVscC1ibG9jayxcbi5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwsXG4uaGFzLWVycm9yIC5yYWRpbyxcbi5oYXMtZXJyb3IgLmNoZWNrYm94LFxuLmhhcy1lcnJvciAucmFkaW8taW5saW5lLFxuLmhhcy1lcnJvciAuY2hlY2tib3gtaW5saW5lLFxuLmhhcy1lcnJvci5yYWRpbyBsYWJlbCxcbi5oYXMtZXJyb3IuY2hlY2tib3ggbGFiZWwsXG4uaGFzLWVycm9yLnJhZGlvLWlubGluZSBsYWJlbCxcbi5oYXMtZXJyb3IuY2hlY2tib3gtaW5saW5lIGxhYmVsIHtcbiAgY29sb3I6ICNhOTQ0NDI7IH1cblxuLmhhcy1lcnJvciAuZm9ybS1jb250cm9sIHtcbiAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyO1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpOyB9XG4gIC5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjODQzNTM0O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICNjZTg0ODM7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNzUpLCAwIDAgNnB4ICNjZTg0ODM7IH1cblxuLmhhcy1lcnJvciAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBjb2xvcjogI2E5NDQ0MjtcbiAgYm9yZGVyLWNvbG9yOiAjYTk0NDQyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlOyB9XG5cbi5oYXMtZXJyb3IgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIGNvbG9yOiAjYTk0NDQyOyB9XG5cbi5oYXMtZmVlZGJhY2sgbGFiZWwgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgdG9wOiAyNXB4OyB9XG5cbi5oYXMtZmVlZGJhY2sgbGFiZWwuc3Itb25seSB+IC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB0b3A6IDA7IH1cblxuLmhlbHAtYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogIzczNzM3MzsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZvcm0taW5saW5lIC5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9sIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLFxuICAgIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0bixcbiAgICAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCA+IC5mb3JtLWNvbnRyb2wge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mb3JtLWlubGluZSAuY29udHJvbC1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mb3JtLWlubGluZSAucmFkaW8sXG4gIC5mb3JtLWlubGluZSAuY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5mb3JtLWlubGluZSAucmFkaW8gbGFiZWwsXG4gICAgLmZvcm0taW5saW5lIC5jaGVja2JveCBsYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmZvcm0taW5saW5lIC5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5mb3JtLWlubGluZSAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmZvcm0taW5saW5lIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAwOyB9IH1cblxuLmZvcm0taG9yaXpvbnRhbCAucmFkaW8sXG4uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCxcbi5mb3JtLWhvcml6b250YWwgLnJhZGlvLWlubGluZSxcbi5mb3JtLWhvcml6b250YWwgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiA3cHg7IH1cblxuLmZvcm0taG9yaXpvbnRhbCAucmFkaW8sXG4uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCB7XG4gIG1pbi1oZWlnaHQ6IDI3cHg7IH1cblxuLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDsgfVxuICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmJlZm9yZSwgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDdweDsgfSB9XG5cbi5mb3JtLWhvcml6b250YWwgLmhhcy1mZWVkYmFjayAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgcmlnaHQ6IDE1cHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXAtbGcgLmNvbnRyb2wtbGFiZWwge1xuICAgIHBhZGRpbmctdG9wOiAxMXB4O1xuICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLXNtIC5jb250cm9sLWxhYmVsIHtcbiAgICBwYWRkaW5nLXRvcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgLmJ0bjpmb2N1cywgLmJ0bi5mb2N1cywgLmJ0bjphY3RpdmU6Zm9jdXMsIC5idG46YWN0aXZlLmZvY3VzLCAuYnRuLmFjdGl2ZTpmb2N1cywgLmJ0bi5hY3RpdmUuZm9jdXMge1xuICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuICAuYnRuOmhvdmVyLCAuYnRuOmZvY3VzLCAuYnRuLmZvY3VzIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bjphY3RpdmUsIC5idG4uYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpOyB9XG4gIC5idG4uZGlzYWJsZWQsIC5idG5bZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0biB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldFtkaXNhYmxlZF0gYS5idG4ge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uYnRuLWRlZmF1bHQge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG4gIC5idG4tZGVmYXVsdDpmb2N1cywgLmJ0bi1kZWZhdWx0LmZvY3VzIHtcbiAgICBjb2xvcjogIzMzMztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGJvcmRlci1jb2xvcjogIzhjOGM4YzsgfVxuICAuYnRuLWRlZmF1bHQ6aG92ZXIge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkOyB9XG4gIC5idG4tZGVmYXVsdDphY3RpdmUsIC5idG4tZGVmYXVsdC5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1kZWZhdWx0LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBib3JkZXItY29sb3I6ICNhZGFkYWQ7IH1cbiAgICAuYnRuLWRlZmF1bHQ6YWN0aXZlOmhvdmVyLCAuYnRuLWRlZmF1bHQ6YWN0aXZlOmZvY3VzLCAuYnRuLWRlZmF1bHQ6YWN0aXZlLmZvY3VzLCAuYnRuLWRlZmF1bHQuYWN0aXZlOmhvdmVyLCAuYnRuLWRlZmF1bHQuYWN0aXZlOmZvY3VzLCAuYnRuLWRlZmF1bHQuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1kZWZhdWx0LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4tZGVmYXVsdC5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWRlZmF1bHQuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzhjOGM4YzsgfVxuICAuYnRuLWRlZmF1bHQ6YWN0aXZlLCAuYnRuLWRlZmF1bHQuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tZGVmYXVsdC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmhvdmVyLCAuYnRuLWRlZmF1bHQuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tZGVmYXVsdC5kaXNhYmxlZC5mb2N1cywgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXS5mb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItY29sb3I6ICNjY2M7IH1cbiAgLmJ0bi1kZWZhdWx0IC5iYWRnZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxuXG4uYnRuLXByaW1hcnkge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNztcbiAgYm9yZGVyLWNvbG9yOiAjMmU2ZGE0OyB9XG4gIC5idG4tcHJpbWFyeTpmb2N1cywgLmJ0bi1wcmltYXJ5LmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjg2MDkwO1xuICAgIGJvcmRlci1jb2xvcjogIzEyMmI0MDsgfVxuICAuYnRuLXByaW1hcnk6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyODYwOTA7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjA0ZDc0OyB9XG4gIC5idG4tcHJpbWFyeTphY3RpdmUsIC5idG4tcHJpbWFyeS5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI4NjA5MDtcbiAgICBib3JkZXItY29sb3I6ICMyMDRkNzQ7IH1cbiAgICAuYnRuLXByaW1hcnk6YWN0aXZlOmhvdmVyLCAuYnRuLXByaW1hcnk6YWN0aXZlOmZvY3VzLCAuYnRuLXByaW1hcnk6YWN0aXZlLmZvY3VzLCAuYnRuLXByaW1hcnkuYWN0aXZlOmhvdmVyLCAuYnRuLXByaW1hcnkuYWN0aXZlOmZvY3VzLCAuYnRuLXByaW1hcnkuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1wcmltYXJ5LmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXByaW1hcnkuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIwNGQ3NDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzEyMmI0MDsgfVxuICAuYnRuLXByaW1hcnk6YWN0aXZlLCAuYnRuLXByaW1hcnkuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLCAuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXS5mb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeS5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNztcbiAgICBib3JkZXItY29sb3I6ICMyZTZkYTQ7IH1cbiAgLmJ0bi1wcmltYXJ5IC5iYWRnZSB7XG4gICAgY29sb3I6ICMzMzdhYjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYnRuLXN1Y2Nlc3Mge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1YztcbiAgYm9yZGVyLWNvbG9yOiAjNGNhZTRjOyB9XG4gIC5idG4tc3VjY2Vzczpmb2N1cywgLmJ0bi1zdWNjZXNzLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ5ZDQ0O1xuICAgIGJvcmRlci1jb2xvcjogIzI1NTYyNTsgfVxuICAuYnRuLXN1Y2Nlc3M6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDlkNDQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzk4NDM5OyB9XG4gIC5idG4tc3VjY2VzczphY3RpdmUsIC5idG4tc3VjY2Vzcy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0NDtcbiAgICBib3JkZXItY29sb3I6ICMzOTg0Mzk7IH1cbiAgICAuYnRuLXN1Y2Nlc3M6YWN0aXZlOmhvdmVyLCAuYnRuLXN1Y2Nlc3M6YWN0aXZlOmZvY3VzLCAuYnRuLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLCAuYnRuLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLCAuYnRuLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLCAuYnRuLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1zdWNjZXNzLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM5ODQzOTtcbiAgICAgIGJvcmRlci1jb2xvcjogIzI1NTYyNTsgfVxuICAuYnRuLXN1Y2Nlc3M6YWN0aXZlLCAuYnRuLXN1Y2Nlc3MuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tc3VjY2Vzcy5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi1zdWNjZXNzLmRpc2FibGVkOmhvdmVyLCAuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tc3VjY2Vzcy5kaXNhYmxlZC5mb2N1cywgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5mb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzczpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzcy5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzVjYjg1YztcbiAgICBib3JkZXItY29sb3I6ICM0Y2FlNGM7IH1cbiAgLmJ0bi1zdWNjZXNzIC5iYWRnZSB7XG4gICAgY29sb3I6ICM1Y2I4NWM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYnRuLWluZm8ge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTtcbiAgYm9yZGVyLWNvbG9yOiAjNDZiOGRhOyB9XG4gIC5idG4taW5mbzpmb2N1cywgLmJ0bi1pbmZvLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMGQ1O1xuICAgIGJvcmRlci1jb2xvcjogIzFiNmQ4NTsgfVxuICAuYnRuLWluZm86aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMWIwZDU7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjY5YWJjOyB9XG4gIC5idG4taW5mbzphY3RpdmUsIC5idG4taW5mby5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMxYjBkNTtcbiAgICBib3JkZXItY29sb3I6ICMyNjlhYmM7IH1cbiAgICAuYnRuLWluZm86YWN0aXZlOmhvdmVyLCAuYnRuLWluZm86YWN0aXZlOmZvY3VzLCAuYnRuLWluZm86YWN0aXZlLmZvY3VzLCAuYnRuLWluZm8uYWN0aXZlOmhvdmVyLCAuYnRuLWluZm8uYWN0aXZlOmZvY3VzLCAuYnRuLWluZm8uYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWluZm8uZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI2OWFiYztcbiAgICAgIGJvcmRlci1jb2xvcjogIzFiNmQ4NTsgfVxuICAuYnRuLWluZm86YWN0aXZlLCAuYnRuLWluZm8uYWN0aXZlLFxuICAub3BlbiA+IC5idG4taW5mby5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi1pbmZvLmRpc2FibGVkOmhvdmVyLCAuYnRuLWluZm8uZGlzYWJsZWQ6Zm9jdXMsIC5idG4taW5mby5kaXNhYmxlZC5mb2N1cywgLmJ0bi1pbmZvW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi1pbmZvW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1pbmZvW2Rpc2FibGVkXS5mb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mby5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzViYzBkZTtcbiAgICBib3JkZXItY29sb3I6ICM0NmI4ZGE7IH1cbiAgLmJ0bi1pbmZvIC5iYWRnZSB7XG4gICAgY29sb3I6ICM1YmMwZGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYnRuLXdhcm5pbmcge1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTtcbiAgYm9yZGVyLWNvbG9yOiAjZWVhMjM2OyB9XG4gIC5idG4td2FybmluZzpmb2N1cywgLmJ0bi13YXJuaW5nLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM5NzFmO1xuICAgIGJvcmRlci1jb2xvcjogIzk4NWYwZDsgfVxuICAuYnRuLXdhcm5pbmc6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzk3MWY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZDU4NTEyOyB9XG4gIC5idG4td2FybmluZzphY3RpdmUsIC5idG4td2FybmluZy5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjOTcxZjtcbiAgICBib3JkZXItY29sb3I6ICNkNTg1MTI7IH1cbiAgICAuYnRuLXdhcm5pbmc6YWN0aXZlOmhvdmVyLCAuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLCAuYnRuLXdhcm5pbmc6YWN0aXZlLmZvY3VzLCAuYnRuLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCAuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLCAuYnRuLXdhcm5pbmcuYWN0aXZlLmZvY3VzLFxuICAgIC5vcGVuID4gLmJ0bi13YXJuaW5nLmRyb3Bkb3duLXRvZ2dsZTpob3ZlcixcbiAgICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlLmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ODUxMjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzk4NWYwZDsgfVxuICAuYnRuLXdhcm5pbmc6YWN0aXZlLCAuYnRuLXdhcm5pbmcuYWN0aXZlLFxuICAub3BlbiA+IC5idG4td2FybmluZy5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cbiAgLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLCAuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsIC5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpob3ZlciwgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi13YXJuaW5nW2Rpc2FibGVkXS5mb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzpob3ZlcixcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZy5mb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTtcbiAgICBib3JkZXItY29sb3I6ICNlZWEyMzY7IH1cbiAgLmJ0bi13YXJuaW5nIC5iYWRnZSB7XG4gICAgY29sb3I6ICNmMGFkNGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uYnRuLWRhbmdlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmO1xuICBib3JkZXItY29sb3I6ICNkNDNmM2E7IH1cbiAgLmJ0bi1kYW5nZXI6Zm9jdXMsIC5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzkzMDJjO1xuICAgIGJvcmRlci1jb2xvcjogIzc2MWMxOTsgfVxuICAuYnRuLWRhbmdlcjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M5MzAyYztcbiAgICBib3JkZXItY29sb3I6ICNhYzI5MjU7IH1cbiAgLmJ0bi1kYW5nZXI6YWN0aXZlLCAuYnRuLWRhbmdlci5hY3RpdmUsXG4gIC5vcGVuID4gLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzkzMDJjO1xuICAgIGJvcmRlci1jb2xvcjogI2FjMjkyNTsgfVxuICAgIC5idG4tZGFuZ2VyOmFjdGl2ZTpob3ZlciwgLmJ0bi1kYW5nZXI6YWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlcjphY3RpdmUuZm9jdXMsIC5idG4tZGFuZ2VyLmFjdGl2ZTpob3ZlciwgLmJ0bi1kYW5nZXIuYWN0aXZlOmZvY3VzLCAuYnRuLWRhbmdlci5hY3RpdmUuZm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6aG92ZXIsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGU6Zm9jdXMsXG4gICAgLm9wZW4gPiAuYnRuLWRhbmdlci5kcm9wZG93bi10b2dnbGUuZm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWMyOTI1O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjNzYxYzE5OyB9XG4gIC5idG4tZGFuZ2VyOmFjdGl2ZSwgLmJ0bi1kYW5nZXIuYWN0aXZlLFxuICAub3BlbiA+IC5idG4tZGFuZ2VyLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuICAuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwgLmJ0bi1kYW5nZXIuZGlzYWJsZWQ6Zm9jdXMsIC5idG4tZGFuZ2VyLmRpc2FibGVkLmZvY3VzLCAuYnRuLWRhbmdlcltkaXNhYmxlZF06aG92ZXIsIC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpmb2N1cywgLmJ0bi1kYW5nZXJbZGlzYWJsZWRdLmZvY3VzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXI6aG92ZXIsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlcjpmb2N1cyxcbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyLmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1MzRmO1xuICAgIGJvcmRlci1jb2xvcjogI2Q0M2YzYTsgfVxuICAuYnRuLWRhbmdlciAuYmFkZ2Uge1xuICAgIGNvbG9yOiAjZDk1MzRmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICMzMzdhYjc7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLmJ0bi1saW5rLCAuYnRuLWxpbms6YWN0aXZlLCAuYnRuLWxpbmsuYWN0aXZlLCAuYnRuLWxpbmtbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAuYnRuLWxpbmssIC5idG4tbGluazpob3ZlciwgLmJ0bi1saW5rOmZvY3VzLCAuYnRuLWxpbms6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5idG4tbGluazpob3ZlciwgLmJ0bi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzIzNTI3YztcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLCAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmhvdmVyLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogIzc3Nzc3NztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmJ0bi1sZywgLmJ0bi1ncm91cC1sZyA+IC5idG4ge1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzM7XG4gIGJvcmRlci1yYWRpdXM6IDZweDsgfVxuXG4uYnRuLXNtLCAuYnRuLWdyb3VwLXNtID4gLmJ0biB7XG4gIHBhZGRpbmc6IDVweCAxMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uYnRuLXhzLCAuYnRuLWdyb3VwLXhzID4gLmJ0biB7XG4gIHBhZGRpbmc6IDFweCA1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiA1cHg7IH1cblxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idG4tYmxvY2ssXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0uYnRuLWJsb2NrLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idG4tYmxvY2sge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4xNXMgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjsgfVxuICAuZmFkZS5pbiB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb2xsYXBzZS5pbiB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxudHIuY29sbGFwc2UuaW4ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cblxudGJvZHkuY29sbGFwc2UuaW4ge1xuICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBoZWlnaHQsIHZpc2liaWxpdHk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGhlaWdodCwgdmlzaWJpbGl0eTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjM1cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zNXM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG5cbi5jYXJldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXRvcDogNHB4IGRhc2hlZDtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIFxcOTtcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24tbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogbGVmdDtcbiAgbWluLXdpZHRoOiAxNjBweDtcbiAgcGFkZGluZzogNXB4IDA7XG4gIG1hcmdpbjogMnB4IDAgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgfVxuICAuZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi1tZW51IC5kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IDlweCAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTsgfVxuICAuZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogM3B4IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgICBjb2xvcjogIzMzMzMzMztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICMyNjI2MjY7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cblxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSwgLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpob3ZlciwgLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7IH1cblxuLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLCAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsIC5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIGNvbG9yOiAjNzc3Nzc3OyB9XG5cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3ZlciwgLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4ub3BlbiA+IC5kcm9wZG93bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm9wZW4gPiBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5kcm9wZG93bi1tZW51LWxlZnQge1xuICBsZWZ0OiAwO1xuICByaWdodDogYXV0bzsgfVxuXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDNweCAyMHB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBjb2xvcjogIzc3Nzc3NztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTkwOyB9XG5cbi5wdWxsLXJpZ2h0ID4gLmRyb3Bkb3duLW1lbnUge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcHVwIC5jYXJldCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuY2FyZXQge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiA0cHggZGFzaGVkO1xuICBib3JkZXItYm90dG9tOiA0cHggc29saWQgXFw5O1xuICBjb250ZW50OiBcIlwiOyB9XG5cbi5kcm9wdXAgLmRyb3Bkb3duLW1lbnUsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMnB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubmF2YmFyLXJpZ2h0IC5kcm9wZG93bi1tZW51IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bzsgfSB9XG5cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmJ0bi1ncm91cCA+IC5idG4sXG4gIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuYnRuLWdyb3VwID4gLmJ0bjpob3ZlciwgLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsIC5idG4tZ3JvdXAgPiAuYnRuOmFjdGl2ZSwgLmJ0bi1ncm91cCA+IC5idG4uYWN0aXZlLFxuICAgIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmhvdmVyLFxuICAgIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmZvY3VzLFxuICAgIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmFjdGl2ZSxcbiAgICAuYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjsgfVxuXG4uYnRuLWdyb3VwIC5idG4gKyAuYnRuLFxuLmJ0bi1ncm91cCAuYnRuICsgLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAgLmJ0bi1ncm91cCArIC5idG4sXG4uYnRuLWdyb3VwIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7IH1cblxuLmJ0bi10b29sYmFyIHtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7IH1cbiAgLmJ0bi10b29sYmFyOmJlZm9yZSwgLmJ0bi10b29sYmFyOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYnRuLXRvb2xiYXI6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idG4tdG9vbGJhciAuYnRuLFxuICAuYnRuLXRvb2xiYXIgLmJ0bi1ncm91cCxcbiAgLmJ0bi10b29sYmFyIC5pbnB1dC1ncm91cCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmJ0bi10b29sYmFyID4gLmJ0bixcbiAgLmJ0bi10b29sYmFyID4gLmJ0bi1ncm91cCxcbiAgLmJ0bi10b29sYmFyID4gLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDsgfVxuXG4uYnRuLWdyb3VwID4gLmJ0biArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4OyB9XG5cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSwgLmJ0bi1ncm91cC1sZy5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDsgfVxuXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4xMjUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDNweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEyNSk7IH1cbiAgLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmsge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5idG4gLmNhcmV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJ0bi1sZyAuY2FyZXQsIC5idG4tZ3JvdXAtbGcgPiAuYnRuIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG5cbi5kcm9wdXAgLmJ0bi1sZyAuY2FyZXQsIC5kcm9wdXAgLmJ0bi1ncm91cC1sZyA+IC5idG4gLmNhcmV0IHtcbiAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4sXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwID4gLmJ0biB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpiZWZvcmUsIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4gKyAuYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogLTFweDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IH1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuOmxhc3QtY2hpbGQsXG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IH1cbiAgLmJ0bi1ncm91cC1qdXN0aWZpZWQgPiAuYnRuLFxuICAuYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IDElOyB9XG4gIC5idG4tZ3JvdXAtanVzdGlmaWVkID4gLmJ0bi1ncm91cCAuYnRuIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYnRuLWdyb3VwLWp1c3RpZmllZCA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87IH1cblxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuW2RhdGEtdG9nZ2xlPVwiYnV0dG9uc1wiXSA+IC5idG4tZ3JvdXAgPiAuYnRuIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbltkYXRhLXRvZ2dsZT1cImJ1dHRvbnNcIl0gPiAuYnRuLWdyb3VwID4gLmJ0biBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IH1cbiAgLmlucHV0LWdyb3VwW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICAgICAgei1pbmRleDogMzsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpLFxuICAuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCksXG4gIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICM1NTU1NTU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbi5pbnB1dC1zbSxcbiAgLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuICAuaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmlucHV0LWdyb3VwLWFkZG9uLmJ0biB7XG4gICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAuaW5wdXQtZ3JvdXAtYWRkb24uaW5wdXQtbGcsXG4gIC5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbiAgLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWJ0biA+IC5pbnB1dC1ncm91cC1hZGRvbi5idG4ge1xuICAgIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIC5pbnB1dC1ncm91cC1hZGRvbiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuICsgLmJ0biB7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxuICAgIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmhvdmVyLCAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0bjpmb2N1cywgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46YWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4gIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7IH1cbiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbiAgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCB7XG4gICAgei1pbmRleDogMjtcbiAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4ubmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5uYXY6YmVmb3JlLCAubmF2OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAubmF2OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubmF2ID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5uYXYgPiBsaSA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgICAgIC5uYXYgPiBsaSA+IGE6aG92ZXIsIC5uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7IH1cbiAgICAubmF2ID4gbGkuZGlzYWJsZWQgPiBhIHtcbiAgICAgIGNvbG9yOiAjNzc3Nzc3OyB9XG4gICAgICAubmF2ID4gbGkuZGlzYWJsZWQgPiBhOmhvdmVyLCAubmF2ID4gbGkuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICM3Nzc3Nzc7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLm5hdiAub3BlbiA+IGEsIC5uYXYgLm9wZW4gPiBhOmhvdmVyLCAubmF2IC5vcGVuID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7IH1cbiAgLm5hdiAubmF2LWRpdmlkZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbjogOXB4IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1OyB9XG4gIC5uYXYgPiBsaSA+IGEgPiBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZDsgfVxuICAubmF2LXRhYnMgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDsgfVxuICAgIC5uYXYtdGFicyA+IGxpID4gYSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsgfVxuICAgICAgLm5hdi10YWJzID4gbGkgPiBhOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlICNlZWVlZWUgI2RkZDsgfVxuICAgIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEsIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICM1NTU1NTU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5uYXYtcGlsbHMgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5uYXYtcGlsbHMgPiBsaSA+IGEge1xuICAgIGJvcmRlci1yYWRpdXM6IDRweDsgfVxuICAubmF2LXBpbGxzID4gbGkgKyBsaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDsgfVxuICAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYSwgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3OyB9XG5cbi5uYXYtc3RhY2tlZCA+IGxpIHtcbiAgZmxvYXQ6IG5vbmU7IH1cbiAgLm5hdi1zdGFja2VkID4gbGkgKyBsaSB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5uYXYtanVzdGlmaWVkLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5uYXYtanVzdGlmaWVkID4gbGksIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkge1xuICAgIGZsb2F0OiBub25lOyB9XG4gICAgLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEsIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAubmF2LWp1c3RpZmllZCA+IC5kcm9wZG93biAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdi1qdXN0aWZpZWQgPiBsaSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElOyB9XG4gICAgICAubmF2LWp1c3RpZmllZCA+IGxpID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuLm5hdi10YWJzLWp1c3RpZmllZCwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQge1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5uYXYtdGFicy1qdXN0aWZpZWQgPiBsaSA+IGEsIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gbGkgPiBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbiAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMsIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdi10YWJzLWp1c3RpZmllZCA+IGxpID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDsgfVxuICAgIC5uYXYtdGFicy1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwgLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSxcbiAgICAubmF2LXRhYnMtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgLm5hdi10YWJzLWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzLCAubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZmY7IH0gfVxuXG4udGFiLWNvbnRlbnQgPiAudGFiLXBhbmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50YWItY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ubmF2LXRhYnMgLmRyb3Bkb3duLW1lbnUge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDsgfVxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuICAubmF2YmFyOmJlZm9yZSwgLm5hdmJhcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm5hdmJhcjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7IH0gfVxuXG4ubmF2YmFyLWhlYWRlcjpiZWZvcmUsIC5uYXZiYXItaGVhZGVyOmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5uYXZiYXItaGVhZGVyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItaGVhZGVyIHtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbi5uYXZiYXItY29sbGFwc2Uge1xuICBvdmVyZmxvdy14OiB2aXNpYmxlO1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDsgfVxuICAubmF2YmFyLWNvbGxhcHNlOmJlZm9yZSwgLm5hdmJhci1jb2xsYXBzZTphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm5hdmJhci1jb2xsYXBzZTphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm5hdmJhci1jb2xsYXBzZS5pbiB7XG4gICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC5uYXZiYXItY29sbGFwc2UuY29sbGFwc2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5uYXZiYXItY29sbGFwc2UuaW4ge1xuICAgICAgICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG4gICAgICAubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNlLFxuICAgICAgLm5hdmJhci1zdGF0aWMtdG9wIC5uYXZiYXItY29sbGFwc2UsXG4gICAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLWNvbGxhcHNlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Uge1xuICBtYXgtaGVpZ2h0OiAzNDBweDsgfVxuICBAbWVkaWEgKG1heC1kZXZpY2Utd2lkdGg6IDQ4MHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWNvbGxhcHNlLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7IH0gfVxuXG4uY29udGFpbmVyID4gLm5hdmJhci1oZWFkZXIsXG4uY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSxcbi5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWhlYWRlcixcbi5jb250YWluZXItZmx1aWQgPiAubmF2YmFyLWNvbGxhcHNlIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250YWluZXIgPiAubmF2YmFyLWhlYWRlcixcbiAgICAuY29udGFpbmVyID4gLm5hdmJhci1jb2xsYXBzZSxcbiAgICAuY29udGFpbmVyLWZsdWlkID4gLm5hdmJhci1oZWFkZXIsXG4gICAgLmNvbnRhaW5lci1mbHVpZCA+IC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4ubmF2YmFyLXN0YXRpYy10b3Age1xuICB6LWluZGV4OiAxMDAwO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAzMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLWZpeGVkLXRvcCxcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cblxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDsgfVxuXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwOyB9XG5cbi5uYXZiYXItYnJhbmQge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMTVweCAxNXB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBoZWlnaHQ6IDUwcHg7IH1cbiAgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5uYXZiYXItYnJhbmQgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyIC5uYXZiYXItYnJhbmQsXG4gICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgLm5hdmJhci1icmFuZCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7IH0gfVxuXG4ubmF2YmFyLXRvZ2dsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmc6IDlweCAxMHB4O1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLm5hdmJhci10b2dnbGU6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm5hdmJhci10b2dnbGUgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7IH1cbiAgLm5hdmJhci10b2dnbGUgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5uYXZiYXItbmF2IHtcbiAgbWFyZ2luOiA3LjVweCAtMTVweDsgfVxuICAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYSxcbiAgICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kcm9wZG93bi1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCA1cHggMjVweDsgfVxuICAgICAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuICAgICAgICAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLm5hdmJhci1uYXYgPiBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAgIC5uYXZiYXItbmF2ID4gbGkgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfSB9XG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSwgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm5hdmJhci1mb3JtIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAge1xuICAgICAgZGlzcGxheTogaW5saW5lLXRhYmxlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idG4sXG4gICAgICAubmF2YmFyLWZvcm0gLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm5hdmJhci1mb3JtIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm5hdmJhci1mb3JtIC5yYWRpbyxcbiAgICAubmF2YmFyLWZvcm0gLmNoZWNrYm94IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLm5hdmJhci1mb3JtIC5yYWRpbyBsYWJlbCxcbiAgICAgIC5uYXZiYXItZm9ybSAuY2hlY2tib3ggbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAubmF2YmFyLWZvcm0gLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAubmF2YmFyLWZvcm0gLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgIC5uYXZiYXItZm9ybSAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgICAgdG9wOiAwOyB9IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAgICAgLm5hdmJhci1mb3JtIC5mb3JtLWdyb3VwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm5hdmJhci1mb3JtIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfSB9XG5cbi5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwOyB9XG5cbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7IH1cblxuLm5hdmJhci1idG4ge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1ib3R0b206IDhweDsgfVxuICAubmF2YmFyLWJ0bi5idG4tc20sIC5idG4tZ3JvdXAtc20gPiAubmF2YmFyLWJ0bi5idG4ge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAubmF2YmFyLWJ0bi5idG4teHMsIC5idG4tZ3JvdXAteHMgPiAubmF2YmFyLWJ0bi5idG4ge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuXG4ubmF2YmFyLXRleHQge1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5uYXZiYXItdGV4dCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXZiYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4OyB9XG4gICAgLm5hdmJhci1yaWdodCB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgYm9yZGVyLWNvbG9yOiAjZTdlN2U3OyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kIHtcbiAgICBjb2xvcjogIzc3NzsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWJyYW5kOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cyB7XG4gICAgICBjb2xvcjogIzVlNWU1ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAjNzc3OyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICM3Nzc7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGE6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzMzMztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYSwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGU6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4OyB9XG4gIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlLFxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICNlN2U3ZTc7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiA+IC5vcGVuID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNztcbiAgICBjb2xvcjogIzU1NTsgfVxuICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBjb2xvcjogIzU1NTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuZGlzYWJsZWQgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogIzc3NzsgfVxuICAgIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWxpbms6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzM7IH1cbiAgLm5hdmJhci1kZWZhdWx0IC5idG4tbGluayB7XG4gICAgY29sb3I6ICM3Nzc7IH1cbiAgICAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVyLCAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgLm5hdmJhci1kZWZhdWx0IC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsIC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmhvdmVyLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjY2NjOyB9XG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gIGJvcmRlci1jb2xvcjogIzA5MDkwOTsgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICM5ZDlkOWQ7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZDpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmQ6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogIzlkOWQ5ZDsgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjOWQ5ZDlkOyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gbGkgPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAuYWN0aXZlID4gYSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwOTA5OyB9XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGEsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNDQ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzMzOyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTAxMDEwOyB9XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiA+IC5vcGVuID4gYSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2ID4gLm9wZW4gPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgPiAub3BlbiA+IGE6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwOTA5MDk7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICMwOTA5MDk7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgLmRpdmlkZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA5MDkwOTsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogIzlkOWQ5ZDsgfVxuICAgICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyLCAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYSwgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzA5MDkwOTsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGEsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICM0NDQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfSB9XG4gIC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiAjOWQ5ZDlkOyB9XG4gICAgLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbGluazpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogIzlkOWQ5ZDsgfVxuICAgIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6aG92ZXIsIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlciwgLm5hdmJhci1pbnZlcnNlIC5idG4tbGlua1tkaXNhYmxlZF06Zm9jdXMsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6aG92ZXIsXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdIC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMge1xuICAgICAgY29sb3I6ICM0NDQ7IH1cblxuLmJyZWFkY3J1bWIge1xuICBwYWRkaW5nOiA4cHggMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5icmVhZGNydW1iID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5icmVhZGNydW1iID4gbGkgKyBsaTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIvwqBcIjtcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgY29sb3I6ICNjY2M7IH1cbiAgLmJyZWFkY3J1bWIgPiAuYWN0aXZlIHtcbiAgICBjb2xvcjogIzc3Nzc3NzsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IDIwcHggMDtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5wYWdpbmF0aW9uID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5wYWdpbmF0aW9uID4gbGkgPiBhLFxuICAgIC5wYWdpbmF0aW9uID4gbGkgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjMzM3YWI3O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDsgfVxuICAgIC5wYWdpbmF0aW9uID4gbGk6Zmlyc3QtY2hpbGQgPiBhLFxuICAgIC5wYWdpbmF0aW9uID4gbGk6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyB9XG4gICAgLnBhZ2luYXRpb24gPiBsaTpsYXN0LWNoaWxkID4gYSxcbiAgICAucGFnaW5hdGlvbiA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4OyB9XG4gIC5wYWdpbmF0aW9uID4gbGkgPiBhOmhvdmVyLCAucGFnaW5hdGlvbiA+IGxpID4gYTpmb2N1cyxcbiAgLnBhZ2luYXRpb24gPiBsaSA+IHNwYW46aG92ZXIsXG4gIC5wYWdpbmF0aW9uID4gbGkgPiBzcGFuOmZvY3VzIHtcbiAgICB6LWluZGV4OiAyO1xuICAgIGNvbG9yOiAjMjM1MjdjO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkOyB9XG4gIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGEsIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6aG92ZXIsIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGE6Zm9jdXMsXG4gIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW4sXG4gIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46aG92ZXIsXG4gIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW46Zm9jdXMge1xuICAgIHotaW5kZXg6IDM7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNztcbiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uID4gLmRpc2FibGVkID4gc3BhbixcbiAgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuOmhvdmVyLFxuICAucGFnaW5hdGlvbiA+IC5kaXNhYmxlZCA+IHNwYW46Zm9jdXMsXG4gIC5wYWdpbmF0aW9uID4gLmRpc2FibGVkID4gYSxcbiAgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuICAucGFnaW5hdGlvbiA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnBhZ2luYXRpb24tbGcgPiBsaSA+IGEsXG4ucGFnaW5hdGlvbi1sZyA+IGxpID4gc3BhbiB7XG4gIHBhZGRpbmc6IDEwcHggMTZweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMS4zMzMzMzsgfVxuXG4ucGFnaW5hdGlvbi1sZyA+IGxpOmZpcnN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uLWxnID4gbGk6Zmlyc3QtY2hpbGQgPiBzcGFuIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA2cHg7IH1cblxuLnBhZ2luYXRpb24tbGcgPiBsaTpsYXN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uLWxnID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4ge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNnB4OyB9XG5cbi5wYWdpbmF0aW9uLXNtID4gbGkgPiBhLFxuLnBhZ2luYXRpb24tc20gPiBsaSA+IHNwYW4ge1xuICBwYWRkaW5nOiA1cHggMTBweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5wYWdpbmF0aW9uLXNtID4gbGk6Zmlyc3QtY2hpbGQgPiBhLFxuLnBhZ2luYXRpb24tc20gPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4ge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfVxuXG4ucGFnaW5hdGlvbi1zbSA+IGxpOmxhc3QtY2hpbGQgPiBhLFxuLnBhZ2luYXRpb24tc20gPiBsaTpsYXN0LWNoaWxkID4gc3BhbiB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7IH1cblxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46IDIwcHggMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlcjpiZWZvcmUsIC5wYWdlcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBhZ2VyOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnZXIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAgIC5wYWdlciBsaSA+IGEsXG4gICAgLnBhZ2VyIGxpID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTVweDsgfVxuICAgIC5wYWdlciBsaSA+IGE6aG92ZXIsXG4gICAgLnBhZ2VyIGxpID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5wYWdlciAubmV4dCA+IGEsXG4gIC5wYWdlciAubmV4dCA+IHNwYW4ge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAucGFnZXIgLnByZXZpb3VzID4gYSxcbiAgLnBhZ2VyIC5wcmV2aW91cyA+IHNwYW4ge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wYWdlciAuZGlzYWJsZWQgPiBhLFxuICAucGFnZXIgLmRpc2FibGVkID4gYTpob3ZlcixcbiAgLnBhZ2VyIC5kaXNhYmxlZCA+IGE6Zm9jdXMsXG4gIC5wYWdlciAuZGlzYWJsZWQgPiBzcGFuIHtcbiAgICBjb2xvcjogIzc3Nzc3NztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICBib3JkZXItcmFkaXVzOiAuMjVlbTsgfVxuICAubGFiZWw6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ0biAubGFiZWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7IH1cblxuYS5sYWJlbDpob3ZlciwgYS5sYWJlbDpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ubGFiZWwtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7IH1cbiAgLmxhYmVsLWRlZmF1bHRbaHJlZl06aG92ZXIsIC5sYWJlbC1kZWZhdWx0W2hyZWZdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlOyB9XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNzsgfVxuICAubGFiZWwtcHJpbWFyeVtocmVmXTpob3ZlciwgLmxhYmVsLXByaW1hcnlbaHJlZl06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyODYwOTA7IH1cblxuLmxhYmVsLXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNiODVjOyB9XG4gIC5sYWJlbC1zdWNjZXNzW2hyZWZdOmhvdmVyLCAubGFiZWwtc3VjY2Vzc1tocmVmXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0OWQ0NDsgfVxuXG4ubGFiZWwtaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YmMwZGU7IH1cbiAgLmxhYmVsLWluZm9baHJlZl06aG92ZXIsIC5sYWJlbC1pbmZvW2hyZWZdOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzFiMGQ1OyB9XG5cbi5sYWJlbC13YXJuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwYWQ0ZTsgfVxuICAubGFiZWwtd2FybmluZ1tocmVmXTpob3ZlciwgLmxhYmVsLXdhcm5pbmdbaHJlZl06Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzk3MWY7IH1cblxuLmxhYmVsLWRhbmdlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkOTUzNGY7IH1cbiAgLmxhYmVsLWRhbmdlcltocmVmXTpob3ZlciwgLmxhYmVsLWRhbmdlcltocmVmXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M5MzAyYzsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMTBweDtcbiAgcGFkZGluZzogM3B4IDdweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHJnYigyNTUsMjU1LDI1NSk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLmJhZGdlOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5idG4gLmJhZGdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4OyB9XG4gIC5idG4teHMgLmJhZGdlLCAuYnRuLWdyb3VwLXhzID4gLmJ0biAuYmFkZ2UsXG4gIC5idG4tZ3JvdXAteHMgPiAuYnRuIC5iYWRnZSB7XG4gICAgdG9wOiAwO1xuICAgIHBhZGRpbmc6IDFweCA1cHg7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgPiAuYmFkZ2UsXG4gIC5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYSA+IC5iYWRnZSB7XG4gICAgY29sb3I6ICMzMzdhYjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAubGlzdC1ncm91cC1pdGVtID4gLmJhZGdlIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbSA+IC5iYWRnZSArIC5iYWRnZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7IH1cbiAgLm5hdi1waWxscyA+IGxpID4gYSA+IC5iYWRnZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDsgfVxuXG5hLmJhZGdlOmhvdmVyLCBhLmJhZGdlOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOyB9XG4gIC5qdW1ib3Ryb24gaDEsXG4gIC5qdW1ib3Ryb24gLmgxIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuanVtYm90cm9uIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiAyMDA7IH1cbiAgLmp1bWJvdHJvbiA+IGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZDVkNWQ1OyB9XG4gIC5jb250YWluZXIgLmp1bWJvdHJvbixcbiAgLmNvbnRhaW5lci1mbHVpZCAuanVtYm90cm9uIHtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7IH1cbiAgLmp1bWJvdHJvbiAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuanVtYm90cm9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0OHB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ4cHg7IH1cbiAgICAgIC5jb250YWluZXIgLmp1bWJvdHJvbixcbiAgICAgIC5jb250YWluZXItZmx1aWQgLmp1bWJvdHJvbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNjBweDsgfVxuICAgICAgLmp1bWJvdHJvbiBoMSxcbiAgICAgIC5qdW1ib3Ryb24gLmgxIHtcbiAgICAgICAgZm9udC1zaXplOiA2M3B4OyB9IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYm9yZGVyIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIC1vLXRyYW5zaXRpb246IGJvcmRlciAwLjJzIGVhc2UtaW4tb3V0O1xuICB0cmFuc2l0aW9uOiBib3JkZXIgMC4ycyBlYXNlLWluLW91dDsgfVxuICAudGh1bWJuYWlsID4gaW1nLFxuICAudGh1bWJuYWlsIGEgPiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC50aHVtYm5haWwgLmNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDlweDtcbiAgICBjb2xvcjogIzMzMzMzMzsgfVxuXG5hLnRodW1ibmFpbDpob3ZlcixcbmEudGh1bWJuYWlsOmZvY3VzLFxuYS50aHVtYm5haWwuYWN0aXZlIHtcbiAgYm9yZGVyLWNvbG9yOiAjMzM3YWI3OyB9XG5cbi5hbGVydCB7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgLmFsZXJ0IGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5hbGVydCAuYWxlcnQtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmFsZXJ0ID4gcCxcbiAgLmFsZXJ0ID4gdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmFsZXJ0ID4gcCArIHAge1xuICAgIG1hcmdpbi10b3A6IDVweDsgfVxuXG4uYWxlcnQtZGlzbWlzc2FibGUsXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAzNXB4OyB9XG4gIC5hbGVydC1kaXNtaXNzYWJsZSAuY2xvc2UsXG4gIC5hbGVydC1kaXNtaXNzaWJsZSAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IC0yMXB4O1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RmZjBkODtcbiAgYm9yZGVyLWNvbG9yOiAjZDZlOWM2O1xuICBjb2xvcjogIzNjNzYzZDsgfVxuICAuYWxlcnQtc3VjY2VzcyBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2M5ZTJiMzsgfVxuICAuYWxlcnQtc3VjY2VzcyAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6ICMyYjU0MmM7IH1cblxuLmFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllZGY3O1xuICBib3JkZXItY29sb3I6ICNiY2U4ZjE7XG4gIGNvbG9yOiAjMzE3MDhmOyB9XG4gIC5hbGVydC1pbmZvIGhyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjYTZlMWVjOyB9XG4gIC5hbGVydC1pbmZvIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogIzI0NTI2OTsgfVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmY2Y4ZTM7XG4gIGJvcmRlci1jb2xvcjogI2ZhZWJjYztcbiAgY29sb3I6ICM4YTZkM2I7IH1cbiAgLmFsZXJ0LXdhcm5pbmcgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmN2UxYjU7IH1cbiAgLmFsZXJ0LXdhcm5pbmcgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiAjNjY1MTJjOyB9XG5cbi5hbGVydC1kYW5nZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJkZWRlO1xuICBib3JkZXItY29sb3I6ICNlYmNjZDE7XG4gIGNvbG9yOiAjYTk0NDQyOyB9XG4gIC5hbGVydC1kYW5nZXIgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNlNGI5YzA7IH1cbiAgLmFsZXJ0LWRhbmdlciAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6ICM4NDM1MzQ7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH0gfVxuXG4ucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5wcm9ncmVzcy1iYXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAtMXB4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAwLjZzIGVhc2U7XG4gIC1vLXRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC42cyBlYXNlOyB9XG5cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDQ1ZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIGJhY2tncm91bmQtc2l6ZTogNDBweCA0MHB4OyB9XG5cbi5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXIuYWN0aXZlIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgLW8tYW5pbWF0aW9uOiBwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogcHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlOyB9XG5cbi5wcm9ncmVzcy1iYXItc3VjY2VzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1Y2I4NWM7IH1cbiAgLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOyB9XG5cbi5wcm9ncmVzcy1iYXItaW5mbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YmMwZGU7IH1cbiAgLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOyB9XG5cbi5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGFkNGU7IH1cbiAgLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCg0NWRlZywgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpOyB9XG5cbi5wcm9ncmVzcy1iYXItZGFuZ2VyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5NTM0ZjsgfVxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoNDVkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTsgfVxuXG4ubWVkaWEge1xuICBtYXJnaW4tdG9wOiAxNXB4OyB9XG4gIC5tZWRpYTpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4ubWVkaWEsXG4ubWVkaWEtYm9keSB7XG4gIHpvb206IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm1lZGlhLWJvZHkge1xuICB3aWR0aDogMTAwMDBweDsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhLW9iamVjdC5pbWctdGh1bWJuYWlsIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLm1lZGlhLXJpZ2h0LFxuLm1lZGlhID4gLnB1bGwtcmlnaHQge1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cblxuLm1lZGlhLWxlZnQsXG4ubWVkaWEgPiAucHVsbC1sZWZ0IHtcbiAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYS1yaWdodCxcbi5tZWRpYS1ib2R5IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4ubWVkaWEtbWlkZGxlIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ubWVkaWEtYm90dG9tIHtcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG4ubWVkaWEtaGVhZGluZyB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDVweDsgfVxuXG4ubWVkaWEtbGlzdCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ubGlzdC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9XG4gIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA0cHg7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4OyB9XG4gIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDsgfVxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogIzU1NTsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogIzMzMzsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbTpob3ZlciwgYS5saXN0LWdyb3VwLWl0ZW06Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogIzU1NTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkLCAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTtcbiAgY29sb3I6ICM3Nzc3Nzc7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLCAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCAubGlzdC1ncm91cC1pdGVtLXRleHQsIC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LCAubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgY29sb3I6ICM3Nzc3Nzc7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUsIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyLCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyB7XG4gIHotaW5kZXg6IDI7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3O1xuICBib3JkZXItY29sb3I6ICMzMzdhYjc7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiBzbWFsbCxcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsLCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcgPiAuc21hbGwsIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0LCAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLXRleHQsIC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCB7XG4gICAgY29sb3I6ICNjN2RkZWY7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcbiAgY29sb3I6ICMzYzc2M2Q7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZmYwZDg7IH1cblxuYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyB7XG4gIGNvbG9yOiAjM2M3NjNkOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmhvdmVyLCBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpmb2N1cyB7XG4gICAgY29sb3I6ICMzYzc2M2Q7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QwZTljNjsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZSwgYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmU6aG92ZXIsIGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M3NjNkO1xuICAgIGJvcmRlci1jb2xvcjogIzNjNzYzZDsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLWluZm8ge1xuICBjb2xvcjogIzMxNzA4ZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWRmNzsgfVxuXG5hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLFxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvIHtcbiAgY29sb3I6ICMzMTcwOGY7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0taW5mbyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLWluZm86aG92ZXIsIGEubGlzdC1ncm91cC1pdGVtLWluZm86Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmZvY3VzIHtcbiAgICBjb2xvcjogIzMxNzA4ZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRlM2YzOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlLCBhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpob3ZlciwgYS5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmUsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6aG92ZXIsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6Zm9jdXMge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTcwOGY7XG4gICAgYm9yZGVyLWNvbG9yOiAjMzE3MDhmOyB9XG5cbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZyB7XG4gIGNvbG9yOiAjOGE2ZDNiO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmOGUzOyB9XG5cbmEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcge1xuICBjb2xvcjogIzhhNmQzYjsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpob3ZlciwgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVyLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6Zm9jdXMge1xuICAgIGNvbG9yOiAjOGE2ZDNiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWYyY2M7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmUsIGEubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmhvdmVyLCBhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cyxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZSxcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZTpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhhNmQzYjtcbiAgICBib3JkZXItY29sb3I6ICM4YTZkM2I7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIge1xuICBjb2xvcjogI2E5NDQ0MjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTsgfVxuXG5hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIsXG5idXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlciB7XG4gIGNvbG9yOiAjYTk0NDQyOyB9XG4gIGEubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLCBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlcjpmb2N1cyB7XG4gICAgY29sb3I6ICNhOTQ0NDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViY2NjYzsgfVxuICBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlLCBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVyLCBhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmZvY3VzLFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsXG4gIGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpob3ZlcixcbiAgYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmZvY3VzIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTk0NDQyO1xuICAgIGJvcmRlci1jb2xvcjogI2E5NDQ0MjsgfVxuXG4ubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cblxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4ucGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6IDE1cHg7IH1cbiAgLnBhbmVsLWJvZHk6YmVmb3JlLCAucGFuZWwtYm9keTphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnBhbmVsLWJvZHk6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5wYW5lbC1oZWFkaW5nIHtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfVxuICAucGFuZWwtaGVhZGluZyA+IC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ucGFuZWwtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5wYW5lbC10aXRsZSA+IGEsXG4gIC5wYW5lbC10aXRsZSA+IHNtYWxsLFxuICAucGFuZWwtdGl0bGUgPiAuc21hbGwsXG4gIC5wYW5lbC10aXRsZSA+IHNtYWxsID4gYSxcbiAgLnBhbmVsLXRpdGxlID4gLnNtYWxsID4gYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLnBhbmVsLWZvb3RlciB7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsgfVxuXG4ucGFuZWwgPiAubGlzdC1ncm91cCxcbi5wYW5lbCA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFuZWwgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtLFxuICAucGFuZWwgPiAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtIHtcbiAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLnBhbmVsID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCxcbiAgLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfVxuICAucGFuZWwgPiAubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCxcbiAgLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7IH1cblxuLnBhbmVsID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7IH1cblxuLnBhbmVsLWhlYWRpbmcgKyAubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxuXG4ubGlzdC1ncm91cCArIC5wYW5lbC1mb290ZXIge1xuICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG5cbi5wYW5lbCA+IC50YWJsZSxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLFxuLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFuZWwgPiAudGFibGUgY2FwdGlvbixcbiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUgY2FwdGlvbixcbiAgLnBhbmVsID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIGNhcHRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG5cbi5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4OyB9XG4gIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCxcbiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDsgfVxuICAgIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0Ym9keTpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDsgfVxuICAgIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGU6Zmlyc3QtY2hpbGQgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4gICAgLnBhbmVsID4gLnRhYmxlOmZpcnN0LWNoaWxkID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogM3B4OyB9XG5cbi5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkLFxuLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDNweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4OyB9XG4gIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkLFxuICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogM3B4O1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7IH1cbiAgICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4gICAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRmb290Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDsgfVxuICAgIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGJvZHk6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4gICAgLnBhbmVsID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Ym9keTpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLFxuICAgIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCA+IHRib2R5Omxhc3QtY2hpbGQgPiB0cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsXG4gICAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkID4gdGZvb3Q6bGFzdC1jaGlsZCA+IHRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCxcbiAgICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkID4gLnRhYmxlOmxhc3QtY2hpbGQgPiB0Zm9vdDpsYXN0LWNoaWxkID4gdHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7IH1cblxuLnBhbmVsID4gLnBhbmVsLWJvZHkgKyAudGFibGUsXG4ucGFuZWwgPiAucGFuZWwtYm9keSArIC50YWJsZS1yZXNwb25zaXZlLFxuLnBhbmVsID4gLnRhYmxlICsgLnBhbmVsLWJvZHksXG4ucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSArIC5wYW5lbC1ib2R5IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7IH1cblxuLnBhbmVsID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0aCxcbi5wYW5lbCA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGQge1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCxcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAwOyB9XG4gIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmZpcnN0LWNoaWxkLFxuICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGg6Zmlyc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmZpcnN0LWNoaWxkLFxuICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0aDpmaXJzdC1jaGlsZCxcbiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aDpsYXN0LWNoaWxkLFxuICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQ6bGFzdC1jaGlsZCxcbiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0ZDpsYXN0LWNoaWxkLFxuICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGg6bGFzdC1jaGlsZCxcbiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkOmxhc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoOmxhc3QtY2hpbGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRkOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4gIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGgsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLFxuICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCxcbiAgLnBhbmVsID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsXG4gIC5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlID4gLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0cjpmaXJzdC1jaGlsZCA+IHRoIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuICAucGFuZWwgPiAudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmxhc3QtY2hpbGQgPiB0aCxcbiAgLnBhbmVsID4gLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0cjpsYXN0LWNoaWxkID4gdGQsXG4gIC5wYW5lbCA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoLFxuICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHI6bGFzdC1jaGlsZCA+IHRoLFxuICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRkLFxuICAucGFuZWwgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHI6bGFzdC1jaGlsZCA+IHRoIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlIHtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wYW5lbC1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnBhbmVsLWdyb3VwIC5wYW5lbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7IH1cbiAgICAucGFuZWwtZ3JvdXAgLnBhbmVsICsgLnBhbmVsIHtcbiAgICAgIG1hcmdpbi10b3A6IDVweDsgfVxuICAucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcge1xuICAgIGJvcmRlci1ib3R0b206IDA7IH1cbiAgICAucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSxcbiAgICAucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAubGlzdC1ncm91cCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsgfVxuICAucGFuZWwtZ3JvdXAgLnBhbmVsLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICAgIC5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVyICsgLnBhbmVsLWNvbGxhcHNlIC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOyB9XG5cbi5wYW5lbC1kZWZhdWx0IHtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkOyB9XG4gIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gICAgYm9yZGVyLWNvbG9yOiAjZGRkOyB9XG4gICAgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNkZGQ7IH1cbiAgICAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7XG4gICAgICBjb2xvcjogI2Y1ZjVmNTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7IH1cbiAgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtZm9vdGVyICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNkZGQ7IH1cblxuLnBhbmVsLXByaW1hcnkge1xuICBib3JkZXItY29sb3I6ICMzMzdhYjc7IH1cbiAgLnBhbmVsLXByaW1hcnkgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzN2FiNztcbiAgICBib3JkZXItY29sb3I6ICMzMzdhYjc7IH1cbiAgICAucGFuZWwtcHJpbWFyeSA+IC5wYW5lbC1oZWFkaW5nICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogIzMzN2FiNzsgfVxuICAgIC5wYW5lbC1wcmltYXJ5ID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiAjMzM3YWI3O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAucGFuZWwtcHJpbWFyeSA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzMzN2FiNzsgfVxuXG4ucGFuZWwtc3VjY2VzcyB7XG4gIGJvcmRlci1jb2xvcjogI2Q2ZTljNjsgfVxuICAucGFuZWwtc3VjY2VzcyA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogIzNjNzYzZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZmMGQ4O1xuICAgIGJvcmRlci1jb2xvcjogI2Q2ZTljNjsgfVxuICAgIC5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZDZlOWM2OyB9XG4gICAgLnBhbmVsLXN1Y2Nlc3MgPiAucGFuZWwtaGVhZGluZyAuYmFkZ2Uge1xuICAgICAgY29sb3I6ICNkZmYwZDg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2M3NjNkOyB9XG4gIC5wYW5lbC1zdWNjZXNzID4gLnBhbmVsLWZvb3RlciArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDZlOWM2OyB9XG5cbi5wYW5lbC1pbmZvIHtcbiAgYm9yZGVyLWNvbG9yOiAjYmNlOGYxOyB9XG4gIC5wYW5lbC1pbmZvID4gLnBhbmVsLWhlYWRpbmcge1xuICAgIGNvbG9yOiAjMzE3MDhmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7XG4gICAgYm9yZGVyLWNvbG9yOiAjYmNlOGYxOyB9XG4gICAgLnBhbmVsLWluZm8gPiAucGFuZWwtaGVhZGluZyArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6ICNiY2U4ZjE7IH1cbiAgICAucGFuZWwtaW5mbyA+IC5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7XG4gICAgICBjb2xvcjogI2Q5ZWRmNztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMTcwOGY7IH1cbiAgLnBhbmVsLWluZm8gPiAucGFuZWwtZm9vdGVyICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNiY2U4ZjE7IH1cblxuLnBhbmVsLXdhcm5pbmcge1xuICBib3JkZXItY29sb3I6ICNmYWViY2M7IH1cbiAgLnBhbmVsLXdhcm5pbmcgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICM4YTZkM2I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZjhlMztcbiAgICBib3JkZXItY29sb3I6ICNmYWViY2M7IH1cbiAgICAucGFuZWwtd2FybmluZyA+IC5wYW5lbC1oZWFkaW5nICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZhZWJjYzsgfVxuICAgIC5wYW5lbC13YXJuaW5nID4gLnBhbmVsLWhlYWRpbmcgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiAjZmNmOGUzO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhNmQzYjsgfVxuICAucGFuZWwtd2FybmluZyA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZhZWJjYzsgfVxuXG4ucGFuZWwtZGFuZ2VyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZWJjY2QxOyB9XG4gIC5wYW5lbC1kYW5nZXIgPiAucGFuZWwtaGVhZGluZyB7XG4gICAgY29sb3I6ICNhOTQ0NDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZGVkZTtcbiAgICBib3JkZXItY29sb3I6ICNlYmNjZDE7IH1cbiAgICAucGFuZWwtZGFuZ2VyID4gLnBhbmVsLWhlYWRpbmcgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAjZWJjY2QxOyB9XG4gICAgLnBhbmVsLWRhbmdlciA+IC5wYW5lbC1oZWFkaW5nIC5iYWRnZSB7XG4gICAgICBjb2xvcjogI2YyZGVkZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhOTQ0NDI7IH1cbiAgLnBhbmVsLWRhbmdlciA+IC5wYW5lbC1mb290ZXIgKyAucGFuZWwtY29sbGFwc2UgPiAucGFuZWwtYm9keSB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ViY2NkMTsgfVxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZW1iZWQtcmVzcG9uc2l2ZSAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBpZnJhbWUsXG4gIC5lbWJlZC1yZXNwb25zaXZlIGVtYmVkLFxuICAuZW1iZWQtcmVzcG9uc2l2ZSBvYmplY3QsXG4gIC5lbWJlZC1yZXNwb25zaXZlIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7IH1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMTZieTkge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi5lbWJlZC1yZXNwb25zaXZlLTRieTMge1xuICBwYWRkaW5nLWJvdHRvbTogNzUlOyB9XG5cbi53ZWxsIHtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UzZTNlMztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuICAud2VsbCBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG5cbi53ZWxsLWxnIHtcbiAgcGFkZGluZzogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG5cbi53ZWxsLXNtIHtcbiAgcGFkZGluZzogOXB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDIxcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICMwMDA7XG4gIHRleHQtc2hhZG93OiAwIDFweCAwICNmZmY7XG4gIG9wYWNpdHk6IDAuMjtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTIwKTsgfVxuICAuY2xvc2U6aG92ZXIsIC5jbG9zZTpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTsgfVxuXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm1vZGFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNTA7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgb3V0bGluZTogMDsgfVxuICAubW9kYWwuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2Utb3V0OyB9XG4gIC5tb2RhbC5pbiAubW9kYWwtZGlhbG9nIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ubW9kYWwtb3BlbiAubW9kYWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMTBweDsgfVxuXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXItcmFkaXVzOiA2cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYm94LXNoYWRvdzogMCAzcHggOXB4IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgb3V0bGluZTogMDsgfVxuXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA0MDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDsgfVxuICAubW9kYWwtYmFja2Ryb3AuZmFkZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7IH1cbiAgLm1vZGFsLWJhY2tkcm9wLmluIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTUwKTsgfVxuXG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7IH1cbiAgLm1vZGFsLWhlYWRlcjpiZWZvcmUsIC5tb2RhbC1oZWFkZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5tb2RhbC1oZWFkZXI6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5tb2RhbC1oZWFkZXIgLmNsb3NlIHtcbiAgbWFyZ2luLXRvcDogLTJweDsgfVxuXG4ubW9kYWwtdGl0bGUge1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3OyB9XG5cbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAxNXB4OyB9XG5cbi5tb2RhbC1mb290ZXIge1xuICBwYWRkaW5nOiAxNXB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cbiAgLm1vZGFsLWZvb3RlcjpiZWZvcmUsIC5tb2RhbC1mb290ZXI6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5tb2RhbC1mb290ZXI6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tb2RhbC1mb290ZXIgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubW9kYWwtZm9vdGVyIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4OyB9XG4gIC5tb2RhbC1mb290ZXIgLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubW9kYWwtZGlhbG9nIHtcbiAgICB3aWR0aDogNjAwcHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87IH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTVweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgLm1vZGFsLXNtIHtcbiAgICB3aWR0aDogMzAwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1vZGFsLWxnIHtcbiAgICB3aWR0aDogOTAwcHg7IH0gfVxuXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA3MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgbGluZS1icmVhazogYXV0bztcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTc7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtYWxpZ246IHN0YXJ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgd29yZC1icmVhazogbm9ybWFsO1xuICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgb3BhY2l0eTogMDtcbiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOyB9XG4gIC50b29sdGlwLmluIHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gICAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTsgfVxuICAudG9vbHRpcC50b3Age1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgLnRvb2x0aXAucmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnRvb2x0aXAuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgcGFkZGluZzogNXB4IDA7IH1cbiAgLnRvb2x0aXAubGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cblxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAzcHggOHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLnRvb2x0aXAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7IH1cblxuLnRvb2x0aXAudG9wIC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDVweCA1cHggMDtcbiAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuXG4udG9vbHRpcC50b3AtbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiA1cHggNXB4IDA7XG4gIGJvcmRlci10b3AtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAudG9wLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjMDAwOyB9XG5cbi50b29sdGlwLnJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDVweCA1cHggMDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjMDAwOyB9XG5cbi50b29sdGlwLmxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIGJvcmRlci13aWR0aDogNXB4IDAgNXB4IDVweDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICBib3JkZXItd2lkdGg6IDAgNXB4IDVweDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogIzAwMDsgfVxuXG4udG9vbHRpcC5ib3R0b20tbGVmdCAudG9vbHRpcC1hcnJvdyB7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgYm9yZGVyLXdpZHRoOiAwIDVweCA1cHg7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH1cblxuLnRvb2x0aXAuYm90dG9tLXJpZ2h0IC50b29sdGlwLWFycm93IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiA1cHg7XG4gIG1hcmdpbi10b3A6IC01cHg7XG4gIGJvcmRlci13aWR0aDogMCA1cHggNXB4O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjMDAwOyB9XG5cbi5wb3BvdmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwNjA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogMjc2cHg7XG4gIHBhZGRpbmc6IDFweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgLnBvcG92ZXIudG9wIHtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDsgfVxuICAucG9wb3Zlci5yaWdodCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7IH1cbiAgLnBvcG92ZXIuYm90dG9tIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIC5wb3BvdmVyLmxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuXG4ucG9wb3Zlci10aXRsZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogOHB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlYmViZWI7XG4gIGJvcmRlci1yYWRpdXM6IDVweCA1cHggMCAwOyB9XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiA5cHggMTRweDsgfVxuXG4ucG9wb3ZlciA+IC5hcnJvdywgLnBvcG92ZXIgPiAuYXJyb3c6YWZ0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkOyB9XG5cbi5wb3BvdmVyID4gLmFycm93IHtcbiAgYm9yZGVyLXdpZHRoOiAxMXB4OyB9XG5cbi5wb3BvdmVyID4gLmFycm93OmFmdGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICBjb250ZW50OiBcIlwiOyB9XG5cbi5wb3BvdmVyLnRvcCA+IC5hcnJvdyB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLWNvbG9yOiAjOTk5OTk5O1xuICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3R0b206IC0xMXB4OyB9XG4gIC5wb3BvdmVyLnRvcCA+IC5hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgYm90dG9tOiAxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjsgfVxuXG4ucG9wb3Zlci5yaWdodCA+IC5hcnJvdyB7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiAtMTFweDtcbiAgbWFyZ2luLXRvcDogLTExcHg7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtY29sb3I6ICM5OTk5OTk7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjI1KTsgfVxuICAucG9wb3Zlci5yaWdodCA+IC5hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgbGVmdDogMXB4O1xuICAgIGJvdHRvbTogLTEwcHg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjZmZmOyB9XG5cbi5wb3BvdmVyLmJvdHRvbSA+IC5hcnJvdyB7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLWxlZnQ6IC0xMXB4O1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiAjOTk5OTk5O1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICB0b3A6IC0xMXB4OyB9XG4gIC5wb3BvdmVyLmJvdHRvbSA+IC5hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgdG9wOiAxcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsgfVxuXG4ucG9wb3Zlci5sZWZ0ID4gLmFycm93IHtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiAtMTFweDtcbiAgbWFyZ2luLXRvcDogLTExcHg7XG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6ICM5OTk5OTk7XG4gIGJvcmRlci1sZWZ0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOyB9XG4gIC5wb3BvdmVyLmxlZnQgPiAuYXJyb3c6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHJpZ2h0OiAxcHg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjZmZmO1xuICAgIGJvdHRvbTogLTEwcHg7IH1cblxuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC42cyBlYXNlLWluLW91dCBsZWZ0O1xuICAgIC1vLXRyYW5zaXRpb246IDAuNnMgZWFzZS1pbi1vdXQgbGVmdDtcbiAgICB0cmFuc2l0aW9uOiAwLjZzIGVhc2UtaW4tb3V0IGxlZnQ7IH1cbiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGltZyxcbiAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbSA+IGEgPiBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCAoLXdlYmtpdC10cmFuc2Zvcm0tM2QpIHtcbiAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IC1tb3otdHJhbnNmb3JtIDAuNnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IC1vLXRyYW5zZm9ybSAwLjZzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC42cyBlYXNlLWluLW91dDtcbiAgICAgICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgICAgICAgLW1vei1wZXJzcGVjdGl2ZTogMTAwMHB4O1xuICAgICAgICBwZXJzcGVjdGl2ZTogMTAwMHB4OyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLm5leHQsIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLmFjdGl2ZS5yaWdodCB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgICAgICAgbGVmdDogMDsgfVxuICAgICAgICAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5wcmV2LCAuY2Fyb3VzZWwtaW5uZXIgPiAuaXRlbS5hY3RpdmUubGVmdCB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAgIC5jYXJvdXNlbC1pbm5lciA+IC5pdGVtLm5leHQubGVmdCwgLmNhcm91c2VsLWlubmVyID4gLml0ZW0ucHJldi5yaWdodCwgLmNhcm91c2VsLWlubmVyID4gLml0ZW0uYWN0aXZlIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgICBsZWZ0OiAwOyB9IH1cbiAgLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZSxcbiAgLmNhcm91c2VsLWlubmVyID4gLm5leHQsXG4gIC5jYXJvdXNlbC1pbm5lciA+IC5wcmV2IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlIHtcbiAgICBsZWZ0OiAwOyB9XG4gIC5jYXJvdXNlbC1pbm5lciA+IC5uZXh0LFxuICAuY2Fyb3VzZWwtaW5uZXIgPiAucHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAucHJldiB7XG4gICAgbGVmdDogLTEwMCU7IH1cbiAgLmNhcm91c2VsLWlubmVyID4gLm5leHQubGVmdCxcbiAgLmNhcm91c2VsLWlubmVyID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7IH1cbiAgLmNhcm91c2VsLWlubmVyID4gLmFjdGl2ZS5sZWZ0IHtcbiAgICBsZWZ0OiAtMTAwJTsgfVxuICAuY2Fyb3VzZWwtaW5uZXIgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5jYXJvdXNlbC1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDE1JTtcbiAgb3BhY2l0eTogMC41O1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NTApO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY2Fyb3VzZWwtY29udHJvbC5sZWZ0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjUpIDAlLCByZ2JhKDAsIDAsIDAsIDAuMDAwMSkgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSkgMCUsIHJnYmEoMCwgMCwgMCwgMC4wMDAxKSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzgwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTsgfVxuICAuY2Fyb3VzZWwtY29udHJvbC5yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuMDAwMSkgMCUsIHJnYmEoMCwgMCwgMCwgMC41KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgwLCAwLCAwLCAwLjAwMDEpIDAlLCByZ2JhKDAsIDAsIDAsIDAuNSkgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuMDAwMSkgMCUsIHJnYmEoMCwgMCwgMCwgMC41KSAxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyM4MDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTsgfVxuICAuY2Fyb3VzZWwtY29udHJvbDpob3ZlciwgLmNhcm91c2VsLWNvbnRyb2w6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IDAuOTtcbiAgICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9OTApOyB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXYsXG4gIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQsXG4gIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmOyB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5pY29uLXByZXY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDM5JzsgfVxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAzYSc7IH1cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogNTAlO1xuICB6LWluZGV4OiAxNTtcbiAgd2lkdGg6IDYwJTtcbiAgbWFyZ2luLWxlZnQ6IC0zMCU7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMXB4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwIFxcOTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyAuYWN0aXZlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1JTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAuY2Fyb3VzZWwtY2FwdGlvbiAuYnRuIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICB3aWR0aDogMzBweDtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9XG4gIC5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2IHtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7IH1cbiAgLmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4OyB9XG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBsZWZ0OiAyMCU7XG4gICAgcmlnaHQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAuY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gICAgYm90dG9tOiAyMHB4OyB9IH1cblxuLmNsZWFyZml4OmJlZm9yZSwgLmNsZWFyZml4OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5jZW50ZXItYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi50ZXh0LWhpZGUge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDsgfVxuXG4uaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG5ALW1zLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG4udmlzaWJsZS14cyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1zbSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1tZCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS1sZyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ci52aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aC52aXNpYmxlLXhzLFxuICB0ZC52aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudmlzaWJsZS14cy1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ci52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aC52aXNpYmxlLXNtLFxuICB0ZC52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudmlzaWJsZS1zbS1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC52aXNpYmxlLXNtLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnZpc2libGUtbWQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1tZCxcbiAgdGQudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnZpc2libGUtbWQtaW5saW5lLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ci52aXNpYmxlLWxnIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0aC52aXNpYmxlLWxnLFxuICB0ZC52aXNpYmxlLWxnIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC52aXNpYmxlLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZy1pbmxpbmUge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4teHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5oaWRkZW4tc20ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuaGlkZGVuLW1kIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oaWRkZW4tbGcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi52aXNpYmxlLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnZpc2libGUtcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgudmlzaWJsZS1wcmludCxcbiAgdGQudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAudmlzaWJsZS1wcmludC1ibG9jayB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9IH1cblxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmhpZGRlbi1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQGtleWZyYW1lcyBwbHlyLXByb2dyZXNzIHtcbiAgdG8ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDI1cHggMDsgfSB9XG5cbi5wbHlyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGZvbnQtZmFtaWx5OiBBdmVuaXIsIFwiQXZlbmlyIE5leHRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGRpcmVjdGlvbjogbHRyOyB9XG4gIC5wbHlyLFxuICAucGx5ciAqLFxuICAucGx5ciAqOjphZnRlcixcbiAgLnBseXIgKjo6YmVmb3JlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIC5wbHlyIGEsXG4gIC5wbHlyIGJ1dHRvbixcbiAgLnBseXIgaW5wdXQsXG4gIC5wbHlyIGxhYmVsIHtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICAucGx5cjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAucGx5ciB2aWRlbyxcbiAgLnBseXIgYXVkaW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7IH1cbiAgLnBseXIgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAucGx5ciBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICAgIGhlaWdodDogOHB4O1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogMTZweDtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzIGVhc2UsIGJvcmRlciAuMnMgZWFzZSwgdHJhbnNmb3JtIC4ycyBlYXNlO1xuICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSksIDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAucGx5ciBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZSwgYm9yZGVyIC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtdHJhY2sge1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtZmlsbC1sb3dlciB7XG4gICAgICBoZWlnaHQ6IDhweDtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDc5OGUyOyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtdGh1bWIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnMgZWFzZSwgYm9yZGVyIC4ycyBlYXNlLCB0cmFuc2Zvcm0gLjJzIGVhc2U7XG4gICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjE1KSwgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9XCJyYW5nZVwiXTo6LW1zLXRvb2x0aXAge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9XCJyYW5nZVwiXTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9XCJyYW5nZVwiXS50YWItZm9jdXM6Zm9jdXMge1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDNweDsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9XCJyYW5nZVwiXTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwNzk4ZTI7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMjUpOyB9XG4gICAgLnBseXIgaW5wdXRbdHlwZT1cInJhbmdlXCJdOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDc5OGUyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTsgfVxuICAgIC5wbHlyIGlucHV0W3R5cGU9XCJyYW5nZVwiXTphY3RpdmU6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDc5OGUyO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjI1KTsgfVxuXG4ucGx5ci0tdmlkZW8gaW5wdXRbdHlwZT1cInJhbmdlXCJdLnRhYi1mb2N1czpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpOyB9XG5cbi5wbHlyLS1hdWRpbyBpbnB1dFt0eXBlPVwicmFuZ2VcIl0udGFiLWZvY3VzOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCByZ2JhKDg2LCA5MywgMTAwLCAwLjUpOyB9XG5cbi5wbHlyX19zci1vbmx5IHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweCAhaW1wb3J0YW50OyB9XG5cbi5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0OyB9XG5cbi5wbHlyX192aWRlby1lbWJlZCB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIC8qIDE2OjkgKi9cbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAwOyB9XG4gIC5wbHlyX192aWRlby1lbWJlZCBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5wbHlyX192aWRlby1lbWJlZCA+IGRpdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzUuOTUlKTsgfVxuXG4ucGx5ciAucGx5cl9fdmlkZW8tZW1iZWQgaWZyYW1lIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnBseXIgdmlkZW86Oi13ZWJraXQtbWVkaWEtdGV4dC10cmFjay1jb250YWluZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyX19jYXB0aW9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMjBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC02MHB4KTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5wbHlyX19jYXB0aW9ucyBzcGFuIHtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIGJveC1kZWNvcmF0aW9uLWJyZWFrOiBjbG9uZTtcbiAgICBsaW5lLWhlaWdodDogMTUwJTsgfVxuICAucGx5cl9fY2FwdGlvbnMgc3BhbjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGx5cl9fY2FwdGlvbnMge1xuICAgICAgZm9udC1zaXplOiAyNHB4OyB9IH1cblxuLnBseXItLWNhcHRpb25zLWFjdGl2ZSAucGx5cl9fY2FwdGlvbnMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY2FwdGlvbnMge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgZm9udC1zaXplOiAzMnB4OyB9IH1cblxuLnBseXIgOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGx5cl9fY29udHJvbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAucGx5cl9fY29udHJvbHMgPiAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gIC5wbHlyX19jb250cm9scyA+IGJ1dHRvbixcbiAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX19wcm9ncmVzcyxcbiAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX190aW1lIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgLnBseXJfX2NvbnRyb2xzID4gYnV0dG9uOmZpcnN0LWNoaWxkLFxuICAgIC5wbHlyX19jb250cm9scyAucGx5cl9fcHJvZ3Jlc3M6Zmlyc3QtY2hpbGQsXG4gICAgLnBseXJfX2NvbnRyb2xzIC5wbHlyX190aW1lOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5wbHlyX19jb250cm9scyAucGx5cl9fdm9sdW1lIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gIC5wbHlyX19jb250cm9scyBbZGF0YS1wbHlyPVwicGF1c2VcIl0ge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5wbHlyX19jb250cm9scyBidXR0b24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nOiA3cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UsIGNvbG9yIDAuM3MgZWFzZSwgb3BhY2l0eSAwLjNzIGVhc2U7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICAucGx5cl9fY29udHJvbHMgYnV0dG9uIHN2ZyB7XG4gICAgICB3aWR0aDogMThweDtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gICAgLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5wbHlyX19jb250cm9scyAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuLFxuICAucGx5cl9fY29udHJvbHMgLmljb24tLW11dGVkLFxuICAucGx5cl9fY29udHJvbHMgLmljb24tLWNhcHRpb25zLW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIC5wbHlyX19jb250cm9scyA+IGJ1dHRvbixcbiAgICAucGx5cl9fY29udHJvbHMgLnBseXJfX3Byb2dyZXNzLFxuICAgIC5wbHlyX19jb250cm9scyAucGx5cl9fdGltZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfSB9XG5cbi5wbHlyLS1oaWRlLWNvbnRyb2xzIC5wbHlyX19jb250cm9scyB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5wbHlyLS12aWRlbyAucGx5cl9fY29udHJvbHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHBhZGRpbmc6IDUwcHggMTBweCAxMHB4O1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodHJhbnNwYXJlbnQsIHJnYmEoMCwgMCwgMCwgMC41KSk7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7IH1cbiAgLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyBidXR0b24udGFiLWZvY3VzOmZvY3VzLCAucGx5ci0tdmlkZW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzA3OThlMjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xzIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RiZTNlODtcbiAgY29sb3I6ICM1NjVENjQ7IH1cbiAgLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9scyBidXR0b24udGFiLWZvY3VzOmZvY3VzLCAucGx5ci0tYXVkaW8gLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzA3OThlMjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ucGx5cl9fcGxheS1sYXJnZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJhY2tncm91bmQ6ICMwNzk4ZTI7XG4gIGJvcmRlcjogNHB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOyB9XG4gIC5wbHlyX19wbGF5LWxhcmdlIHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDJweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmlsbDogY3VycmVudENvbG9yOyB9XG4gIC5wbHlyX19wbGF5LWxhcmdlOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4ucGx5ciAucGx5cl9fcGxheS1sYXJnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGx5ci0tYXVkaW8gLnBseXJfX3BsYXktbGFyZ2Uge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19wbGF5LWxhcmdlIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5wbHlyX19jb250cm9scyBbZGF0YS1wbHlyPVwicGF1c2VcIl0sXG4ucGx5ci0tcGxheWluZyAucGx5cl9fY29udHJvbHMgW2RhdGEtcGx5cj1cInBsYXlcIl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19jb250cm9scyBbZGF0YS1wbHlyPVwicGF1c2VcIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4sXG4ucGx5ci0tbXV0ZWQgLnBseXJfX2NvbnRyb2xzIC5pY29uLS1tdXRlZCxcbi5wbHlyLS1jYXB0aW9ucy1hY3RpdmUgLnBseXJfX2NvbnRyb2xzIC5pY29uLS1jYXB0aW9ucy1vbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wbHlyLS1mdWxsc2NyZWVuLWFjdGl2ZSAuaWNvbi0tZXhpdC1mdWxsc2NyZWVuICsgc3ZnLFxuICAucGx5ci0tbXV0ZWQgLnBseXJfX2NvbnRyb2xzIC5pY29uLS1tdXRlZCArIHN2ZyxcbiAgLnBseXItLWNhcHRpb25zLWFjdGl2ZSAucGx5cl9fY29udHJvbHMgLmljb24tLWNhcHRpb25zLW9uICsgc3ZnIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyIFtkYXRhLXBseXI9XCJjYXB0aW9uc1wiXSxcbi5wbHlyIFtkYXRhLXBseXI9XCJmdWxsc2NyZWVuXCJdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGx5ci0tY2FwdGlvbnMtZW5hYmxlZCBbZGF0YS1wbHlyPVwiY2FwdGlvbnNcIl0sXG4ucGx5ci0tZnVsbHNjcmVlbi1lbmFibGVkIFtkYXRhLXBseXI9XCJmdWxsc2NyZWVuXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wbHlyX190b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICBib3R0b206IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmc6IDVweCA3LjVweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS4zO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgMC4xcyBlYXNlLCBvcGFjaXR5IDAuMnMgMC4xcyBlYXNlOyB9XG4gIC5wbHlyX190b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogLTRweDtcbiAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgei1pbmRleDogMjsgfVxuXG4ucGx5ciBidXR0b246aG92ZXIgLnBseXJfX3Rvb2x0aXAsXG4ucGx5ciBidXR0b24udGFiLWZvY3VzOmZvY3VzIC5wbHlyX190b29sdGlwLFxuLnBseXJfX3Rvb2x0aXAtLXZpc2libGUge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSBzY2FsZSgxKTsgfVxuXG4ucGx5ciBidXR0b246aG92ZXIgLnBseXJfX3Rvb2x0aXAge1xuICB6LWluZGV4OiAzOyB9XG5cbi5wbHlyX19jb250cm9scyBidXR0b246Zmlyc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAge1xuICBsZWZ0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDEwMCU7IH1cbiAgLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcDo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNnB4OyB9XG5cbi5wbHlyX19jb250cm9scyBidXR0b246bGFzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCB7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSgwLjgpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7IH1cbiAgLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpsYXN0LWNoaWxkIC5wbHlyX190b29sdGlwOjpiZWZvcmUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDE2cHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDUwJSk7IH1cblxuLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCxcbi5wbHlyX19jb250cm9scyBidXR0b246Zmlyc3QtY2hpbGQudGFiLWZvY3VzOmZvY3VzIC5wbHlyX190b29sdGlwLFxuLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSxcbi5wbHlyX19jb250cm9scyBidXR0b246bGFzdC1jaGlsZDpob3ZlciAucGx5cl9fdG9vbHRpcCxcbi5wbHlyX19jb250cm9scyBidXR0b246bGFzdC1jaGlsZC50YWItZm9jdXM6Zm9jdXMgLnBseXJfX3Rvb2x0aXAsXG4ucGx5cl9fY29udHJvbHMgYnV0dG9uOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTsgfVxuXG4ucGx5cl9fcHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDE7IH1cbiAgLnBseXJfX3Byb2dyZXNzIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5wbHlyX19wcm9ncmVzcyBpbnB1dFt0eXBlPVwicmFuZ2VcIl06Oi1tb3otcmFuZ2UtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAucGx5cl9fcHJvZ3Jlc3MgaW5wdXRbdHlwZT1cInJhbmdlXCJdOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGx5cl9fcHJvZ3Jlc3MgLnBseXJfX3Rvb2x0aXAge1xuICAgIGxlZnQ6IDA7IH1cblxuLnBseXIgLnBseXJfX3Byb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQsXG4ucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogOHB4O1xuICBtYXJnaW46IC00cHggMCAwO1xuICBwYWRkaW5nOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4OyB9XG4gIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLWJhcixcbiAgLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQ6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyLFxuICAucGx5cl9fdm9sdW1lLS1kaXNwbGF5Ojotd2Via2l0LXByb2dyZXNzLWJhciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1idWZmZXI6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUsXG4gIC5wbHlyX19wcm9ncmVzcy0tcGxheWVkOjotd2Via2l0LXByb2dyZXNzLXZhbHVlLFxuICAucGx5cl9fdm9sdW1lLS1kaXNwbGF5Ojotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgbWluLXdpZHRoOiA4cHg7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1idWZmZXI6Oi1tb3otcHJvZ3Jlc3MtYmFyLFxuICAucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZDo6LW1vei1wcm9ncmVzcy1iYXIsXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXk6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgbWluLXdpZHRoOiA4cHg7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1idWZmZXI6Oi1tcy1maWxsLFxuICAucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZDo6LW1zLWZpbGwsXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXk6Oi1tcy1maWxsIHtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDsgfVxuXG4ucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZCxcbi5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICB6LWluZGV4OiAxO1xuICBjb2xvcjogIzA3OThlMjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQ6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUsXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXk6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgIG1pbi13aWR0aDogOHB4O1xuICAgIG1heC13aWR0aDogOTklO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgIHRyYW5zaXRpb246IG5vbmU7IH1cbiAgLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQ6Oi1tb3otcHJvZ3Jlc3MtYmFyLFxuICAucGx5cl9fdm9sdW1lLS1kaXNwbGF5OjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgbWluLXdpZHRoOiA4cHg7XG4gICAgbWF4LXdpZHRoOiA5OSU7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgdHJhbnNpdGlvbjogbm9uZTsgfVxuICAucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZDo6LW1zLWZpbGwsXG4gIC5wbHlyX192b2x1bWUtLWRpc3BsYXk6Oi1tcy1maWxsIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wbHlyX19wcm9ncmVzcy0tYnVmZmVyOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlOyB9XG5cbi5wbHlyX19wcm9ncmVzcy0tYnVmZmVyOjotbW96LXByb2dyZXNzLWJhciB7XG4gIHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZTsgfVxuXG4ucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlcjo6LW1zLWZpbGwge1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2U7IH1cblxuLnBseXItLXZpZGVvIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXItLXZpZGVvIC5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpOyB9XG5cbi5wbHlyLS1hdWRpbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlcixcbi5wbHlyLS1hdWRpbyAucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgxOTgsIDIxNCwgMjE5LCAwLjY3KTsgfVxuXG4ucGx5ci0tYXVkaW8gLnBseXJfX3Byb2dyZXNzLS1idWZmZXIge1xuICBjb2xvcjogcmdiYSgxOTgsIDIxNCwgMjE5LCAwLjY3KTsgfVxuXG4ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIGFuaW1hdGlvbjogcGx5ci1wcm9ncmVzcyAxcyBsaW5lYXIgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtc2l6ZTogMjVweCAyNXB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsIHJnYmEoMCwgMCwgMCwgMC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgwLCAwLCAwLCAwLjE1KSA1MCUsIHJnYmEoMCwgMCwgMCwgMC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5wbHlyLS12aWRlby5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsgfVxuXG4ucGx5ci0tYXVkaW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTk4LCAyMTQsIDIxOSwgMC42Nyk7IH1cblxuLnBseXJfX3RpbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4ucGx5cl9fdGltZSArIC5wbHlyX190aW1lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucGx5cl9fdGltZSArIC5wbHlyX190aW1lIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wbHlyX190aW1lICsgLnBseXJfX3RpbWU6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXDIwNDRcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLnBseXJfX3ZvbHVtZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBseXIgLnBseXJfX3ZvbHVtZSB7XG4gIGZsZXg6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGx5ciAucGx5cl9fdm9sdW1lIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLnBseXIgLnBseXJfX3ZvbHVtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC13aWR0aDogNjBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5wbHlyIC5wbHlyX192b2x1bWUge1xuICAgICAgbWF4LXdpZHRoOiAxMDBweDsgfSB9XG5cbi5wbHlyLS1pcy1pb3MgLnBseXJfX3ZvbHVtZSxcbi5wbHlyLS1pcy1pb3MgW2RhdGEtcGx5cj1cIm11dGVcIl0ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50OyB9XG4gIC5wbHlyLS1mdWxsc2NyZWVuLWFjdGl2ZSB2aWRlbyB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5wbHlyLS1mdWxsc2NyZWVuLWFjdGl2ZSAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wbHlyLS1mdWxsc2NyZWVuLWFjdGl2ZSAucGx5cl9fdmlkZW8tZW1iZWQge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5wbHlyLS1mdWxsc2NyZWVuLWFjdGl2ZS5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4ucGx5ci0tZnVsbHNjcmVlbi1mYWxsYmFjay5wbHlyLS1mdWxsc2NyZWVuLWFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxMDAwMDAwMDsgfVxuXG5odG1sLnN3YWwyLXNob3duOm5vdCguc3dhbDItbm8tYmFja2Ryb3ApOm5vdCguc3dhbDItdG9hc3Qtc2hvd24pLFxuYm9keS5zd2FsMi1zaG93bjpub3QoLnN3YWwyLW5vLWJhY2tkcm9wKTpub3QoLnN3YWwyLXRvYXN0LXNob3duKSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG5ib2R5LnN3YWwyLXRvYXN0LXNob3duLnN3YWwyLWhhcy1pbnB1dCA+IC5zd2FsMi1jb250YWluZXIgPiAuc3dhbDItdG9hc3Qge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24uc3dhbDItaGFzLWlucHV0ID4gLnN3YWwyLWNvbnRhaW5lciA+IC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbiB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDsgfVxuICBib2R5LnN3YWwyLXRvYXN0LXNob3duLnN3YWwyLWhhcy1pbnB1dCA+IC5zd2FsMi1jb250YWluZXIgPiAuc3dhbDItdG9hc3QgLnN3YWwyLWJ1dHRvbnN3cmFwcGVyIHtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICBib2R5LnN3YWwyLXRvYXN0LXNob3duLnN3YWwyLWhhcy1pbnB1dCA+IC5zd2FsMi1jb250YWluZXIgPiAuc3dhbDItdG9hc3QgLnN3YWwyLWxvYWRpbmcge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24uc3dhbDItaGFzLWlucHV0ID4gLnN3YWwyLWNvbnRhaW5lciA+IC5zd2FsMi10b2FzdCAuc3dhbDItaW5wdXQge1xuICAgIGhlaWdodDogMzJweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiA1cHggYXV0bzsgfVxuXG5ib2R5LnN3YWwyLXRvYXN0LXNob3duID4gLnN3YWwyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgYm9keS5zd2FsMi10b2FzdC1zaG93biA+IC5zd2FsMi1jb250YWluZXIuc3dhbDItc2hvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gPiAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gPiAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1lbmQsIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gPiAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHJpZ2h0OiAwOyB9XG4gIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gPiAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1zdGFydCwgYm9keS5zd2FsMi10b2FzdC1zaG93biA+IC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLWxlZnQge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bzsgfVxuICBib2R5LnN3YWwyLXRvYXN0LXNob3duID4gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItc3RhcnQsIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gPiAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1sZWZ0IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgYm9keS5zd2FsMi10b2FzdC1zaG93biA+IC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gPiAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1lbmQsIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gPiAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1yaWdodCB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogYXV0bztcbiAgICBib3R0b206IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gPiAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1zdGFydCwgYm9keS5zd2FsMi10b2FzdC1zaG93biA+IC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLWxlZnQge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogYXV0bzsgfVxuICBib2R5LnN3YWwyLXRvYXN0LXNob3duID4gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20ge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICBib2R5LnN3YWwyLXRvYXN0LXNob3duID4gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tZW5kLCBib2R5LnN3YWwyLXRvYXN0LXNob3duID4gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tcmlnaHQge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDsgfVxuXG5ib2R5LnN3YWwyLWlvc2ZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7IH1cblxuYm9keS5zd2FsMi1uby1iYWNrZHJvcCA+IC5zd2FsMi1zaG93biB7XG4gIHRvcDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgYm9keS5zd2FsMi1uby1iYWNrZHJvcCA+IC5zd2FsMi1zaG93biA+IC5zd2FsMi1tb2RhbCB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgPiAuc3dhbDItc2hvd24uc3dhbDItdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICBib2R5LnN3YWwyLW5vLWJhY2tkcm9wID4gLnN3YWwyLXNob3duLnN3YWwyLXRvcC1zdGFydCwgYm9keS5zd2FsMi1uby1iYWNrZHJvcCA+IC5zd2FsMi1zaG93bi5zd2FsMi10b3AtbGVmdCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgYm9keS5zd2FsMi1uby1iYWNrZHJvcCA+IC5zd2FsMi1zaG93bi5zd2FsMi10b3AtZW5kLCBib2R5LnN3YWwyLW5vLWJhY2tkcm9wID4gLnN3YWwyLXNob3duLnN3YWwyLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgPiAuc3dhbDItc2hvd24uc3dhbDItY2VudGVyIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgYm9keS5zd2FsMi1uby1iYWNrZHJvcCA+IC5zd2FsMi1zaG93bi5zd2FsMi1jZW50ZXItc3RhcnQsIGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgPiAuc3dhbDItc2hvd24uc3dhbDItY2VudGVyLWxlZnQge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG4gIGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgPiAuc3dhbDItc2hvd24uc3dhbDItY2VudGVyLWVuZCwgYm9keS5zd2FsMi1uby1iYWNrZHJvcCA+IC5zd2FsMi1zaG93bi5zd2FsMi1jZW50ZXItcmlnaHQge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICBib2R5LnN3YWwyLW5vLWJhY2tkcm9wID4gLnN3YWwyLXNob3duLnN3YWwyLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgYm9keS5zd2FsMi1uby1iYWNrZHJvcCA+IC5zd2FsMi1zaG93bi5zd2FsMi1ib3R0b20tc3RhcnQsIGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgPiAuc3dhbDItc2hvd24uc3dhbDItYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwOyB9XG4gIGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgPiAuc3dhbDItc2hvd24uc3dhbDItYm90dG9tLWVuZCwgYm9keS5zd2FsMi1uby1iYWNrZHJvcCA+IC5zd2FsMi1zaG93bi5zd2FsMi1ib3R0b20tcmlnaHQge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDsgfVxuXG4uc3dhbDItY29udGFpbmVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogMTBweDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTA2MDsgfVxuICAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3Atc3RhcnQsIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLWxlZnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1lbmQsIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLXN0YXJ0LCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1sZWZ0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1lbmQsIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1zdGFydCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tbGVmdCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1lbmQsIC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLXJpZ2h0IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctZnVsbHNjcmVlbiA+IC5zd2FsMi1tb2RhbCB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXg6IDE7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctcm93ID4gLnN3YWwyLW1vZGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbiB7XG4gICAgZmxleDogMTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi10b3AsIC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItY2VudGVyLCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWJvdHRvbSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi10b3Atc3RhcnQsIC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItY2VudGVyLXN0YXJ0LCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWJvdHRvbS1zdGFydCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi10b3AtbGVmdCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi1jZW50ZXItbGVmdCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi1ib3R0b20tbGVmdCB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgIC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItdG9wLWVuZCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi1jZW50ZXItZW5kLCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWJvdHRvbS1lbmQsIC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItdG9wLXJpZ2h0LCAuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWNlbnRlci1yaWdodCwgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi1ib3R0b20tcmlnaHQge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gICAgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbiA+IC5zd2FsMi1tb2RhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBmbGV4OiAxO1xuICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnN3YWwyLWNvbnRhaW5lcjpub3QoLnN3YWwyLXRvcCk6bm90KC5zd2FsMi10b3Atc3RhcnQpOm5vdCguc3dhbDItdG9wLWVuZCk6bm90KC5zd2FsMi10b3AtbGVmdCk6bm90KC5zd2FsMi10b3AtcmlnaHQpOm5vdCguc3dhbDItY2VudGVyLXN0YXJ0KTpub3QoLnN3YWwyLWNlbnRlci1lbmQpOm5vdCguc3dhbDItY2VudGVyLWxlZnQpOm5vdCguc3dhbDItY2VudGVyLXJpZ2h0KTpub3QoLnN3YWwyLWJvdHRvbSk6bm90KC5zd2FsMi1ib3R0b20tc3RhcnQpOm5vdCguc3dhbDItYm90dG9tLWVuZCk6bm90KC5zd2FsMi1ib3R0b20tbGVmdCk6bm90KC5zd2FsMi1ib3R0b20tcmlnaHQpID4gLnN3YWwyLW1vZGFsIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICAuc3dhbDItY29udGFpbmVyIC5zd2FsMi1tb2RhbCB7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDsgfSB9XG4gIC5zd2FsMi1jb250YWluZXIuc3dhbDItZmFkZSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuMXM7IH1cbiAgLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1zaG93biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG5cbi5zd2FsMi1wb3B1cCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4ICNkOWQ5ZDk7IH1cbiAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXRpdGxlIHtcbiAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1jb250ZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24ge1xuICAgICAgd2lkdGg6IDMycHg7XG4gICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW46IDAgMTVweCAwIDA7IH1cbiAgICAgIC5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLXJpbmcge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4OyB9XG4gICAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24uc3dhbDItaW5mbywgLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29uLnN3YWwyLXdhcm5pbmcsIC5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1xdWVzdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7IH1cbiAgICAgIC5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1lcnJvciBbY2xhc3NePSdzd2FsMi14LW1hcmstbGluZSddIHtcbiAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICB3aWR0aDogMjJweDsgfVxuICAgICAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj0nc3dhbDIteC1tYXJrLWxpbmUnXVtjbGFzcyQ9J2xlZnQnXSB7XG4gICAgICAgICAgbGVmdDogNXB4OyB9XG4gICAgICAgIC5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1lcnJvciBbY2xhc3NePSdzd2FsMi14LW1hcmstbGluZSddW2NsYXNzJD0ncmlnaHQnXSB7XG4gICAgICAgICAgcmlnaHQ6IDVweDsgfVxuICAgIC5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItYnV0dG9uc3dyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7IH1cbiAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN0eWxlZCB7XG4gICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4OyB9XG4gICAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN0eWxlZDpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZmZmLCAwIDAgMCAycHggcmdiYSg1MCwgMTAwLCAxNTAsIDAuNCk7IH1cbiAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXZhbGlkYXRpb25lcnJvciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogNXB4IC0yMHB4OyB9XG4gICAgLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2E1ZGM4NjsgfVxuICAgICAgLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIFtjbGFzc149J3N3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZSddIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj0nc3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lJ11bY2xhc3MkPSdsZWZ0J10ge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDY0cHggMCAwIDY0cHg7XG4gICAgICAgICAgdG9wOiAtNHB4O1xuICAgICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMzJweCAzMnB4OyB9XG4gICAgICAgIC5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyBbY2xhc3NePSdzd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmUnXVtjbGFzcyQ9J3JpZ2h0J10ge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNjRweCA2NHB4IDA7XG4gICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAzMnB4OyB9XG4gICAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgLnN3YWwyLXN1Y2Nlc3MtcmluZyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7IH1cbiAgICAgIC5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyAuc3dhbDItc3VjY2Vzcy1maXgge1xuICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICAgIHRvcDogOHB4OyB9XG4gICAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj0nc3dhbDItc3VjY2Vzcy1saW5lJ10ge1xuICAgICAgICBoZWlnaHQ6IDVweDsgfVxuICAgICAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj0nc3dhbDItc3VjY2Vzcy1saW5lJ11bY2xhc3MkPSd0aXAnXSB7XG4gICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICAgIHRvcDogMThweDsgfVxuICAgICAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj0nc3dhbDItc3VjY2Vzcy1saW5lJ11bY2xhc3MkPSdsb25nJ10ge1xuICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICAgICAgdG9wOiAxNXB4OyB9XG4gICAgLnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAge1xuICAgICAgYW5pbWF0aW9uOiBhbmltYXRlLXRvYXN0LXN1Y2Nlc3MtdGlwIC43NXM7IH1cbiAgICAuc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLWxvbmcge1xuICAgICAgYW5pbWF0aW9uOiBhbmltYXRlLXRvYXN0LXN1Y2Nlc3MtbG9uZyAuNzVzOyB9XG4gIC5zd2FsMi1wb3B1cDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc3dhbDItcG9wdXAuc3dhbDItbG9hZGluZyB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItdGl0bGUge1xuICAgIGNvbG9yOiAjNTk1OTU5O1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAgLjRlbTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAuc3dhbDItcG9wdXAgLnN3YWwyLWJ1dHRvbnN3cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLWJ1dHRvbnN3cmFwcGVyOm5vdCguc3dhbDItbG9hZGluZykgLnN3YWwyLXN0eWxlZFtkaXNhYmxlZF0ge1xuICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICBjdXJzb3I6IG5vLWRyb3A7IH1cbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLWJ1dHRvbnN3cmFwcGVyLnN3YWwyLWxvYWRpbmcgLnN3YWwyLXN0eWxlZC5zd2FsMi1jb25maXJtIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXI6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDcuNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgYW5pbWF0aW9uOiByb3RhdGUtbG9hZGluZyAxLjVzIGxpbmVhciAwcyBpbmZpbml0ZSBub3JtYWw7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAgIC5zd2FsMi1wb3B1cCAuc3dhbDItYnV0dG9uc3dyYXBwZXIuc3dhbDItbG9hZGluZyAuc3dhbDItc3R5bGVkLnN3YWwyLWNhbmNlbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgIC5zd2FsMi1wb3B1cCAuc3dhbDItYnV0dG9uc3dyYXBwZXIuc3dhbDItbG9hZGluZyA6bm90KC5zd2FsMi1zdHlsZWQpLnN3YWwyLWNvbmZpcm06OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAtMXB4O1xuICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjOTk5OTk5O1xuICAgICAgYm94LXNoYWRvdzogMXB4IDFweCAxcHggI2ZmZjtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBhbmltYXRpb246IHJvdGF0ZS1sb2FkaW5nIDEuNXMgbGluZWFyIDBzIGluZmluaXRlIG5vcm1hbDsgfVxuICAuc3dhbDItcG9wdXAgLnN3YWwyLXN0eWxlZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW46IDE1cHggNXB4IDA7XG4gICAgcGFkZGluZzogMTBweCAzMnB4OyB9XG4gICAgLnN3YWwyLXBvcHVwIC5zd2FsMi1zdHlsZWQ6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZmZmLCAwIDAgMCA0cHggcmdiYSg1MCwgMTAwLCAxNTAsIDAuNCk7IH1cbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi1pbWFnZSB7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItY2xvc2Uge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBzZXJpZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICNjY2NjY2M7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjFzIGVhc2U7IH1cbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLWNsb3NlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZDU1OyB9XG4gIC5zd2FsMi1wb3B1cCA+IC5zd2FsMi1pbnB1dCxcbiAgLnN3YWwyLXBvcHVwID4gLnN3YWwyLWZpbGUsXG4gIC5zd2FsMi1wb3B1cCA+IC5zd2FsMi10ZXh0YXJlYSxcbiAgLnN3YWwyLXBvcHVwID4gLnN3YWwyLXNlbGVjdCxcbiAgLnN3YWwyLXBvcHVwID4gLnN3YWwyLXJhZGlvLFxuICAuc3dhbDItcG9wdXAgPiAuc3dhbDItY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi1jb250ZW50IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICM1NDU0NTQ7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItaW5wdXQsXG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItZmlsZSxcbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi10ZXh0YXJlYSxcbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi1zZWxlY3QsXG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItcmFkaW8sXG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItY2hlY2tib3gge1xuICAgIG1hcmdpbjogMjBweCBhdXRvOyB9XG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItaW5wdXQsXG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItZmlsZSxcbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi10ZXh0YXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4zcywgYm94LXNoYWRvdyAuM3M7IH1cbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLWlucHV0LnN3YWwyLWlucHV0ZXJyb3IsXG4gICAgLnN3YWwyLXBvcHVwIC5zd2FsMi1maWxlLnN3YWwyLWlucHV0ZXJyb3IsXG4gICAgLnN3YWwyLXBvcHVwIC5zd2FsMi10ZXh0YXJlYS5zd2FsMi1pbnB1dGVycm9yIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2YyNzQ3NCAhaW1wb3J0YW50O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAjZjI3NDc0ICFpbXBvcnRhbnQ7IH1cbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLWlucHV0OmZvY3VzLFxuICAgIC5zd2FsMi1wb3B1cCAuc3dhbDItZmlsZTpmb2N1cyxcbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLXRleHRhcmVhOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjRkYmVkO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDNweCAjYzRlNmY1OyB9XG4gICAgLnN3YWwyLXBvcHVwIC5zd2FsMi1pbnB1dDo6cGxhY2Vob2xkZXIsXG4gICAgLnN3YWwyLXBvcHVwIC5zd2FsMi1maWxlOjpwbGFjZWhvbGRlcixcbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogI2NjY2NjYzsgfVxuICAuc3dhbDItcG9wdXAgLnN3YWwyLXJhbmdlIGlucHV0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogODAlOyB9XG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItcmFuZ2Ugb3V0cHV0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi1yYW5nZSBpbnB1dCxcbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi1yYW5nZSBvdXRwdXQge1xuICAgIGhlaWdodDogNDNweDtcbiAgICBsaW5lLWhlaWdodDogNDNweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi1pbnB1dCB7XG4gICAgaGVpZ2h0OiA0M3B4O1xuICAgIHBhZGRpbmc6IDAgMTJweDsgfVxuICAgIC5zd2FsMi1wb3B1cCAuc3dhbDItaW5wdXRbdHlwZT0nbnVtYmVyJ10ge1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDsgfVxuICAuc3dhbDItcG9wdXAgLnN3YWwyLWZpbGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAuc3dhbDItcG9wdXAgLnN3YWwyLXRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IDEwOHB4O1xuICAgIHBhZGRpbmc6IDEycHg7IH1cbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi1zZWxlY3Qge1xuICAgIGNvbG9yOiAjNTQ1NDU0O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBtaW4td2lkdGg6IDQwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnN3YWwyLXBvcHVwIC5zd2FsMi1yYWRpbyB7XG4gICAgYm9yZGVyOiAwOyB9XG4gICAgLnN3YWwyLXBvcHVwIC5zd2FsMi1yYWRpbyBsYWJlbDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDsgfVxuICAgIC5zd2FsMi1wb3B1cCAuc3dhbDItcmFkaW8gaW5wdXQsXG4gICAgLnN3YWwyLXBvcHVwIC5zd2FsMi1yYWRpbyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLXJhZGlvIGlucHV0IHtcbiAgICAgIG1hcmdpbjogMCAzcHggMCAwOyB9XG4gIC5zd2FsMi1wb3B1cCAuc3dhbDItY2hlY2tib3gge1xuICAgIGNvbG9yOiAjNTQ1NDU0OyB9XG4gICAgLnN3YWwyLXBvcHVwIC5zd2FsMi1jaGVja2JveCBpbnB1dCxcbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLWNoZWNrYm94IHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuc3dhbDItcG9wdXAgLnN3YWwyLXZhbGlkYXRpb25lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbiAgICBtYXJnaW46IDAgLTIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGNvbG9yOiBncmF5O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuc3dhbDItcG9wdXAgLnN3YWwyLXZhbGlkYXRpb25lcnJvcjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICchJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VhN2Q3ZDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuQHN1cHBvcnRzICgtbXMtYWNjZWxlcmF0b3I6IHRydWUpIHtcbiAgLnN3YWwyLXJhbmdlIGlucHV0IHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIC5zd2FsMi1yYW5nZSBvdXRwdXQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSkge1xuICAuc3dhbDItcmFuZ2UgaW5wdXQge1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgLnN3YWwyLXJhbmdlIG91dHB1dCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zd2FsMi1pY29uIHtcbiAgd2lkdGg6IDgwcHg7XG4gIGhlaWdodDogODBweDtcbiAgYm9yZGVyOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgbWFyZ2luOiAyMHB4IGF1dG8gMzBweDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuc3dhbDItaWNvbi5zd2FsMi1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjI3NDc0OyB9XG4gICAgLnN3YWwyLWljb24uc3dhbDItZXJyb3IgLnN3YWwyLXgtbWFyayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149J3N3YWwyLXgtbWFyay1saW5lJ10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICB3aWR0aDogNDdweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMjc0NzQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMzdweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDsgfVxuICAgICAgLnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj0nc3dhbDIteC1tYXJrLWxpbmUnXVtjbGFzcyQ9J2xlZnQnXSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgbGVmdDogMTdweDsgfVxuICAgICAgLnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj0nc3dhbDIteC1tYXJrLWxpbmUnXVtjbGFzcyQ9J3JpZ2h0J10ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICByaWdodDogMTZweDsgfVxuICAuc3dhbDItaWNvbi5zd2FsMi13YXJuaW5nIHtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjZjhiYjg2O1xuICAgIGJvcmRlci1jb2xvcjogI2ZhY2VhODtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zd2FsMi1pY29uLnN3YWwyLWluZm8ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMzZmMzZWU7XG4gICAgYm9yZGVyLWNvbG9yOiAjOWRlMGY2O1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnN3YWwyLWljb24uc3dhbDItcXVlc3Rpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICM4N2FkYmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzlkYWUxO1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjYTVkYzg2OyB9XG4gICAgLnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePSdzd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmUnXSB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgIC5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj0nc3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lJ11bY2xhc3MkPSdsZWZ0J10ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMjBweCAwIDAgMTIwcHg7XG4gICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgbGVmdDogLTMzcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDYwcHggNjBweDsgfVxuICAgICAgLnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePSdzd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmUnXVtjbGFzcyQ9J3JpZ2h0J10ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDEyMHB4IDEyMHB4IDA7XG4gICAgICAgIHRvcDogLTExcHg7XG4gICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgNjBweDsgfVxuICAgIC5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgLnN3YWwyLXN1Y2Nlc3MtcmluZyB7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIGhlaWdodDogODBweDtcbiAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHJnYmEoMTY1LCAyMjAsIDEzNCwgMC4yKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogLTRweDtcbiAgICAgIHRvcDogLTRweDtcbiAgICAgIHotaW5kZXg6IDI7IH1cbiAgICAuc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIC5zd2FsMi1zdWNjZXNzLWZpeCB7XG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMjhweDtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7IH1cbiAgICAuc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149J3N3YWwyLXN1Y2Nlc3MtbGluZSddIHtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1ZGM4NjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePSdzd2FsMi1zdWNjZXNzLWxpbmUnXVtjbGFzcyQ9J3RpcCddIHtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgIHRvcDogNDZweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgICAuc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149J3N3YWwyLXN1Y2Nlc3MtbGluZSddW2NsYXNzJD0nbG9uZyddIHtcbiAgICAgICAgd2lkdGg6IDQ3cHg7XG4gICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgIHRvcDogMzhweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuXG4uc3dhbDItcHJvZ3Jlc3NzdGVwcyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnN3YWwyLXByb2dyZXNzc3RlcHMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnN3YWwyLXByb2dyZXNzc3RlcHMgLnN3YWwyLXByb2dyZXNzY2lyY2xlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzA4NWQ2O1xuICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDJlbTtcbiAgICBsaW5lLWhlaWdodDogMmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMmVtO1xuICAgIHotaW5kZXg6IDIwOyB9XG4gICAgLnN3YWwyLXByb2dyZXNzc3RlcHMgLnN3YWwyLXByb2dyZXNzY2lyY2xlOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnN3YWwyLXByb2dyZXNzc3RlcHMgLnN3YWwyLXByb2dyZXNzY2lyY2xlOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnN3YWwyLXByb2dyZXNzc3RlcHMgLnN3YWwyLXByb2dyZXNzY2lyY2xlLnN3YWwyLWFjdGl2ZXByb2dyZXNzc3RlcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMzA4NWQ2OyB9XG4gICAgICAuc3dhbDItcHJvZ3Jlc3NzdGVwcyAuc3dhbDItcHJvZ3Jlc3NjaXJjbGUuc3dhbDItYWN0aXZlcHJvZ3Jlc3NzdGVwIH4gLnN3YWwyLXByb2dyZXNzY2lyY2xlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2FkZDhlNjsgfVxuICAgICAgLnN3YWwyLXByb2dyZXNzc3RlcHMgLnN3YWwyLXByb2dyZXNzY2lyY2xlLnN3YWwyLWFjdGl2ZXByb2dyZXNzc3RlcCB+IC5zd2FsMi1wcm9ncmVzc2xpbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYWRkOGU2OyB9XG4gIC5zd2FsMi1wcm9ncmVzc3N0ZXBzIC5zd2FsMi1wcm9ncmVzc2xpbmUge1xuICAgIGJhY2tncm91bmQ6ICMzMDg1ZDY7XG4gICAgaGVpZ2h0OiAuNGVtO1xuICAgIG1hcmdpbjogMCAtMXB4O1xuICAgIHotaW5kZXg6IDEwOyB9XG5cbltjbGFzc149J3N3YWwyJ10ge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbkBrZXlmcmFtZXMgc2hvd1N3ZWV0VG9hc3Qge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSByb3RhdGVaKDJkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMzMlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcm90YXRlWigtMmRlZyk7XG4gICAgb3BhY2l0eTogLjU7IH1cbiAgNjYlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KSByb3RhdGVaKDJkZWcpO1xuICAgIG9wYWNpdHk6IC43OyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSByb3RhdGVaKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGhpZGVTd2VldFRvYXN0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMzMlIHtcbiAgICBvcGFjaXR5OiAuNTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVooMWRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgc2hvd1N3ZWV0QWxlcnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgaGlkZVN3ZWV0QWxlcnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnN3YWwyLXNob3cge1xuICBhbmltYXRpb246IHNob3dTd2VldEFsZXJ0IC4zczsgfVxuICAuc3dhbDItc2hvdy5zd2FsMi10b2FzdCB7XG4gICAgYW5pbWF0aW9uOiBzaG93U3dlZXRUb2FzdCAuNXM7IH1cbiAgLnN3YWwyLXNob3cuc3dhbDItbm9hbmltYXRpb24ge1xuICAgIGFuaW1hdGlvbjogbm9uZTsgfVxuXG4uc3dhbDItaGlkZSB7XG4gIGFuaW1hdGlvbjogaGlkZVN3ZWV0QWxlcnQgLjE1cyBmb3J3YXJkczsgfVxuICAuc3dhbDItaGlkZS5zd2FsMi10b2FzdCB7XG4gICAgYW5pbWF0aW9uOiBoaWRlU3dlZXRUb2FzdCAuMnMgZm9yd2FyZHM7IH1cbiAgLnN3YWwyLWhpZGUuc3dhbDItbm9hbmltYXRpb24ge1xuICAgIGFuaW1hdGlvbjogbm9uZTsgfVxuXG5bZGlyPSdydGwnXSAuc3dhbDItY2xvc2Uge1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS1zdWNjZXNzLXRpcCB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiAxOXB4OyB9XG4gIDU0JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgbGVmdDogMXB4O1xuICAgIHRvcDogMTlweDsgfVxuICA3MCUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGxlZnQ6IC04cHg7XG4gICAgdG9wOiAzN3B4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDE3cHg7XG4gICAgbGVmdDogMjFweDtcbiAgICB0b3A6IDQ4cHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDI1cHg7XG4gICAgbGVmdDogMTRweDtcbiAgICB0b3A6IDQ1cHg7IH0gfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtc3VjY2Vzcy1sb25nIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA2NSUge1xuICAgIHdpZHRoOiAwO1xuICAgIHJpZ2h0OiA0NnB4O1xuICAgIHRvcDogNTRweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMzVweDsgfVxuICAxMDAlIHtcbiAgICB3aWR0aDogNDdweDtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogMzhweDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS10b2FzdC1zdWNjZXNzLXRpcCB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiA5cHg7IH1cbiAgNTQlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiA5cHg7IH1cbiAgNzAlIHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBsZWZ0OiAtNHB4O1xuICAgIHRvcDogMTdweDsgfVxuICA4NCUge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgbGVmdDogMTBweDtcbiAgICB0b3A6IDIwcHg7IH1cbiAgMTAwJSB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgbGVmdDogM3B4O1xuICAgIHRvcDogMThweDsgfSB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS10b2FzdC1zdWNjZXNzLWxvbmcge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDIycHg7XG4gICAgdG9wOiAyNnB4OyB9XG4gIDY1JSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDIycHg7XG4gICAgdG9wOiAyNnB4OyB9XG4gIDg0JSB7XG4gICAgd2lkdGg6IDI2cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxNXB4OyB9XG4gIDEwMCUge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIHJpZ2h0OiAzcHg7XG4gICAgdG9wOiAxNXB4OyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVQbGFjZWhvbGRlciB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG4gIDEyJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQwNWRlZyk7IH0gfVxuXG4uc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwIHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlLXN1Y2Nlc3MtdGlwIC43NXM7IH1cblxuLnN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLWxvbmcge1xuICBhbmltYXRpb246IGFuaW1hdGUtc3VjY2Vzcy1sb25nIC43NXM7IH1cblxuLnN3YWwyLXN1Y2Nlc3Muc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWljb24gLnN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZS1yaWdodCB7XG4gIGFuaW1hdGlvbjogcm90YXRlUGxhY2Vob2xkZXIgNC4yNXMgZWFzZS1pbjsgfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUtZXJyb3ItaWNvbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnN3YWwyLWFuaW1hdGUtZXJyb3ItaWNvbiB7XG4gIGFuaW1hdGlvbjogYW5pbWF0ZS1lcnJvci1pY29uIC41czsgfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGUteC1tYXJrIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC40KTtcbiAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7XG4gICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjE1KTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnN3YWwyLWFuaW1hdGUteC1tYXJrIHtcbiAgYW5pbWF0aW9uOiBhbmltYXRlLXgtbWFyayAuNXM7IH1cblxuQGtleWZyYW1lcyByb3RhdGUtbG9hZGluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLnN3YWwyLW1vZGFsIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMjBweCAzMHB4ICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDA7IH1cbiAgLnN3YWwyLW1vZGFsIC5zd2FsMi1zcGFjZXIge1xuICAgIGhlaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIC5zd2FsMi1tb2RhbCAuc3dhbDItY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogNDJweCAhaW1wb3J0YW50O1xuICAgIHRvcDogOHB4ICFpbXBvcnRhbnQ7XG4gICAgcmlnaHQ6IDE2cHggIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5zd2FsMi1tb2RhbCAuc3dhbDItdGl0bGUge1xuICAgIGZvbnQ6IDQwMCAzcmVtIFwiYWxsZXJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBjb2xvcjogIzFEMUQxQjsgfVxuICAuc3dhbDItbW9kYWwgLnN3YWwyLWNvbnRlbnQge1xuICAgIGZvbnQ6IDMwMCAycmVtLzIuNXJlbSBcImFsbGVyXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjMUQxRDFCOyB9XG4gIC5zd2FsMi1tb2RhbCAuc3dhbDItc3R5bGVkIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBseXJfX3BsYXktbGFyZ2Uge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJvcmRlcjogNXB4IHNvbGlkICNmZmZmZmY7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAxcHggMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIG9wYWNpdHk6IC44OyB9XG4gIC5wbHlyX19wbGF5LWxhcmdlIHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDJweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZ29ib2xkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9nb2JvbGRfbG93cGx1cy13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9nb2JvbGRfbG93cGx1cy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2dvYm9sZCc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvZ29ib2xkX3JlZ3VsYXItd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvZ29ib2xkX3JlZ3VsYXItd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdnb2JvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2dvYm9sZF90aGluLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2dvYm9sZF90aGluLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZ29ib2xkJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9nb2JvbGRfdXBsb3ctd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvZ29ib2xkX3VwbG93LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnYWxsZXInO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2FsbGVyX3N0ZF9sdC13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9hbGxlcl9zdGRfbHQtd2ViZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdhbGxlcic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvYWxsZXJfc3RkX3JnLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2FsbGVyX3N0ZF9yZy13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2FsbGVyJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9hbGxlcl9zdGRfcmctd2ViZm9udC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvYWxsZXJfc3RkX3JnLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvaWNvbW9vbi5lb3Q/MWFld2JqXCIpO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ljb21vb24uZW90PzFhZXdiaiNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi50dGY/MWFld2JqXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuLi9mb250cy9pY29tb29uLndvZmY/MWFld2JqXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24uc3ZnPzFhZXdiaiNpY29tb29uXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb24tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjsgfVxuXG4uaWNvbi1jb2Rlcm9ja3I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDRcIjsgfVxuXG4uaWNvbi1lYXJ0aDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNlwiOyB9XG5cbi5pY29uLXN0YXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDNcIjsgfVxuXG4uaWNvbi15b3V0dWJlLWN1c3RvbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMlwiOyB9XG5cbi5pY29uLW1lZGl1bTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMVwiOyB9XG5cbi5pY29uLWdvb2dsZS1wbHVzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYThkXCI7IH1cblxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGVhOTBcIjsgfVxuXG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTk2XCI7IH1cblxuLmljb24teW91dHViZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWE5ZFwiOyB9XG5cbi5pY29uLWdpdGh1YjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZWFiMFwiOyB9XG5cbi5pY29uLWluc3RhZ3JhbTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiOyB9XG5cbi5icm93c2VydXBncmFkZSB7XG4gIG1hcmdpbjogMC4yZW0gMDtcbiAgYmFja2dyb3VuZDogI2NlZDRkYTtcbiAgY29sb3I6ICMwMDAwMDA7XG4gIHBhZGRpbmc6IDAuMmVtIDA7IH1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAjZjFhMTBhO1xuICBjb2xvcjogI2ZmZmZmZjsgfVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogI2YxYTEwYTsgfVxuXG5odG1sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1mYW1pbHk6IFwiYWxsZXJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cblxuaHRtbCxcbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6ICMxRDFEMUI7IH1cblxuaHRtbCAqIHtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4xMnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi5idG4ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAjZjFhMTBhO1xuICBjb2xvcjogI2YxYTEwYTtcbiAgcGFkZGluZzogMTJweCAzMHB4IDExcHggMzBweDtcbiAgZm9udDogMS44cmVtIFwiYWxsZXJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAuMDVyZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cyB7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYTEwYTsgfVxuXG5wIHtcbiAgZm9udDogMzAwIDEuOHJlbS8zLjJyZW0gXCJhbGxlclwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuXG4udGl0bGUsIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMiB7XG4gIGNsZWFyOiBib3RoO1xuICBmb250OiA0LjVyZW0vN3JlbSBcImdvYm9sZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IC40cmVtO1xuICBjb2xvcjogIzFEMUQxQjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDEwMHB4IGF1dG8gNzBweCBhdXRvOyB9XG5cbi5zdWJ0aXRsZSBoMiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udDogMy41cmVtIFwiZ29ib2xkXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBsZXR0ZXItc3BhY2luZzogLjJyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4uc3VidGl0bGUgc3BhbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIHdpZHRoOiAxMDBweDtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNmMWExMGE7XG4gIG1hcmdpbjogMTVweCAwIDMwcHggMDsgfVxuXG4uZmxleC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG5cbi5mbGV4LWNvbHVtbiwgaHRtbCxcbmJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbiNoZWFkZXIge1xuICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwcHg7XG4gIHotaW5kZXg6IDE7XG4gIG1hcmdpbi10b3A6IC0xMDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgb3BhY2l0eTogLjk4O1xuICBib3gtc2hhZG93OiAwcHggM3B4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICNoZWFkZXIgLmZsZXgtcm93IHtcbiAgICBoZWlnaHQ6IDEwMHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgI2hlYWRlciAuZmxleC1yb3cgLmxvZ28gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIyMnB4O1xuICAgICAgaGVpZ2h0OiA2NXB4OyB9XG4gICAgI2hlYWRlciAuZmxleC1yb3cgbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDQ4cHg7IH1cbiAgICAgICNoZWFkZXIgLmZsZXgtcm93IGxpIGEge1xuICAgICAgICBmb250OiAxLjhyZW0gXCJhbGxlclwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgICNoZWFkZXIgLmZsZXgtcm93IGxpIGE6aG92ZXIsICNoZWFkZXIgLmZsZXgtcm93IGxpIGE6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAjZjFhMTBhOyB9XG4gICAgI2hlYWRlciAuZmxleC1yb3cgYS5tb2JpbGUge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA4cHggMTRweCAxMHB4IDE0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICAgICAgI2hlYWRlciAuZmxleC1yb3cgYS5tb2JpbGUgaW1nIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7IH1cblxuI2hvbWUgPiAuYmFubmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWExMGE7XG4gIG1heC1oZWlnaHQ6IDU1MHB4O1xuICBoZWlnaHQ6IDU1MHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY3Jvd2QtYmcuanBnXCIpIGJvdHRvbSBjZW50ZXIgI2YxYTEwYTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0zcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgI2hvbWUgPiAuYmFubmVyIGgxIHtcbiAgICBmb250OiA0cmVtLzguNXJlbSBcImdvYm9sZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogLjRyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDk4cHg7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4ud2hhdC13ZS1kbyAuYmx1cnJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogODBweDtcbiAgYm94LXNoYWRvdzogMHB4IC0zcHggNXB4IDBweCB3aGl0ZTsgfVxuICAud2hhdC13ZS1kbyAuYmx1cnJlZDpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogODVweDtcbiAgICB0b3A6IC04NXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Nyb3dkLWJnLmpwZ1wiKSBib3R0b20gY2VudGVyO1xuICAgIGZpbHRlcjogYmx1cig1cHgpOyB9XG5cbi53aGF0LXdlLWRvIGhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMTYwcHg7XG4gIG1hcmdpbi10b3A6IC0xNzBweDtcbiAgb3BhY2l0eTogLjk7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6IDBweCAtM3B4IDNweCAzcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIC53aGF0LXdlLWRvIGhlYWRlcjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IC0zcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfVxuICAud2hhdC13ZS1kbyBoZWFkZXIgaDMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQ6IDMwMCAzLjVyZW0vNXJlbSBcImFsbGVyXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzJweCAhaW1wb3J0YW50OyB9XG4gICAgLndoYXQtd2UtZG8gaGVhZGVyIGgzIHNwYW4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4ud2hhdC13ZS1kbyBzZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICBtYXJnaW4tdG9wOiAtNDBweDsgfVxuICAud2hhdC13ZS1kbyBzZWN0aW9uIHAge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC53aGF0LXdlLWRvIHNlY3Rpb24gLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgIC53aGF0LXdlLWRvIHNlY3Rpb24gLndyYXBwZXI6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDMlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiAtNC41JTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMnB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgIzAwMDAwMDsgfVxuICAud2hhdC13ZS1kbyBzZWN0aW9uIC5zZXJ2aWNlIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAud2hhdC13ZS1kbyBzZWN0aW9uIC5sZWZ0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLndoYXQtd2UtZG8gc2VjdGlvbiAubGVmdCBoMiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0uNnJlbTsgfVxuICAgIC53aGF0LXdlLWRvIHNlY3Rpb24gLmxlZnQgLnN1YnRpdGxlIHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC53aGF0LXdlLWRvIHNlY3Rpb24gLnJpZ2h0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAud2hhdC13ZS1kbyBzZWN0aW9uIC5zZXJ2aWNlOm50aC1jaGlsZCgybikge1xuICAgIG1hcmdpbi10b3A6IDI3NXB4OyB9XG4gIC53aGF0LXdlLWRvIHNlY3Rpb24gLnNlcnZpY2U6bnRoLWNoaWxkKDNuKSB7XG4gICAgbWFyZ2luLXRvcDogMzhweDsgfVxuICAud2hhdC13ZS1kbyBzZWN0aW9uIC5zZXJ2aWNlOm50aC1jaGlsZCg0bikge1xuICAgIG1hcmdpbjogMzQwcHggMCA2MHB4IDA7IH1cbiAgLndoYXQtd2UtZG8gc2VjdGlvbiBoNCB7XG4gICAgZm9udDogMzAwIDJyZW0gXCJnb2JvbGRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4xMnJlbTtcbiAgICBtYXJnaW46IDcwcHggMCAyNXB4OyB9XG4gIC53aGF0LXdlLWRvIHNlY3Rpb24gLmJ0biB7XG4gICAgZm9udDogMS44cmVtIFwiZ29ib2xkXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMXJlbTtcbiAgICBwYWRkaW5nOiAxM3B4IDMwcHg7IH1cblxuLnByb2R1Y3RzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wcm9kdWN0cyBoZWFkZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDEwRDE2O1xuICAgIG1heC1oZWlnaHQ6IDU5MHB4O1xuICAgIGhlaWdodDogNTkwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2dyaWQtcGF0dGVybi5wbmdcIikgMCAtNHB4O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtM3B4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICAgLnByb2R1Y3RzIGhlYWRlcjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA1OTBweDtcbiAgICAgIGhlaWdodDogNTkwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZ3JhcGhzLnBuZ1wiKSBjZW50ZXIgMzFweCBuby1yZXBlYXQ7IH1cbiAgLnByb2R1Y3RzIC53cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7IH1cbiAgLnByb2R1Y3RzIC50aXRsZSwgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlIGgyIHtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW46IDkycHggYXV0byA2MHB4IGF1dG87IH1cbiAgLnByb2R1Y3RzIC5wbGFucm9ja3Ige1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wcm9kdWN0cyAucGxhbnJvY2tyIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA3NzNweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgLnByb2R1Y3RzIC5wbGFucm9ja3IgLnN1YnRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLnByb2R1Y3RzIC5wbGFucm9ja3IgLnN1YnRpdGxlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgIG1hcmdpbjogNTBweCBhdXRvIDI2cHggYXV0bzsgfVxuICAgICAgLnByb2R1Y3RzIC5wbGFucm9ja3IgLnN1YnRpdGxlIHNwYW4ge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwNzk4ZTI7IH1cbiAgICAucHJvZHVjdHMgLnBsYW5yb2NrciAuYnRuIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3OThlMjtcbiAgICAgIGNvbG9yOiAjMDc5OGUyO1xuICAgICAgbWFyZ2luLXRvcDogMjNweDsgfVxuICAgICAgLnByb2R1Y3RzIC5wbGFucm9ja3IgLmJ0bjpob3ZlciwgLnByb2R1Y3RzIC5wbGFucm9ja3IgLmJ0bjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwNzk4ZTI7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmOyB9XG4gIC5wcm9kdWN0cyAuZXN0aW1lb3ByYXpvIHtcbiAgICBtYXJnaW4tdG9wOiA4MHB4OyB9XG4gICAgLnByb2R1Y3RzIC5lc3RpbWVvcHJhem8gLndyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5wcm9kdWN0cyAuZXN0aW1lb3ByYXpvIC53cmFwcGVyIC5zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAgICAgLnByb2R1Y3RzIC5lc3RpbWVvcHJhem8gLndyYXBwZXIgLnN1YnRpdGxlIHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzA3OThlMjsgfVxuICAgICAgLnByb2R1Y3RzIC5lc3RpbWVvcHJhem8gLndyYXBwZXIgcCB7XG4gICAgICAgIHdpZHRoOiAzMjBweDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH1cbiAgICAgIC5wcm9kdWN0cyAuZXN0aW1lb3ByYXpvIC53cmFwcGVyIC5idG4ge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwNzk4ZTI7XG4gICAgICAgIGNvbG9yOiAjMDc5OGUyO1xuICAgICAgICBtYXJnaW4tdG9wOiAyM3B4OyB9XG4gICAgICAgIC5wcm9kdWN0cyAuZXN0aW1lb3ByYXpvIC53cmFwcGVyIC5idG46aG92ZXIsIC5wcm9kdWN0cyAuZXN0aW1lb3ByYXpvIC53cmFwcGVyIC5idG46Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwNzk4ZTI7XG4gICAgICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucHJvZHVjdHMgLmVzdGltZW9wcmF6byBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgIG1hcmdpbjogMzhweCAwIDAgMzVweDsgfVxuICAucHJvZHVjdHMgLmNvZGVyb2NrcndheSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gICAgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlIGgyIHtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgbWFyZ2luOiAxMTBweCBhdXRvIDAgYXV0bzsgfVxuICAgIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMyB7XG4gICAgICBjb2xvcjogIzA3OThlMjtcbiAgICAgIGZvbnQ6IDMuMnJlbSBcImdvYm9sZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuMnJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDE1cHggMCA1MHB4IDA7IH1cbiAgICAgIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMzpiZWZvcmUsIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMzphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzk4ZTI7XG4gICAgICAgIHRvcDogMnJlbTtcbiAgICAgICAgbWF4LXdpZHRoOiA4MHB4OyB9XG4gICAgICAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgaDM6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG4gICAgICAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgaDM6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAgIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5wbHlyX19jb250cm9scyxcbiAgICAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAucGx5cl9fcGxheS1sYXJnZSB7XG4gICAgICB6LWluZGV4OiAwOyB9XG4gICAgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDsgfVxuICAgIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IHZpZGVvIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAudGV4dCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC50ZXh0IC5idG4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAyM3B4OyB9XG4gICAgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLmJ0biB7XG4gICAgICBjb2xvcjogIzA3OThlMjtcbiAgICAgIGJvcmRlci1jb2xvcjogIzA3OThlMjsgfVxuICAgICAgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLmJ0bjpob3ZlciwgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLmJ0bjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc5OGUyOyB9XG5cbi50ZXN0aW1vbmlhbHMge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOWVjZWY7XG4gIGJhY2tncm91bmQ6ICNmOGY5ZmE7XG4gIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9XG4gIC50ZXN0aW1vbmlhbHMgLmZvdG9yYW1hX19zdGFnZSB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4xcyBsaW5lYXI7IH1cbiAgICAudGVzdGltb25pYWxzIC5mb3RvcmFtYV9fc3RhZ2UgLmZvdG9yYW1hX19hcnIge1xuICAgICAgd2lkdGg6IDQ2cHg7XG4gICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICB0b3A6IDIwMHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDZweCA4NXB4OyB9XG4gICAgICAudGVzdGltb25pYWxzIC5mb3RvcmFtYV9fc3RhZ2UgLmZvdG9yYW1hX19hcnIuZm90b3JhbWFfX2Fyci0tcHJldiB7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAgIC50ZXN0aW1vbmlhbHMgLmZvdG9yYW1hX19zdGFnZSAuZm90b3JhbWFfX2Fyci5mb3RvcmFtYV9fYXJyLS1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDIwcHg7IH1cbiAgLnRlc3RpbW9uaWFscyAuZm90b3JhbWFfX25hdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IHRvcCAuMXMgbGluZWFyOyB9XG4gICAgLnRlc3RpbW9uaWFscyAuZm90b3JhbWFfX25hdiAuZm90b3JhbWFfX25hdl9fZnJhbWUtLWRvdCB7XG4gICAgICB3aWR0aDogOXB4O1xuICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjFhMTBhO1xuICAgICAgbWFyZ2luOiAwIDlweDsgfVxuICAgICAgLnRlc3RpbW9uaWFscyAuZm90b3JhbWFfX25hdiAuZm90b3JhbWFfX25hdl9fZnJhbWUtLWRvdC5mb3RvcmFtYV9fYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YxYTEwYTsgfVxuICAudGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnRlc3RpbW9uaWFscyAudGVzdGltb25pYWwgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmMWExMGE7XG4gICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAudGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbCBoMyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC02MHB4O1xuICAgICAgYmFja2dyb3VuZDogI2YxYTEwYTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICBmb250OiAyLjRyZW0gXCJnb2JvbGRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4ycmVtOyB9XG4gICAgLnRlc3RpbW9uaWFscyAudGVzdGltb25pYWwgaDQge1xuICAgICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgICBmb250OiAxLjhyZW0vMi44cmVtIFwiYWxsZXJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnRlc3RpbW9uaWFscyAudGVzdGltb25pYWwgYmxvY2txdW90ZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgZm9udC1mYW1pbHk6IFwiZ29ib2xkXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCIgXCLigJhcIiBcIuKAmVwiOyB9XG4gICAgICAudGVzdGltb25pYWxzIC50ZXN0aW1vbmlhbCBibG9ja3F1b3RlOjpiZWZvcmUsIC50ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFsIGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICBjb2xvcjogI2YxYTEwYTtcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTIuOHJlbTsgfVxuICAgICAgLnRlc3RpbW9uaWFscyAudGVzdGltb25pYWwgYmxvY2txdW90ZTpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBvcGVuLXF1b3RlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAgICAgLnRlc3RpbW9uaWFscyAudGVzdGltb25pYWwgYmxvY2txdW90ZTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwcHg7IH1cbiAgICAgIC50ZXN0aW1vbmlhbHMgLnRlc3RpbW9uaWFsIGJsb2NrcXVvdGUgcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTsgfVxuXG4uYXJ0aWNsZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAuYXJ0aWNsZXMgdWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmFydGljbGVzIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgcGFkZGluZzogMCAyNXB4OyB9XG4gICAgICAuYXJ0aWNsZXMgdWwgbGkgLmhlYWRlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICMxRDFEMUI7IH1cbiAgICAgICAgLmFydGljbGVzIHVsIGxpIC5oZWFkZXIgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuYXJ0aWNsZXMgdWwgbGkgLmhlYWRlciBoMiB7XG4gICAgICAgICAgZm9udDogMzAwIDNyZW0gXCJhbGxlclwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNC4ycmVtOyB9XG4gICAgICAgIC5hcnRpY2xlcyB1bCBsaSAuaGVhZGVyIGgzIHtcbiAgICAgICAgICBmb250OiA0MDAgMS44cmVtIFwiYWxsZXJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgICAgIC5hcnRpY2xlcyB1bCBsaSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgd2lkdGg6IDkwcHg7XG4gICAgICAgIGJvcmRlci10b3A6IDRweCBzb2xpZCAjZjFhMTBhO1xuICAgICAgICBtYXJnaW46IDE1cHggMCAxNXB4IDA7IH1cbiAgICAgIC5hcnRpY2xlcyB1bCBsaSAuYW5jaG9yIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgZm9udDogMS43cmVtIFwiYWxsZXJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjZjFhMTBhO1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YxYTEwYTtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4OyB9XG4gICAgICAgIC5hcnRpY2xlcyB1bCBsaSAuYW5jaG9yOmhvdmVyLCAuYXJ0aWNsZXMgdWwgbGkgLmFuY2hvcjpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICMxRDFEMUI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMUQxRDFCOyB9XG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICMxRDFEMUI7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBwYWRkaW5nOiAzM3B4IDA7IH1cbiAgZm9vdGVyIC5zb2NpYWwge1xuICAgIG1hcmdpbjogMjZweCAwIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIGZvb3RlciAuc29jaWFsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMCAxNHB4OyB9XG4gICAgICBmb290ZXIgLnNvY2lhbCBsaSBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAgICAgICBmb290ZXIgLnNvY2lhbCBsaSBhIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtOyB9XG4gICAgICAgIGZvb3RlciAuc29jaWFsIGxpIGE6aG92ZXIgc3BhbixcbiAgICAgICAgZm9vdGVyIC5zb2NpYWwgbGkgYTpmb2N1cyBzcGFuIHtcbiAgICAgICAgICBjb2xvcjogI2YxYTEwYTsgfVxuICAgICAgZm9vdGVyIC5zb2NpYWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50OyB9XG4gICAgICBmb290ZXIgLnNvY2lhbCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgZm9vdGVyIC50ZXh0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiA5cHggMzJweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICBmb290ZXIgLnRleHQgcCB7XG4gICAgICBmb250OiAzMDAgMS42cmVtLzIuNnJlbSBcImFsbGVyXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IH1cbiAgZm9vdGVyIGltZyB7XG4gICAgd2lkdGg6IDI4cHg7XG4gICAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbi5wc2V1ZG8sIC53aGF0LXdlLWRvIC5ibHVycmVkOmJlZm9yZSwgLndoYXQtd2UtZG8gaGVhZGVyOmFmdGVyLCAud2hhdC13ZS1kbyBzZWN0aW9uIC53cmFwcGVyOmFmdGVyLCAucHJvZHVjdHMgaGVhZGVyOmJlZm9yZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuY3Jvc3MtdGl0bGU6YWZ0ZXIsICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlIGgyOmFmdGVyLCAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGU6YWZ0ZXIsICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IC5jcm9zcy10aXRsZSBoMiBzcGFuOmFmdGVyLCAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGUgaDI6YWZ0ZXIsICNhYm91dCAuY29kZXJvY2tyIC5wcmluY2lwbGVzIC5jb250YWluZXI6YWZ0ZXIsIC5ncm91cCAuYmFyOmJlZm9yZSwgLmdyb3VwIC5iYXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJzsgfVxuXG4jY29udGFjdCA+IC5iYW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxMjUyOTtcbiAgbWF4LWhlaWdodDogNTUwcHg7XG4gIGhlaWdodDogNTUwcHg7XG4gIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9taWMtYmcuanBnXCIpIGJvdHRvbSBjZW50ZXI7XG4gIGJveC1zaGFkb3c6IGluc2V0IDBweCAtM3B4IDVweCAwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gICNjb250YWN0ID4gLmJhbm5lciBoMSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICBmb250OiA1cmVtLzkuNXJlbSBcImdvYm9sZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogLjRyZW07XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgbWFyZ2luOiAxMzJweCAwIDAgMTYwcHg7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4jY29udGFjdCAubGV0cy10YWxrIHtcbiAgcGFkZGluZy1ib3R0b206IDEwMHB4OyB9XG4gICNjb250YWN0IC5sZXRzLXRhbGsgaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjY29udGFjdCAubGV0cy10YWxrIGhlYWRlciAudGl0bGUsICNjb250YWN0IC5sZXRzLXRhbGsgaGVhZGVyIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMiwgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlICNjb250YWN0IC5sZXRzLXRhbGsgaGVhZGVyIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgaGVhZGVyIC50aXRsZSBzcGFuLCAjY29udGFjdCAubGV0cy10YWxrIGhlYWRlciAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgaDIgc3BhbiwgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlICNjb250YWN0IC5sZXRzLXRhbGsgaGVhZGVyIGgyIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgI2YxYTEwYTtcbiAgICAgICAgbWFyZ2luOiAxOXB4IGF1dG8gMCBhdXRvOyB9XG4gICAgI2NvbnRhY3QgLmxldHMtdGFsayBoZWFkZXIgcCBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYXV0bzsgfVxuICAjY29udGFjdCAubGV0cy10YWxrIC5jcm9zcy10aXRsZSB7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4ycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgICAjY29udGFjdCAubGV0cy10YWxrIC5jcm9zcy10aXRsZTphZnRlciB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmMWExMGE7IH1cbiAgICAjY29udGFjdCAubGV0cy10YWxrIC5jcm9zcy10aXRsZSBoMiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDEwcHg7IH1cbiAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlIGgyOmFmdGVyIHtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDI0MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZmZmZmZjsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuY3Jvc3MtdGl0bGUgaDIgLm51bWJlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtMzBweDtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGZvbnQ6IDhyZW0gXCJnb2JvbGRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIGNvbG9yOiAjZGVlMmU2OyB9XG4gICAgICAjY29udGFjdCAubGV0cy10YWxrIC5jcm9zcy10aXRsZSBoMiAudGl0bGUsICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlIGgyIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMiwgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlIGgyIGgyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250OiAzLjVyZW0vNS4ycmVtIFwiZ29ib2xkXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgI2NvbnRhY3QgLmxldHMtdGFsayAuY3Jvc3MtdGl0bGUubGVmdDphZnRlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgbWluLXdpZHRoOiAyNTVweDsgfVxuICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlLmxlZnQgaDIgLnRpdGxlLCAjY29udGFjdCAubGV0cy10YWxrIC5jcm9zcy10aXRsZS5sZWZ0IGgyIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMiwgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlLmxlZnQgaDIgaDIge1xuICAgICAgbGVmdDogNDFweDsgfVxuICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlLnJpZ2h0OmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWluLXdpZHRoOiAzNTVweDsgfVxuICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlLnJpZ2h0IGgyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlLnJpZ2h0IGgyOmFmdGVyIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDMzOHB4OyB9XG4gICAgICAjY29udGFjdCAubGV0cy10YWxrIC5jcm9zcy10aXRsZS5yaWdodCBoMiAubnVtYmVyIHtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlLnJpZ2h0IGgyIC50aXRsZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuY3Jvc3MtdGl0bGUucmlnaHQgaDIgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlIGgyLCAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgI2NvbnRhY3QgLmxldHMtdGFsayAuY3Jvc3MtdGl0bGUucmlnaHQgaDIgaDIge1xuICAgICAgICByaWdodDogMzlweDsgfVxuICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC15b3Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogNDVweCAwOyB9XG4gICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IGgzIHtcbiAgICAgIGZvbnQ6IDNyZW0gXCJhbGxlclwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmxpc3Qge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubGlzdCB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5saXN0IHVsIGxpIHtcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLXJhZGlvLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3gge1xuICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgbWFyZ2luOiAxMnB4IDA7XG4gICAgICBsaW5lLWhlaWdodDogMzdweDtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLXJhZGlvIGlucHV0LCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1yYWRpbyBpbnB1dDpmb2N1cyB+IC5tZGwtcmFkaW9fX2xhYmVsLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggaW5wdXQ6Zm9jdXMgfiAubWRsLXJhZGlvX19sYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICNmMWExMGE7IH1cbiAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1yYWRpbyAubWRsLXJhZGlvX19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1yYWRpb19fcmlwcGxlLWNvbnRhaW5lciAubWRsLXJpcHBsZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX3JpcHBsZS1jb250YWluZXIgLm1kbC1yaXBwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjFhMTBhOyB9XG4gICAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtcmFkaW8gLm1kbC1yYWRpb19fbGFiZWwsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveCAubWRsLXJhZGlvX19sYWJlbCB7XG4gICAgICAgIGZvbnQ6IDMwMCAyLjJyZW0gXCJhbGxlclwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLXJhZGlvIC5tZGwtcmFkaW9fX291dGVyLWNpcmNsZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtcmFkaW9fX291dGVyLWNpcmNsZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX2JveC1vdXRsaW5lIHtcbiAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZjFhMTBhOyB9XG4gICAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtcmFkaW8gLm1kbC1yYWRpb19faW5uZXItY2lyY2xlLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgIGxlZnQ6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYTEwYTsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLXJhZGlvIC5tZGwtcmFkaW9fX3JpcHBsZS1jb250YWluZXIsICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveCAubWRsLXJhZGlvX19yaXBwbGUtY29udGFpbmVyLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1jaGVja2JveF9fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiA2MXB4O1xuICAgICAgICBoZWlnaHQ6IDYxcHg7XG4gICAgICAgIHRvcDogLTE0cHg7XG4gICAgICAgIGxlZnQ6IC0xOHB4OyB9XG4gICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IHtcbiAgICAgIHRvcDogMXB4OyB9XG4gICAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3guaXMtdXBncmFkZWQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7IH1cbiAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveC5pcy1mb2N1c2VkIC5tZGwtY2hlY2tib3hfX2xhYmVsIHtcbiAgICAgICAgY29sb3I6ICNmMWExMGE7IH1cbiAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLm1kbC1jaGVja2JveCAubWRsLWNoZWNrYm94X19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YxYTEwYTsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX2xhYmVsIHtcbiAgICAgICAgZm9udDogMzAwIDIuMnJlbSBcImFsbGVyXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG4gICAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3ggLm1kbC1jaGVja2JveF9fYm94LW91dGxpbmUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5tZGwtY2hlY2tib3guaXMtY2hlY2tlZCAubWRsLWNoZWNrYm94X19ib3gtb3V0bGluZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2YxYTEwYTsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94LmlzLWNoZWNrZWQgLm1kbC1jaGVja2JveF9fdGljay1vdXRsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYTEwYTsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAubWRsLWNoZWNrYm94IC5tZGwtY2hlY2tib3hfX2ZvY3VzLWhlbHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLnNsaWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogNTBweCAwIDQwcHggMDsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAuc2xpZGVyIGxhYmVsIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250OiAxLjg1cmVtIFwiYWxsZXJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMXB4OyB9XG4gICAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5zbGlkZXIgLmlucHV0IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMTNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAuc2xpZGVyIC5ub1VpLXRhcmdldCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5zbGlkZXIgLm5vVWktdGFyZ2V0Lm5vVWktaG9yaXpvbnRhbCB7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7IH1cbiAgICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAuc2xpZGVyIC5ub1VpLXRhcmdldCAubm9VaS1oYW5kbGUge1xuICAgICAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgICBsZWZ0OiAtMTNweDtcbiAgICAgICAgICB0b3A6IC0xMXB4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBib3gtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYTEwYTtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogd2lkdGgsIGhlaWdodCwgdG9wO1xuICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4wNHM7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjsgfVxuICAgICAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLnNsaWRlciAubm9VaS10YXJnZXQgLm5vVWktaGFuZGxlLm5vVWktYWN0aXZlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgdG9wOiAtMTNweDsgfVxuICAgICAgICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLnNsaWRlciAubm9VaS10YXJnZXQgLm5vVWktaGFuZGxlOmFmdGVyLCAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5zbGlkZXIgLm5vVWktdGFyZ2V0IC5ub1VpLWhhbmRsZTpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5zbGlkZXIgLm5vVWktdGFyZ2V0IC5ub1VpLWNvbm5lY3Qge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNmMWExMGE7XG4gICAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmRlYWRsaW5lIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAuYnVkZ2V0IC5pbnB1dCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNTlweDsgfVxuICAgICNjb250YWN0IC5sZXRzLXRhbGsgLmFib3V0LXByb2plY3QgLmRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICAjY29udGFjdCAubGV0cy10YWxrIC5hYm91dC1wcm9qZWN0IC5idG4ge1xuICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgcGFkZGluZzogMTJweCA0MHB4IDExcHggNDBweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcixjb2xvcjtcbiAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC4xMnM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICAgICAgI2NvbnRhY3QgLmxldHMtdGFsayAuYWJvdXQtcHJvamVjdCAuYnRuOmFjdGl2ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cblxuI2FkZHJlc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWVjZWY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjYWRkcmVzcyAjbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21hcC1iZy5qcGdcIikgdG9wIGNlbnRlciBuby1yZXBlYXQ7IH1cbiAgI2FkZHJlc3MgLmNhcmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgbWFyZ2luLXRvcDogLTQ3MnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBib3gtc2hhZG93OiAxcHggMXB4IDNweCAwcHggcmdiYSgxNzUsIDE3NSwgMTc1LCAwLjM1KTsgfVxuICAgICNhZGRyZXNzIC5jYXJkIC50aXRsZSwgI2FkZHJlc3MgLmNhcmQgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlIGgyLCAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgI2FkZHJlc3MgLmNhcmQgaDIge1xuICAgICAgZm9udDogMy41cmVtLzUuMnJlbSBcImdvYm9sZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIG1hcmdpbjogMTJweCAwIDIycHggMCAhaW1wb3J0YW50OyB9XG4gICAgICAjYWRkcmVzcyAuY2FyZCAudGl0bGUgc3BhbiwgI2FkZHJlc3MgLmNhcmQgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlIGgyIHNwYW4sIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSAjYWRkcmVzcyAuY2FyZCBoMiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNjBweDtcbiAgICAgICAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNmMWExMGE7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDAgYXV0bzsgfVxuICAgICNhZGRyZXNzIC5jYXJkIHAge1xuICAgICAgZm9udC1zaXplOiAyLjJyZW07IH1cbiAgICAgICNhZGRyZXNzIC5jYXJkIHAuc3Ryb25nIHtcbiAgICAgICAgZm9udDogNDAwIDIuMnJlbSBcImFsbGVyXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmOyB9XG5cbi5wc2V1ZG8sIC53aGF0LXdlLWRvIC5ibHVycmVkOmJlZm9yZSwgLndoYXQtd2UtZG8gaGVhZGVyOmFmdGVyLCAud2hhdC13ZS1kbyBzZWN0aW9uIC53cmFwcGVyOmFmdGVyLCAucHJvZHVjdHMgaGVhZGVyOmJlZm9yZSwgI2NvbnRhY3QgLmxldHMtdGFsayAuY3Jvc3MtdGl0bGU6YWZ0ZXIsICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlIGgyOmFmdGVyLCAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGU6YWZ0ZXIsICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IC5jcm9zcy10aXRsZSBoMiBzcGFuOmFmdGVyLCAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGUgaDI6YWZ0ZXIsICNhYm91dCAuY29kZXJvY2tyIC5wcmluY2lwbGVzIC5jb250YWluZXI6YWZ0ZXIsIC5ncm91cCAuYmFyOmJlZm9yZSwgLmdyb3VwIC5iYXI6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb250ZW50OiAnJzsgfVxuXG4jYWJvdXQgLmJhbm5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTllY2VmO1xuICBtYXgtaGVpZ2h0OiA1NTBweDtcbiAgaGVpZ2h0OiA1NTBweDtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3doaXRlX3dhbGwucG5nXCIpIHJlcGVhdDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0zcHggNXB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cbiAgI2Fib3V0IC5iYW5uZXIgLnN1YnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA3MHB4IDAgMCAwOyB9XG4gICAgI2Fib3V0IC5iYW5uZXIgLnN1YnRpdGxlIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogNC41cmVtOyB9XG4gICAgI2Fib3V0IC5iYW5uZXIgLnN1YnRpdGxlIHNwYW4ge1xuICAgICAgd2lkdGg6IDMwMHB4OyB9XG5cbiNhYm91dCAucGhvdG9zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDA7XG4gIG1hcmdpbjogLTM0NXB4IDAgNTVweCAwOyB9XG4gICNhYm91dCAucGhvdG9zIC5yb3cge1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICBtaW4taGVpZ2h0OiAyMDVweDsgfVxuICAgICNhYm91dCAucGhvdG9zIC5yb3cgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4jYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSB7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG4gICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IC5jcm9zcy10aXRsZSB7XG4gICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4ycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGU6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZjFhMTBhO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMHB4OyB9XG4gICAgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3RvcnkgLmNyb3NzLXRpdGxlIGgyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIGhlaWdodDogNTVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTUwcHg7IH1cbiAgICAgICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IC5jcm9zcy10aXRsZSBoMiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3RvcnkgLmNyb3NzLXRpdGxlIGgyIHNwYW46YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAyMjRweDtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYm90dG9tOiAtNnB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZjFhMTBhOyB9XG4gICAgICAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGUgaDI6YWZ0ZXIge1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMzc0cHg7XG4gICAgICAgIGJvdHRvbTogLTNweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmZmZmZmY7IH1cbiAgICAgICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IC5jcm9zcy10aXRsZSBoMiAubnVtYmVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0zMHB4O1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgZm9udDogOHJlbSBcImdvYm9sZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgICAgY29sb3I6ICNkZWUyZTY7IH1cbiAgICAgICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IC5jcm9zcy10aXRsZSBoMiAudGl0bGUsICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IC5jcm9zcy10aXRsZSBoMiAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgaDIsIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGUgaDIgaDIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQ6IDMuNXJlbS81LjJyZW0gXCJnb2JvbGRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgICAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGUubGVmdDphZnRlciB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IC5sb2dvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAubG9nbyBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgIG1hcmdpbjogMTMwcHggMCA5MHB4IDA7IH1cbiAgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3RvcnkgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IHAgaSB7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG5cbiNhYm91dCAuY29kZXJvY2tyIC5wcmluY2lwbGVzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOWVjZWY7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZjFmM2Y1O1xuICBwYWRkaW5nLXRvcDogNjVweDsgfVxuICAjYWJvdXQgLmNvZGVyb2NrciAucHJpbmNpcGxlcyAuY29udGFpbmVyOmFmdGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U5ZWNlZjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEzM3B4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMTMzcHg7IH1cbiAgI2Fib3V0IC5jb2Rlcm9ja3IgLnByaW5jaXBsZXMgLmNvbnRhaW5lciB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjYWJvdXQgLmNvZGVyb2NrciAucHJpbmNpcGxlcyAuY29udGFpbmVyIHVsIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3MHB4OyB9XG4gICAgICAjYWJvdXQgLmNvZGVyb2NrciAucHJpbmNpcGxlcyAuY29udGFpbmVyIHVsIGxpIGgzIHtcbiAgICAgICAgZm9udDogMy41cmVtLzUuMnJlbSBcImdvYm9sZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjsgfVxuICAgICAgICAjYWJvdXQgLmNvZGVyb2NrciAucHJpbmNpcGxlcyAuY29udGFpbmVyIHVsIGxpIGgzOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgbWFyZ2luOiAxNXB4IGF1dG8gMTZweCBhdXRvO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZjFhMTBhOyB9XG4gICNhYm91dCAuY29kZXJvY2tyIC5wcmluY2lwbGVzIC5jb250YWluZXIgaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDU0NHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9yb2Nrc3Rhci5qcGdcIikgYm90dG9tIGNlbnRlcjsgfVxuICAgICNhYm91dCAuY29kZXJvY2tyIC5wcmluY2lwbGVzIC5jb250YWluZXIgaGVhZGVyIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgbWFyZ2luOiAxMTBweCAwIDAgODBweDtcbiAgICAgIGZvbnQ6IDQuNXJlbS84cmVtIFwiZ29ib2xkXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC40cmVtO1xuICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggNXB4IHJnYmEoMCwgMCwgMCwgMC4zKTsgfVxuXG4jYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93ID4gLnN1YnRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDk1cHggMCA2MHB4IDA7IH1cbiAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IC5zdWJ0aXRsZSBoMiB7XG4gICAgZm9udC1zaXplOiA0LjVyZW07IH1cbiAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IC5zdWJ0aXRsZSBzcGFuIHtcbiAgICB3aWR0aDogMzAwcHg7IH1cblxuI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IHVsIHtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93ID4gdWwgbGk6bnRoLWNoaWxkKGV2ZW4pIC5wZXJzb24ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuICAgICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgPiB1bCBsaTpudGgtY2hpbGQoZXZlbikgLnBlcnNvbiAucHJvZmlsZSAuc3VidGl0bGUsXG4gICAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IHVsIGxpOm50aC1jaGlsZChldmVuKSAucGVyc29uIC5wcm9maWxlIHAge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93ID4gdWwgbGk6bnRoLWNoaWxkKGV2ZW4pIC5wZXJzb24gLnByb2ZpbGUgYSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IHVsIGxpIC5wZXJzb24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93ID4gdWwgbGkgLnBlcnNvbiAuYXZhdGFyIHtcbiAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgIG1hcmdpbjogMTBweCAzMHB4IDAgMzBweDsgfVxuICAgICAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IHVsIGxpIC5wZXJzb24gLmF2YXRhciAuc2hhZG93IHtcbiAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMikgM3B4IDNweCAxMHB4IGluc2V0OyB9XG4gICAgICAgICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgPiB1bCBsaSAucGVyc29uIC5hdmF0YXIgLnNoYWRvdyBpbWcge1xuICAgICAgICAgIHdpZHRoOiAyMTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAgICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgPiB1bCBsaSAucGVyc29uIC5hdmF0YXIgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93ID4gdWwgbGkgLnBlcnNvbiAuYXZhdGFyIHVsIGxpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyOHB4OyB9XG4gICAgICAgICAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IHVsIGxpIC5wZXJzb24gLmF2YXRhciB1bCBsaSBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi44cmVtO1xuICAgICAgICAgICAgY29sb3I6ICNmMWExMGE7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4OyB9XG4gICAgICAgICAgICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93ID4gdWwgbGkgLnBlcnNvbiAuYXZhdGFyIHVsIGxpIGE6aG92ZXIsICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgPiB1bCBsaSAucGVyc29uIC5hdmF0YXIgdWwgbGkgYTpmb2N1cyB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwOyB9XG4gICAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IHVsIGxpIC5wZXJzb24gLnByb2ZpbGUge1xuICAgICAgbWFyZ2luOiAwIDMwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IHVsIGxpIC5wZXJzb24gLnByb2ZpbGUgLnN1YnRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICAgICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93ID4gdWwgbGkgLnBlcnNvbiAucHJvZmlsZSAuc3VidGl0bGUgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi43cmVtOyB9XG4gICAgICAgICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgPiB1bCBsaSAucGVyc29uIC5wcm9maWxlIC5zdWJ0aXRsZSBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICBtYXJnaW46IDIycHggMCAxMHB4IDA7XG4gICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmMWExMGE7IH1cbiAgICAgICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgPiB1bCBsaSAucGVyc29uIC5wcm9maWxlIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQ6IDJyZW0vMi41cmVtIFwiZ29ib2xkXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjFyZW07XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICNmMWExMGE7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjFhMTBhO1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7IH1cbiAgICAgICAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IHVsIGxpIC5wZXJzb24gLnByb2ZpbGUgYTpob3ZlciwgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IHVsIGxpIC5wZXJzb24gLnByb2ZpbGUgYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICMxRDFEMUI7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMUQxRDFCOyB9XG4gICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgPiB1bCBsaSAuc3RhcnMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDU1cHggMCA3MHB4IDA7XG4gICAgZm9udC1zaXplOiAxLjZyZW07IH1cblxuI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyBoMyB7XG4gIGNsZWFyOiBib3RoO1xuICBjb2xvcjogIzFEMUQxQjtcbiAgZm9udDogMy41cmVtLzUuMnJlbSBcImdvYm9sZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgbGV0dGVyLXNwYWNpbmc6IC4ycmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDEwMHB4IDA7IH1cbiAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyBoMzpiZWZvcmUsICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgaDM6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxYTEwYTtcbiAgICB0b3A6IDIuNHJlbTtcbiAgICBtYXgtd2lkdGg6IDgwcHg7IH1cbiAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyBoMzpiZWZvcmUge1xuICAgIG1hcmdpbi1yaWdodDogMnJlbTsgfVxuICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93IGgzOmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMnJlbTsgfVxuXG4jbWFpbi1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDEwMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAvKiBzbGlnaHRseSB2aXNpYmxlIG9ubHkgd2hlbiB3ZSByZXNpemUgdGhpcyBlbGVtZW50ICovXG4gIGJveC1zaGFkb3c6IDAgMCA0MHB4IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgei1pbmRleDogMTtcbiAgLyogRm9yY2UgSGFyZHdhcmUgQWNjZWxlcmF0aW9uIGluIFdlYktpdCAqL1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7IH1cblxuI21haW4tY29udGVudC5tb3ZlLW91dCB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLm5vLWpzICNtYWluLWNvbnRlbnQge1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cblxuI21lbnUtbW9iaWxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAvKiBGb3JjZSBIYXJkd2FyZSBBY2NlbGVyYXRpb24gaW4gV2ViS2l0ICovXG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLyogd2UgbW92ZSB0aGlzIGVsZW1lbnQgb2ZmIHRoZSBjYW52YXMgKi9cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xuICB6LWluZGV4OiAzOyB9XG4gICNtZW51LW1vYmlsZSB1bCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gICNtZW51LW1vYmlsZSBsaSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAyOHB4IDA7IH1cbiAgICAjbWVudS1tb2JpbGUgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YxYTEwYTtcbiAgICAgIGZvbnQ6IDJyZW0gXCJhbGxlclwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogIzAwMDAwMDsgfVxuICAjbWVudS1tb2JpbGUgLmNsb3NlLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDI1cHg7XG4gICAgcmlnaHQ6IDE5cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICAjbWVudS1tb2JpbGUgLmNsb3NlLW1lbnUgaW1nIHtcbiAgICAgIHdpZHRoOiAyNnB4OyB9XG5cbi5uby10b3VjaCAjbWVudS1tb2JpbGUgbGkgYTpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmZmZmZjsgfVxuXG4jbWVudS1tb2JpbGUuaXMtdmlzaWJsZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAyMHB4IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5uby1qcyAjbWVudS1tb2JpbGUge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLm5vLWpzICNtZW51LW1vYmlsZSAuY2xvc2UtbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNoYWRvdy1sYXllciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHotaW5kZXg6IDI7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAwLjVzLCBvcGFjaXR5IDAuNXMgMHM7IH1cblxuLnNoYWRvdy1sYXllci5pcy12aXNpYmxlIHtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbi1kZWxheTogMHM7IH1cblxuLmdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDMwcHggMDtcbiAgZm9udDogMi4ycmVtIFwiYWxsZXJcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7IH1cbiAgLmdyb3VwIGlucHV0IHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggNXB4IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzFEMUQxQjsgfVxuICAgIC5ncm91cCBpbnB1dDpmb2N1cyB+IGxhYmVsLFxuICAgIC5ncm91cCBpbnB1dDp2YWxpZCB+IGxhYmVsIHtcbiAgICAgIHRvcDogLTIwcHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGNvbG9yOiAjODY4ZTk2OyB9XG4gICAgLmdyb3VwIGlucHV0IGlucHV0OmZvY3VzIH4gLmhpZ2hsaWdodCB7XG4gICAgICBhbmltYXRpb246IGlucHV0SGlnaGxpZ2h0ZXIgMC4zcyBlYXNlOyB9XG4gICAgLmdyb3VwIGlucHV0OmZvY3VzIH4gLmJhcjpiZWZvcmUsXG4gICAgLmdyb3VwIGlucHV0OmZvY3VzIH4gLmJhcjphZnRlciB7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmdyb3VwIGlucHV0OmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmdyb3VwIC5oaWdobGlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDYwJTtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgdG9wOiAyNSU7XG4gICAgbGVmdDogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmdyb3VwIC5iYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ncm91cCAuYmFyOmJlZm9yZSwgLmdyb3VwIC5iYXI6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmMWExMGE7XG4gICAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UgYWxsOyB9XG4gICAgLmdyb3VwIC5iYXI6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDUwJTsgfVxuICAgIC5ncm91cCAuYmFyOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiA1MCU7IH1cbiAgLmdyb3VwIGxhYmVsIHtcbiAgICBjb2xvcjogIzg2OGU5NjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBsZWZ0OiA1cHg7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZSBhbGw7IH1cblxuQGtleWZyYW1lcyBpbnB1dEhpZ2hsaWdodGVyIHtcbiAgZnJvbSB7XG4gICAgYmFja2dyb3VuZDogIzUyNjRBRTsgfVxuICB0byB7XG4gICAgd2lkdGg6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH0gfVxuXG4ucHNldWRvLCAud2hhdC13ZS1kbyAuYmx1cnJlZDpiZWZvcmUsIC53aGF0LXdlLWRvIGhlYWRlcjphZnRlciwgLndoYXQtd2UtZG8gc2VjdGlvbiAud3JhcHBlcjphZnRlciwgLnByb2R1Y3RzIGhlYWRlcjpiZWZvcmUsICNjb250YWN0IC5sZXRzLXRhbGsgLmNyb3NzLXRpdGxlOmFmdGVyLCAjY29udGFjdCAubGV0cy10YWxrIC5jcm9zcy10aXRsZSBoMjphZnRlciwgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3RvcnkgLmNyb3NzLXRpdGxlOmFmdGVyLCAjYWJvdXQgLmNvZGVyb2NrciAuaGlzdG9yeSAuY3Jvc3MtdGl0bGUgaDIgc3BhbjphZnRlciwgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3RvcnkgLmNyb3NzLXRpdGxlIGgyOmFmdGVyLCAjYWJvdXQgLmNvZGVyb2NrciAucHJpbmNpcGxlcyAuY29udGFpbmVyOmFmdGVyLCAuZ3JvdXAgLmJhcjpiZWZvcmUsIC5ncm91cCAuYmFyOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29udGVudDogJyc7IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDgwcHgpIHtcbiAgI2Fib3V0IC5waG90b3MgLnJvdyAucGljLTMsICNhYm91dCAucGhvdG9zIC5yb3cgLnBpYy00LFxuICAjYWJvdXQgLnBob3RvcyAucm93IC5waWMtOSwgI2Fib3V0IC5waG90b3MgLnJvdyAucGljLTAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKj09PT09PT09PT0gIE5vbi1Nb2JpbGUgRmlyc3QgTWV0aG9kICA9PT09PT09PT09Ki9cbi8qIExhcmdlIERldmljZXMsIFdpZGUgU2NyZWVucyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgI2hvbWUgPiAuYmFubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jcm93ZC1sZy5qcGdcIikgYm90dG9tIGNlbnRlcjsgfVxuICAgICNob21lID4gLmJhbm5lciBoMSB7XG4gICAgICBmb250LXNpemU6IDMuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3LjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiA1NnB4OyB9XG4gICNjb250YWN0ID4gLmJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgaGVpZ2h0OiA1MDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbWljLWxnLmpwZ1wiKSBib3R0b20gY2VudGVyOyB9XG4gICAgI2NvbnRhY3QgPiAuYmFubmVyIGgxIHtcbiAgICAgIG1hcmdpbjogMTA1cHggMCAwIDEwMHB4OyB9XG4gIC53aGF0LXdlLWRvIGhlYWRlciBoMyB7XG4gICAgZm9udC1zaXplOiAzcmVtOyB9XG4gIC53aGF0LXdlLWRvIC5kZXZlbG9wbWVudCBoMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLndoYXQtd2UtZG8gaDIge1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7IH1cbiAgLnRlYW0gaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtMzU2cHggIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAxMHB4KSB7XG4gICNhYm91dCAucGhvdG9zIC5yb3cge1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgICNhYm91dCAucGhvdG9zIC5yb3cgLnBpYy0yLCAjYWJvdXQgLnBob3RvcyAucm93IC5waWMtMywgI2Fib3V0IC5waG90b3MgLnJvdyAucGljLTQsXG4gICAgI2Fib3V0IC5waG90b3MgLnJvdyAucGljLTgsICNhYm91dCAucGhvdG9zIC5yb3cgLnBpYy05LCAjYWJvdXQgLnBob3RvcyAucm93IC5waWMtMCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyogTWVkaXVtIERldmljZXMsIERlc2t0b3BzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7XG4gIC5ncm91cCB7XG4gICAgbWFyZ2luOiA2MHB4IDAgMzBweCAwICFpbXBvcnRhbnQ7IH1cbiAgI2Fib3V0IC5jb2Rlcm9ja3IgLmNyb3NzLXRpdGxlIGgyIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI2Fib3V0IC5jb2Rlcm9ja3IgLmNyb3NzLXRpdGxlIGgyOmFmdGVyIHtcbiAgICAgIGxlZnQ6IDQ3MHB4ICFpbXBvcnRhbnQ7IH1cbiAgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3Rvcnkge1xuICAgIHBhZGRpbmctYm90dG9tOiA0NXB4OyB9XG4gICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IC5sb2dvIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICBtYXJnaW46IDc1cHggMCA2MHB4IDA7IH1cbiAgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3RvcnkgcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNhYm91dCAuY29kZXJvY2tyIC5wcmluY2lwbGVzIHtcbiAgICBwYWRkaW5nLXRvcDogNThweDsgfVxuICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93ID4gLnN1YnRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA4NXB4IDAgNDVweCAwOyB9XG4gICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgPiB1bCBsaSAuc3RhcnMge1xuICAgIHBhZGRpbmc6IDQ1cHggMCA2MHB4IDA7IH1cbiAgI2Fib3V0IC5jb2Rlcm9ja3IgLnByaW5jaXBsZXMgLmNvbnRhaW5lciB1bCBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNThweDsgfVxuICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93IGgzIHtcbiAgICBtYXJnaW46IDgwcHggMDsgfVxuICAudGVhbSBoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6IC0xMTJweCAhaW1wb3J0YW50OyB9XG4gICNoZWFkZXIgbmF2IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNob21lID4gLmJhbm5lciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2Nyb3dkLW1kLmpwZ1wiKSBib3R0b20gY2VudGVyOyB9XG4gICNjb250YWN0ID4gLmJhbm5lciB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL21pYy1tZC5qcGdcIikgYm90dG9tIGNlbnRlcjsgfVxuICAud2hhdC13ZS1kbyBoZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAud2hhdC13ZS1kbyBoZWFkZXIgaDMge1xuICAgICAgZm9udC1zaXplOiAyLjhyZW07IH1cbiAgLndoYXQtd2UtZG8gLnRpdGxlLCAud2hhdC13ZS1kbyAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgaDIsIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSAud2hhdC13ZS1kbyBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAud2hhdC13ZS1kbyAud3JhcHBlcjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC53aGF0LXdlLWRvIC5zZXJ2aWNlIHtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAzMHB4IDAgIWltcG9ydGFudDsgfVxuICAud2hhdC13ZS1kbyAubGVmdCBoMiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtLjRyZW0gIWltcG9ydGFudDsgfVxuICAudGl0bGUsIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMiB7XG4gICAgbWFyZ2luOiA4MHB4IDAgNjBweCAwOyB9XG4gIC5jb2Rlcm9ja3J3YXkgLnRpdGxlLCAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgaDIge1xuICAgIG1hcmdpbjogODBweCAwIDE1cHggMDsgfVxuICAuY29kZXJvY2tyd2F5IGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4ICFpbXBvcnRhbnQ7IH1cbiAgLmNvZGVyb2NrcndheSAudGV4dCxcbiAgLmNvZGVyb2NrcndheSAucGx5ciB7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmNvZGVyb2NrcndheSAudGV4dCB7XG4gICAgbWFyZ2luLXRvcDogMjVweCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZm9vdGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAjZm9vdGVyIGltZyB7XG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIG1hcmdpbjogMzVweCBhdXRvOyB9XG4gICAgI2Zvb3RlciAudGV4dCB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH0gfVxuXG4vKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNhYm91dCAucGhvdG9zIC5yb3cgLmltZy1yZXNwb25zaXZlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgI2Fib3V0IC5waG90b3MgLnJvdyAucGljLTEsICNhYm91dCAucGhvdG9zIC5yb3cgLnBpYy0yLCAjYWJvdXQgLnBob3RvcyAucm93IC5waWMtMywgI2Fib3V0IC5waG90b3MgLnJvdyAucGljLTQsXG4gICNhYm91dCAucGhvdG9zIC5yb3cgLnBpYy03LCAjYWJvdXQgLnBob3RvcyAucm93IC5waWMtOCwgI2Fib3V0IC5waG90b3MgLnJvdyAucGljLTksICNhYm91dCAucGhvdG9zIC5yb3cgLnBpYy0wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNhYm91dCAucHJpbmNpcGxlcyBoZWFkZXIgc3BhbiB7XG4gICAgZm9udC1zaXplOiAzLjVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogN3JlbSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzMzBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogNjJweCAwIDAgNDBweCAhaW1wb3J0YW50OyB9XG4gICNhYm91dCAucGVyc29uIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI2Fib3V0IC5wZXJzb24gLnByb2ZpbGUgLnN1YnRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50OyB9XG4gICNob21lID4gLmJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDUwcHg7XG4gICAgaGVpZ2h0OiA0NTBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY3Jvd2Qtc20uanBnXCIpIGJvdHRvbSBjZW50ZXI7IH1cbiAgICAjaG9tZSA+IC5iYW5uZXIgaDEge1xuICAgICAgZm9udC1zaXplOiAzcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDcuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDcycHg7IH1cbiAgI2NvbnRhY3QgPiAuYmFubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0NTBweDtcbiAgICBoZWlnaHQ6IDQ1MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9taWMtc20uanBnXCIpIGJvdHRvbSBjZW50ZXI7IH1cbiAgICAjY29udGFjdCA+IC5iYW5uZXIgaDEge1xuICAgICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICAgIGZvbnQtc2l6ZTogNHJlbTtcbiAgICAgIG1hcmdpbjogODVweCBhdXRvIDAgYXV0bzsgfVxuICAud2hhdC13ZS1kbyAuYmx1cnJlZCxcbiAgLndoYXQtd2UtZG8gLmJsdXJyZWQ6YmVmb3JlLFxuICAud2hhdC13ZS1kbyBoZWFkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLndoYXQtd2UtZG8gc2VjdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAucHJvZHVjdHMgaGVhZGVyIHtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNTAwcHggIWltcG9ydGFudDsgfVxuICAgIC5wcm9kdWN0cyBoZWFkZXI6YmVmb3JlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZ3JhcGhzLnBuZ1wiKSBjZW50ZXIgLTM2cHggbm8tcmVwZWF0OyB9XG4gIC5wcm9kdWN0cyAuZXN0aW1lb3ByYXpvIC53cmFwcGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLnByb2R1Y3RzIC5lc3RpbWVvcHJhem8gLndyYXBwZXIgLnN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAucHJvZHVjdHMgLmVzdGltZW9wcmF6byAud3JhcHBlciBwIHtcbiAgICAgIHdpZHRoOiBpbml0aWFsO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5wcm9kdWN0cyAuZXN0aW1lb3ByYXpvIGltZyB7XG4gICAgbWFyZ2luOiA0MHB4IGF1dG8gMCBhdXRvO1xuICAgIGZsb2F0OiBub25lOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDhweCkge1xuICAjaG9tZSA+IC5iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBsaW5lLWhlaWdodDogNnJlbTsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIHtcbiAgI2hvbWUgPiAuYmFubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICBoZWlnaHQ6IDQwMHB4OyB9XG4gICAgI2hvbWUgPiAuYmFubmVyIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDUuNXJlbTtcbiAgICAgIG1hcmdpbjogMzRweCAzMHB4IDAgMzBweDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTUwcHgpIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSB7XG4gICNob21lID4gLmJhbm5lciB7XG4gICAgbWF4LWhlaWdodDogMzU1cHg7XG4gICAgaGVpZ2h0OiAzNTVweDsgfSB9XG5cbi8qIEV4dHJhIFNtYWxsIERldmljZXMsIFBob25lcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAjaG9tZSA+IC5iYW5uZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jcm93ZC14cy5qcGdcIikgYm90dG9tIGNlbnRlcjsgfVxuICAjY29udGFjdCA+IC5iYW5uZXIge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9taWMteHMuanBnXCIpIGJvdHRvbSBjZW50ZXI7IH1cbiAgICAjY29udGFjdCA+IC5iYW5uZXIgaDEge1xuICAgICAgbWFyZ2luOiA1NXB4IGF1dG8gMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4LjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnRpdGxlLCAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgaDIge1xuICAgIGZvbnQtc2l6ZTogMy44cmVtOyB9XG4gIC5zdWJ0aXRsZSBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgLndoYXQtd2UtZG8gaDQge1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDsgfVxuICAud2hhdC13ZS1kbyAuc2VydmljZSB7XG4gICAgbWFyZ2luOiAxOHB4IDAgIWltcG9ydGFudDsgfVxuICAud2hhdC13ZS1kbyAuc2VydmljZTpudGgtY2hpbGQoMW4pIHtcbiAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDsgfVxuICAud2hhdC13ZS1kbyAuYnRuIHtcbiAgICBmb250LXNpemU6IDEuNnJlbSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDEzcHggMTVweCAhaW1wb3J0YW50OyB9XG4gICNhYm91dCAucHJpbmNpcGxlcyBoZWFkZXIgc3BhbiB7XG4gICAgZm9udC1zaXplOiAzLjVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogN3JlbSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzMzBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogNjJweCAwIDAgNDBweCAhaW1wb3J0YW50OyB9XG4gIC5wcm9kdWN0cyBoZWFkZXIge1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiA0MDBweCAhaW1wb3J0YW50OyB9XG4gICAgLnByb2R1Y3RzIGhlYWRlcjpiZWZvcmUge1xuICAgICAgbWF4LWhlaWdodDogNDAwcHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNDAwcHggIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9ncmFwaHMucG5nXCIpIGNlbnRlciAtMTMwcHggbm8tcmVwZWF0OyB9XG4gIC5wcm9kdWN0cyAuZXN0aW1lb3ByYXpvIHtcbiAgICBtYXJnaW4tdG9wOiA1NXB4ICFpbXBvcnRhbnQ7IH1cbiAgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkge1xuICAgIHBhZGRpbmctYm90dG9tOiA4MHB4OyB9XG4gICAgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgaDMge1xuICAgICAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IGgzOmJlZm9yZSwgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgaDM6YWZ0ZXIge1xuICAgICAgICB0b3A6IDEuMnJlbSAhaW1wb3J0YW50OyB9XG4gIC5wcm9kdWN0cyAudGl0bGUsIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMiB7XG4gICAgbWFyZ2luOiA2MnB4IGF1dG8gMjBweCBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgLmZvdG9yYW1hX19hcnIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAjZm9vdGVyIGxpIHtcbiAgICBtYXJnaW46IDAgMTBweDsgfVxuICAgICNmb290ZXIgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgICNmb290ZXIgbGk6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDY1cHgpIHtcbiAgLnRpdGxlLCAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgaDIge1xuICAgIG1hcmdpbjogNjBweCAwIDQwcHggMDsgfVxuICAjaG9tZSA+IC5iYW5uZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA1LjJyZW07XG4gICAgbWFyZ2luOiA0M3B4IDA7IH1cbiAgLndoYXQtd2UtZG8gc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDc2cHg7IH1cbiAgI2NvbnRhY3QgLmNyb3NzLXRpdGxlIGgyIC5udW1iZXIge1xuICAgIGJvdHRvbTogLTI0cHggIWltcG9ydGFudDtcbiAgICBmb250OiA2cmVtIFwiZ29ib2xkXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmICFpbXBvcnRhbnQ7IH1cbiAgI2NvbnRhY3QgLmNyb3NzLXRpdGxlIGgyIC50aXRsZSwgI2NvbnRhY3QgLmNyb3NzLXRpdGxlIGgyIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSBoMiwgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlICNjb250YWN0IC5jcm9zcy10aXRsZSBoMiBoMiB7XG4gICAgZm9udDogMi42cmVtLzUuMnJlbSBcImdvYm9sZFwiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiU2Vnb2UgVUlcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogLTZweDsgfVxuICAjY29udGFjdCAuY3Jvc3MtdGl0bGUubGVmdDphZnRlciB7XG4gICAgbWluLXdpZHRoOiAyMDRweCAhaW1wb3J0YW50OyB9XG4gICNjb250YWN0IC5jcm9zcy10aXRsZS5sZWZ0IGgyOmFmdGVyIHtcbiAgICBsZWZ0OiAxODlweCAhaW1wb3J0YW50OyB9XG4gICNjb250YWN0IC5jcm9zcy10aXRsZS5sZWZ0IGgyIC50aXRsZSwgI2NvbnRhY3QgLmNyb3NzLXRpdGxlLmxlZnQgaDIgLnByb2R1Y3RzIC5jb2Rlcm9ja3J3YXkgLnN1YnRpdGxlIGgyLCAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgI2NvbnRhY3QgLmNyb3NzLXRpdGxlLmxlZnQgaDIgaDIge1xuICAgIGxlZnQ6IDMxcHggIWltcG9ydGFudDsgfVxuICAjY29udGFjdCAuY3Jvc3MtdGl0bGUucmlnaHQ6YWZ0ZXIge1xuICAgIG1pbi13aWR0aDogMjgzcHggIWltcG9ydGFudDsgfVxuICAjY29udGFjdCAuY3Jvc3MtdGl0bGUucmlnaHQgaDI6YWZ0ZXIge1xuICAgIHJpZ2h0OiAyNjhweCAhaW1wb3J0YW50OyB9XG4gICNjb250YWN0IC5jcm9zcy10aXRsZS5yaWdodCBoMiAudGl0bGUsICNjb250YWN0IC5jcm9zcy10aXRsZS5yaWdodCBoMiAucHJvZHVjdHMgLmNvZGVyb2NrcndheSAuc3VidGl0bGUgaDIsIC5wcm9kdWN0cyAuY29kZXJvY2tyd2F5IC5zdWJ0aXRsZSAjY29udGFjdCAuY3Jvc3MtdGl0bGUucmlnaHQgaDIgaDIge1xuICAgIHJpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM2OHB4KSB7XG4gICNob21lID4gLmJhbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xuICAgIG1hcmdpbjogNDNweCAwOyB9XG4gICNhYm91dCAucGhvdG9zIHtcbiAgICBtYXJnaW46IC0zNDVweCAwIDY1cHggMDsgfVxuICAjYWJvdXQgLnByaW5jaXBsZXMgaGVhZGVyIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogM3JlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiA3cmVtICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDI4MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiA2MnB4IDAgMCAxOHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM0NnB4KSB7XG4gICNob21lID4gLmJhbm5lciBoMSB7XG4gICAgbWFyZ2luOiAyNHB4IDA7IH0gfVxuXG4vKiBDdXN0b20sIGlQaG9uZSBSZXRpbmEgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgI2hvbWUgPiAuYmFubmVyIGgxIHtcbiAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICBsaW5lLWhlaWdodDogNC43NXJlbTtcbiAgICBtYXJnaW46IDM1cHggMDsgfVxuICAjYWJvdXQgLnBob3RvcyB7XG4gICAgbWFyZ2luOiAtMzQ1cHggMCA5MHB4IDA7IH0gfVxuIiwiLyohIG5vdWlzbGlkZXIgLSAxMC4xLjAgLSAyMDE3LTA3LTI4IDE3OjExOjE4ICovXG4vKiBGdW5jdGlvbmFsIHN0eWxpbmc7XG4gKiBUaGVzZSBzdHlsZXMgYXJlIHJlcXVpcmVkIGZvciBub1VpU2xpZGVyIHRvIGZ1bmN0aW9uLlxuICogWW91IGRvbid0IG5lZWQgdG8gY2hhbmdlIHRoZXNlIHJ1bGVzIHRvIGFwcGx5IHlvdXIgZGVzaWduLlxuICovXG4ubm9VaS10YXJnZXQsXG4ubm9VaS10YXJnZXQgKiB7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbi5ub1VpLXRhcmdldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG59XG4ubm9VaS1iYXNlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICAvKiBGaXggNDAxICovXG59XG4ubm9VaS1jb25uZWN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG59XG4ubm9VaS1vcmlnaW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG59XG4ubm9VaS1oYW5kbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4ubm9VaS1zdGF0ZS10YXAgLm5vVWktY29ubmVjdCxcbi5ub1VpLXN0YXRlLXRhcCAubm9VaS1vcmlnaW4ge1xuICAtd2Via2l0LXRyYW5zaXRpb246IHRvcCAwLjNzLCByaWdodCAwLjNzLCBib3R0b20gMC4zcywgbGVmdCAwLjNzO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4zcywgcmlnaHQgMC4zcywgYm90dG9tIDAuM3MsIGxlZnQgMC4zcztcbn1cbi5ub1VpLXN0YXRlLWRyYWcgKiB7XG4gIGN1cnNvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xufVxuLyogUGFpbnRpbmcgYW5kIHBlcmZvcm1hbmNlO1xuICogQnJvd3NlcnMgY2FuIHBhaW50IGhhbmRsZXMgaW4gdGhlaXIgb3duIGxheWVyLlxuICovXG4ubm9VaS1iYXNlLFxuLm5vVWktaGFuZGxlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuLyogU2xpZGVyIHNpemUgYW5kIGhhbmRsZSBwbGFjZW1lbnQ7XG4gKi9cbi5ub1VpLWhvcml6b250YWwge1xuICBoZWlnaHQ6IDE4cHg7XG59XG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLWhhbmRsZSB7XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDI4cHg7XG4gIGxlZnQ6IC0xN3B4O1xuICB0b3A6IC02cHg7XG59XG4ubm9VaS12ZXJ0aWNhbCB7XG4gIHdpZHRoOiAxOHB4O1xufVxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlIHtcbiAgd2lkdGg6IDI4cHg7XG4gIGhlaWdodDogMzRweDtcbiAgbGVmdDogLTZweDtcbiAgdG9wOiAtMTdweDtcbn1cbi8qIFN0eWxpbmc7XG4gKi9cbi5ub1VpLXRhcmdldCB7XG4gIGJhY2tncm91bmQ6ICNGQUZBRkE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI0QzRDNEMztcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4ICNGMEYwRjAsIDAgM3B4IDZweCAtNXB4ICNCQkI7XG59XG4ubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogIzNGQjhBRjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgM3B4IHJnYmEoNTEsIDUxLCA1MSwgMC40NSk7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCA0NTBtcztcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCA0NTBtcztcbn1cbi8qIEhhbmRsZXMgYW5kIGN1cnNvcnM7XG4gKi9cbi5ub1VpLWRyYWdnYWJsZSB7XG4gIGN1cnNvcjogZXctcmVzaXplO1xufVxuLm5vVWktdmVydGljYWwgLm5vVWktZHJhZ2dhYmxlIHtcbiAgY3Vyc29yOiBucy1yZXNpemU7XG59XG4ubm9VaS1oYW5kbGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjRDlEOUQ5O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDFweCAjRkZGLCBpbnNldCAwIDFweCA3cHggI0VCRUJFQiwgMCAzcHggNnB4IC0zcHggI0JCQjtcbn1cbi5ub1VpLWFjdGl2ZSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAxcHggI0ZGRiwgaW5zZXQgMCAxcHggN3B4ICNEREQsIDAgM3B4IDZweCAtM3B4ICNCQkI7XG59XG4vKiBIYW5kbGUgc3RyaXBlcztcbiAqL1xuLm5vVWktaGFuZGxlOmJlZm9yZSxcbi5ub1VpLWhhbmRsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogI0U4RTdFNjtcbiAgbGVmdDogMTRweDtcbiAgdG9wOiA2cHg7XG59XG4ubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICBsZWZ0OiAxN3B4O1xufVxuLm5vVWktdmVydGljYWwgLm5vVWktaGFuZGxlOmJlZm9yZSxcbi5ub1VpLXZlcnRpY2FsIC5ub1VpLWhhbmRsZTphZnRlciB7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgbGVmdDogNnB4O1xuICB0b3A6IDE0cHg7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS1oYW5kbGU6YWZ0ZXIge1xuICB0b3A6IDE3cHg7XG59XG4vKiBEaXNhYmxlZCBzdGF0ZTtcbiAqL1xuW2Rpc2FibGVkXSAubm9VaS1jb25uZWN0IHtcbiAgYmFja2dyb3VuZDogI0I4QjhCODtcbn1cbltkaXNhYmxlZF0ubm9VaS10YXJnZXQsXG5bZGlzYWJsZWRdLm5vVWktaGFuZGxlLFxuW2Rpc2FibGVkXSAubm9VaS1oYW5kbGUge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuLyogQmFzZTtcbiAqXG4gKi9cbi5ub1VpLXBpcHMsXG4ubm9VaS1waXBzICoge1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG4ubm9VaS1waXBzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzk5OTtcbn1cbi8qIFZhbHVlcztcbiAqXG4gKi9cbi5ub1VpLXZhbHVlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4ubm9VaS12YWx1ZS1zdWIge1xuICBjb2xvcjogI2NjYztcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuLyogTWFya2luZ3M7XG4gKlxuICovXG4ubm9VaS1tYXJrZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNDQ0M7XG59XG4ubm9VaS1tYXJrZXItc3ViIHtcbiAgYmFja2dyb3VuZDogI0FBQTtcbn1cbi5ub1VpLW1hcmtlci1sYXJnZSB7XG4gIGJhY2tncm91bmQ6ICNBQUE7XG59XG4vKiBIb3Jpem9udGFsIGxheW91dDtcbiAqXG4gKi9cbi5ub1VpLXBpcHMtaG9yaXpvbnRhbCB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgaGVpZ2h0OiA4MHB4O1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xufVxuLm5vVWktdmFsdWUtaG9yaXpvbnRhbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtNTAlLCA1MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC01MCUsIDUwJSwgMCk7XG59XG4ubm9VaS1tYXJrZXItaG9yaXpvbnRhbC5ub1VpLW1hcmtlciB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB3aWR0aDogMnB4O1xuICBoZWlnaHQ6IDVweDtcbn1cbi5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyLXN1YiB7XG4gIGhlaWdodDogMTBweDtcbn1cbi5ub1VpLW1hcmtlci1ob3Jpem9udGFsLm5vVWktbWFya2VyLWxhcmdlIHtcbiAgaGVpZ2h0OiAxNXB4O1xufVxuLyogVmVydGljYWwgbGF5b3V0O1xuICpcbiAqL1xuLm5vVWktcGlwcy12ZXJ0aWNhbCB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG59XG4ubm9VaS12YWx1ZS12ZXJ0aWNhbCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCA1MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDUwJSwgMCk7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbn1cbi5ub1VpLW1hcmtlci12ZXJ0aWNhbC5ub1VpLW1hcmtlciB7XG4gIHdpZHRoOiA1cHg7XG4gIGhlaWdodDogMnB4O1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuLm5vVWktbWFya2VyLXZlcnRpY2FsLm5vVWktbWFya2VyLXN1YiB7XG4gIHdpZHRoOiAxMHB4O1xufVxuLm5vVWktbWFya2VyLXZlcnRpY2FsLm5vVWktbWFya2VyLWxhcmdlIHtcbiAgd2lkdGg6IDE1cHg7XG59XG4ubm9VaS10b29sdGlwIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0Q5RDlEOTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4ubm9VaS1ob3Jpem9udGFsIC5ub1VpLXRvb2x0aXAge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgbGVmdDogNTAlO1xuICBib3R0b206IDEyMCU7XG59XG4ubm9VaS12ZXJ0aWNhbCAubm9VaS10b29sdGlwIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRvcDogNTAlO1xuICByaWdodDogMTIwJTtcbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuLypcbiAqIFdoYXQgZm9sbG93cyBpcyB0aGUgcmVzdWx0IG9mIG11Y2ggcmVzZWFyY2ggb24gY3Jvc3MtYnJvd3NlciBzdHlsaW5nLlxuICogQ3JlZGl0IGxlZnQgaW5saW5lIGFuZCBiaWcgdGhhbmtzIHRvIE5pY29sYXMgR2FsbGFnaGVyLCBKb25hdGhhbiBOZWFsLFxuICogS3JvYyBDYW1lbiwgYW5kIHRoZSBINUJQIGRldiBjb21tdW5pdHkgYW5kIHRlYW0uXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2Ugc3R5bGVzOiBvcGluaW9uYXRlZCBkZWZhdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaHRtbCB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yLXByaW1hcnk7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuLypcbiAqIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OlxuICogaHR0cHM6Ly90d2l0dGVyLmNvbS9taWtldGF5bHIvc3RhdHVzLzEyMjI4ODA1MzAxXG4gKlxuICogVGhlc2Ugc2VsZWN0aW9uIHJ1bGUgc2V0cyBoYXZlIHRvIGJlIHNlcGFyYXRlLlxuICogQ3VzdG9taXplIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIHRvIG1hdGNoIHlvdXIgZGVzaWduLlxuICovXG5cbjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG4vKlxuICogQSBiZXR0ZXIgbG9va2luZyBkZWZhdWx0IGhvcml6b250YWwgcnVsZVxuICovXG5cbmhyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBhdWRpbywgY2FudmFzLCBpZnJhbWVzLFxuICogaW1hZ2VzLCB2aWRlb3MgYW5kIHRoZSBib3R0b20gb2YgdGhlaXIgY29udGFpbmVyczpcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy80NDBcbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbmlmcmFtZSxcbmltZyxcbnN2ZyxcbnZpZGVvIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogUmVtb3ZlIGRlZmF1bHQgZmllbGRzZXQgc3R5bGVzLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8qXG4gKiBBbGxvdyBvbmx5IHZlcnRpY2FsIHJlc2l6aW5nIG9mIHRleHRhcmVhcy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJyb3dzZXIgVXBncmFkZSBQcm9tcHRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi5icm93c2VydXBncmFkZSB7XG4gICAgbWFyZ2luOiAwLjJlbSAwO1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMC4yZW0gMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEF1dGhvcidzIGN1c3RvbSBzdHlsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhlbHBlciBjbGFzc2VzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyczpcbiAqL1xuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiBIaWRlIG9ubHkgdmlzdWFsbHksIGJ1dCBoYXZlIGl0IGF2YWlsYWJsZSBmb3Igc2NyZWVuIHJlYWRlcnM6XG4gKiBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG4gKi9cblxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xufVxuXG4vKlxuICogRXh0ZW5kcyB0aGUgLnZpc3VhbGx5aGlkZGVuIGNsYXNzIHRvIGFsbG93IHRoZSBlbGVtZW50XG4gKiB0byBiZSBmb2N1c2FibGUgd2hlbiBuYXZpZ2F0ZWQgdG8gdmlhIHRoZSBrZXlib2FyZDpcbiAqIGh0dHBzOi8vd3d3LmRydXBhbC5vcmcvbm9kZS84OTc2MzhcbiAqL1xuXG4udmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMge1xuICAgIGNsaXA6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xufVxuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICovXG5cbi5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAqICAgIHRoYXQgcmVjZWl2ZSB0aGUgYGNsZWFyZml4YCBjbGFzcy5cbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKi9cblxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMiAqL1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRVhBTVBMRSBNZWRpYSBRdWVyaWVzIGZvciBSZXNwb25zaXZlIERlc2lnbi5cbiAgIFRoZXNlIGV4YW1wbGVzIG92ZXJyaWRlIHRoZSBwcmltYXJ5ICgnbW9iaWxlIGZpcnN0Jykgc3R5bGVzLlxuICAgTW9kaWZ5IGFzIGNvbnRlbnQgcmVxdWlyZXMuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDM1ZW0pIHtcbiAgICAvKiBTdHlsZSBhZGp1c3RtZW50cyBmb3Igdmlld3BvcnRzIHRoYXQgbWVldCB0aGUgY29uZGl0aW9uICovXG59XG5cbkBtZWRpYSBwcmludCxcbiAgICAgICAobWluLXJlc29sdXRpb246IDEuMjVkcHB4KSxcbiAgICAgICAobWluLXJlc29sdXRpb246IDEyMGRwaSkge1xuICAgIC8qIFN0eWxlIGFkanVzdG1lbnRzIGZvciBoaWdoIHJlc29sdXRpb24gZGV2aWNlcyAqL1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJpbnQgc3R5bGVzLlxuICAgSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6XG4gICBodHRwOi8vd3d3LnBocGllZC5jb20vZGVsYXktbG9hZGluZy15b3VyLXByaW50LWNzcy9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyLFxuICAgICo6Zmlyc3QtbGV0dGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjogaHR0cDovL3d3dy5zYW5iZWlqaS5jb20vYXJjaGl2ZXMvOTUzICovXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGFbaHJlZl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIERvbid0IHNob3cgbGlua3MgdGhhdCBhcmUgZnJhZ21lbnQgaWRlbnRpZmllcnMsXG4gICAgICogb3IgdXNlIHRoZSBgamF2YXNjcmlwdDpgIHBzZXVkbyBwcm90b2NvbFxuICAgICAqL1xuXG4gICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFByaW50aW5nIFRhYmxlczpcbiAgICAgKiBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAgKi9cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qXFxcbiAgICAkQ09OVEVOVFNcblxcKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKipcbiAqIFNUWUxFIEdVSURFIFZBUklBQkxFUy0tLS0tLS0tLS0tLS0tLS0tLURlY2xhcmF0aW9ucyBvZiBTYXNzIHZhcmlhYmxlc1xuICogLS0tLS1UeXBvZ3JhcGh5XG4gKiAtLS0tLUNvbG9yc1xuICogLS0tLS1UZXh0ZmllbGRcbiAqIC0tLS0tU3dpdGNoXG4gKiAtLS0tLVNwaW5uZXJcbiAqIC0tLS0tUmFkaW9cbiAqIC0tLS0tTWVudVxuICogLS0tLS1MaXN0XG4gKiAtLS0tLUxheW91dFxuICogLS0tLS1JY29uIHRvZ2dsZXNcbiAqIC0tLS0tRm9vdGVyXG4gKiAtLS0tLUNvbHVtblxuICogLS0tLS1DaGVja2JveFxuICogLS0tLS1DYXJkXG4gKiAtLS0tLUJ1dHRvblxuICogLS0tLS1BbmltYXRpb25cbiAqIC0tLS0tUHJvZ3Jlc3NcbiAqIC0tLS0tQmFkZ2VcbiAqIC0tLS0tU2hhZG93c1xuICogLS0tLS1HcmlkXG4gKiAtLS0tLURhdGEgdGFibGVcbiAqIC0tLS0tRGlhbG9nXG4gKiAtLS0tLVNuYWNrYmFyXG4gKiAtLS0tLVRvb2x0aXBcbiAqIC0tLS0tQ2hpcFxuICpcbiAqIEV2ZW4gdGhvdWdoIGFsbCB2YXJpYWJsZXMgaGF2ZSB0aGUgYCFkZWZhdWx0YCBkaXJlY3RpdmUsIG1vc3Qgb2YgdGhlbVxuICogc2hvdWxkIG5vdCBiZSBjaGFuZ2VkIGFzIHRoZXkgYXJlIGRlcGVuZGVudCBvbmUgYW5vdGhlci4gVGhpcyBjYW4gY2F1c2VcbiAqIHZpc3VhbCBkaXN0b3J0aW9ucyAobGlrZSBhbGlnbm1lbnQgaXNzdWVzKSB0aGF0IGFyZSBoYXJkIHRvIHRyYWNrIGRvd25cbiAqIGFuZCBmaXguXG4gKi9cblxuXG4vKiA9PT09PT09PT09ICBUWVBPR1JBUEhZICA9PT09PT09PT09ICovXG5cbi8qIFdlJ3JlIHNwbGl0dGluZyBmb250cyBpbnRvIFwicHJlZmVycmVkXCIgYW5kIFwicGVyZm9ybWFuY2VcIiBpbiBvcmRlciB0byBvcHRpbWl6ZVxuICAgcGFnZSBsb2FkaW5nLiBGb3IgaW1wb3J0YW50IHRleHQsIHN1Y2ggYXMgdGhlIGJvZHksIHdlIHdhbnQgaXQgdG8gbG9hZFxuICAgaW1tZWRpYXRlbHkgYW5kIG5vdCB3YWl0IGZvciB0aGUgd2ViIGZvbnQgbG9hZCwgd2hlcmVhcyBmb3Igb3RoZXIgc2VjdGlvbnMsXG4gICBzdWNoIGFzIGhlYWRlcnMgYW5kIHRpdGxlcywgd2UncmUgT0sgd2l0aCB0aGluZ3MgdGFraW5nIGEgYml0IGxvbmdlciB0byBsb2FkLlxuICAgV2UgZG8gaGF2ZSBzb21lIG9wdGlvbmFsIGNsYXNzZXMgYW5kIHBhcmFtZXRlcnMgaW4gdGhlIG1peGlucywgaW4gY2FzZSB5b3VcbiAgIGRlZmluaXRlbHkgd2FudCB0byBtYWtlIHN1cmUgeW91J3JlIHVzaW5nIHRoZSBwcmVmZXJyZWQgZm9udCBhbmQgZG9uJ3QgbWluZFxuICAgdGhlIHBlcmZvcm1hbmNlIGhpdC5cbiAgIFdlIHNob3VsZCBiZSBhYmxlIHRvIGltcHJvdmUgb24gdGhpcyBvbmNlIENTUyBGb250IExvYWRpbmcgTDMgYmVjb21lcyBtb3JlXG4gICB3aWRlbHkgYXZhaWxhYmxlLlxuKi9cbiRwcmVmZXJyZWRfZm9udDogJ1JvYm90bycsICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJHBlcmZvcm1hbmNlX2ZvbnQ6ICdIZWx2ZXRpY2EnLCAnQXJpYWwnLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09ICBDT0xPUlMgID09PT09PT09PT0gKi9cblxuLyoqXG4qXG4qIE1hdGVyaWFsIGRlc2lnbiBjb2xvciBwYWxldHRlcy5cbiogQHNlZSBodHRwOi8vd3d3Lmdvb2dsZS5jb20vZGVzaWduL3NwZWMvc3R5bGUvY29sb3IuaHRtbFxuKlxuKiovXG5cbkBpbXBvcnQgXCJjb2xvci1kZWZpbml0aW9uc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9uc1wiO1xuXG4vKiA9PT09PT09PT09ICBJTUFHRVMgID09PT09PT09PT0gKi9cbiRpbWFnZV9wYXRoOiAnL2ltYWdlcycgIWRlZmF1bHQ7XG5cbi8qID09PT09PT09PT0gIENvbG9yICYgVGhlbWVzICA9PT09PT09PT09ICovXG5cbi8vIERlZmluZSB3aGV0aGVyIGluZGl2aWR1YWwgY29sb3IgcGFsZXR0ZSBpdGVtcyBzaG91bGQgaGF2ZSBjbGFzc2VzIGNyZWF0ZWQuXG4vLyBTZXR0aW5nIHRoaXMgdG8gdHJ1ZSB3aWxsIHJlbW92ZSBpbmRpdmlkdWFsIGNvbG9yIGNsYXNzZXMgZm9yIGVhY2ggY29sb3IgaW4gdGhlIHBhbGV0dGVzLlxuLy8gVG8gaW1wcm92ZSBvdmVyYWxsIHBlcmZvcm1hbmNlIChhc3N1bWluZyB0aGV5IGFyZW4ndCB1c2VkKSBieTpcbi8vICogU2F2aW5nIHNlcnZlciBiYW5kd2lkdGggc2VuZGluZyB0aGUgZXh0cmEgY2xhc3Nlc1xuLy8gKiBTYXZlIGNsaWVudCBjb21wdXRhdGlvbiBhZ2FpbnN0IHRoZSBjbGFzc2VzXG4vLyBpdCBpcyBSRUNPTU1FTkRFRCB5b3Ugc2V0IHRoaXMgdG8gdHJ1ZS5cbiR0cmltLWNvbG9yLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBVc2UgY29sb3IgcHJpbWFyaWx5IGZvciBlbXBoYXNpcy4gQ2hvb3NlIGNvbG9ycyB0aGF0IGZpdCB3aXRoXG4vLyB5b3VyIGJyYW5kIGFuZCBwcm92aWRlIGdvb2QgY29udHJhc3QgYmV0d2VlbiB2aXN1YWwgY29tcG9uZW50cy5cbiRjb2xvci1wcmltYXJ5OiAkcGFsZXR0ZS1pbmRpZ28tNTAwICFkZWZhdWx0O1xuJGNvbG9yLXByaW1hcnktZGFyazogJHBhbGV0dGUtaW5kaWdvLTcwMCAhZGVmYXVsdDtcbiRjb2xvci1hY2NlbnQ6ICRwYWxldHRlLXBpbmstQTIwMCAhZGVmYXVsdDtcblxuLy8gT3VyIHByaW1hcnkgaXMgZGFyaywgc28gdXNlICRjb2xvci1kYXJrLWNvbnRyYXN0IGZvciBvdmVybGFpZCB0ZXh0LlxuJGNvbG9yLXByaW1hcnktY29udHJhc3Q6ICRjb2xvci1kYXJrLWNvbnRyYXN0ICFkZWZhdWx0O1xuLy8gT3VyIGFjY2VudCBpcyBkYXJrLCBzbyB1c2UgJGNvbG9yLWRhcmstY29udHJhc3QgZm9yIG92ZXJsYWlkIHRleHQuXG4kY29sb3ItYWNjZW50LWNvbnRyYXN0OiAkY29sb3ItZGFyay1jb250cmFzdCAhZGVmYXVsdDtcblxuLy8gUmVwbGFjZSBhbGwgY29sb3JzIHdpdGggcGxhY2Vob2xkZXJzIGlmIHdlJ3JlIGdlbmVyYXRpbmcgYSB0ZW1wbGF0ZS5cbkBpZiAkc3R5bGVndWlkZS1nZW5lcmF0ZS10ZW1wbGF0ZSA9PSB0cnVlIHtcbiAgJGNvbG9yLXByaW1hcnk6ICckY29sb3ItcHJpbWFyeSc7XG4gICRjb2xvci1wcmltYXJ5LWRhcms6ICckY29sb3ItcHJpbWFyeS1kYXJrJztcbiAgJGNvbG9yLWFjY2VudDogJyRjb2xvci1hY2NlbnQnO1xuICAkY29sb3ItcHJpbWFyeS1jb250cmFzdDogJyRjb2xvci1wcmltYXJ5LWNvbnRyYXN0JztcbiAgJGNvbG9yLWFjY2VudC1jb250cmFzdDogJyRjb2xvci1hY2NlbnQtY29udHJhc3QnO1xufVxuXG4vKiA9PT09PT09PT09ICBUeXBvZ3JhcGh5ICA9PT09PT09PT09ICovXG5cbi8vIFdlIHVzZSB0aGUgZm9sbG93aW5nIGRlZmF1bHQgY29sb3Igc3R5bGVzOiB0ZXh0LWNvbG9yLXByaW1hcnkgYW5kXG4vLyB0ZXh0LWNvbG9yLXNlY29uZGFyeS4gRm9yIGxpZ2h0IHRoZW1lcywgdXNlIHRleHQtY29sb3ItcHJpbWFyeS1pbnZlcnNlXG4vLyBhbmQgdGV4dC1jb2xvci1zZWNvbmRhcnktaW52ZXJzZS5cblxuJHRleHQtY29sb3ItcHJpbWFyeTogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYmxhY2t9LCAwLjg3KVwiKSAhZGVmYXVsdDtcbiR0ZXh0LWxpbmstY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYWNjZW50fSlcIikgIWRlZmF1bHQ7XG5cbi8vIERlZmluZSB3aGV0aGVyIHRvIHRhcmdldCBlbGVtZW50cyBkaXJlY3RseSBmb3IgdHlwb2dyYXBoaWMgZW5oYW5jZW1lbnRzLlxuLy8gVHVybmluZyB0aGlzIG9mZiBtZWFucyB5b3UgbmVlZCB0byB1c2UgbWRsLSogY2xhc3NlcyBtb3JlIG9mdGVuLlxuLy8gT3RoZXIgY29tcG9uZW50cyBtYXkgYWxzbyBmYWlsIHRvIGFkaGVyZSB0byBNRCB3aXRob3V0IHRoZXNlIHJ1bGVzLlxuLy8gSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgeW91IGxlYXZlIHRoaXMgYXMgdHJ1ZS5cblxuJHRhcmdldC1lbGVtZW50cy1kaXJlY3RseTogdHJ1ZSAhZGVmYXVsdDtcblxuLyogPT09PT09PT09PSAgQ29tcG9uZW50cyAgPT09PT09PT09PSAqL1xuXG4vKiA9PT09PT09PT09ICBTdGFuZGFyZCBCdXR0b25zICA9PT09PT09PT09ICovXG5cbi8vIERlZmF1bHQgYnV0dG9uIGNvbG9ycy5cbiRidXR0b24tcHJpbWFyeS1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skcGFsZXR0ZS1ncmV5LTUwMH0sIDAuMjApXCIpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYmxhY2t9KVwiKSAhZGVmYXVsdDtcbiRidXR0b24taG92ZXItY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tYWN0aXZlLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRwYWxldHRlLWdyZXktNTAwfSwgMC40MClcIikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvY3VzLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuMTIpXCIpICFkZWZhdWx0O1xuXG4vLyBDb2xvcmVkIGJ1dHRvbiBjb2xvcnMuXG4kYnV0dG9uLXByaW1hcnktY29sb3ItYWx0OiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLXByaW1hcnl9KVwiKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yLWFsdDogdW5xdW90ZShcInJnYigjeyRjb2xvci1wcmltYXJ5LWNvbnRyYXN0fSlcIikgIWRlZmF1bHQ7XG4kYnV0dG9uLWhvdmVyLWNvbG9yLWFsdDogdW5xdW90ZShcInJnYigjeyRjb2xvci1wcmltYXJ5fSlcIikgIWRlZmF1bHQ7XG4kYnV0dG9uLWFjdGl2ZS1jb2xvci1hbHQ6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItcHJpbWFyeX0pXCIpICFkZWZhdWx0O1xuJGJ1dHRvbi1mb2N1cy1jb2xvci1hbHQ6ICRidXR0b24tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIFJpcHBsZSBjb2xvciBmb3IgY29sb3JlZCByYWlzZWQgYnV0dG9ucy5cbiRidXR0b24tcmlwcGxlLWNvbG9yLWFsdDogdW5xdW90ZShcInJnYigjeyRjb2xvci1wcmltYXJ5LWNvbnRyYXN0fSlcIikgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGVkIGJ1dHRvbiBjb2xvcnMuXG4kYnV0dG9uLXByaW1hcnktY29sb3ItZGlzYWJsZWQ6IHVucXVvdGUoXCJyZ2JhKCN7JGNvbG9yLWJsYWNrfSwgMC4xMilcIikgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1jb2xvci1kaXNhYmxlZDogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYmxhY2t9LCAwLjI2KVwiKSAhZGVmYXVsdDtcblxuLy8gRkFCIGNvbG9ycyBhbmQgc2l6ZXMuXG4kYnV0dG9uLWZhYi1jb2xvci1hbHQ6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYWNjZW50fSlcIikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZhYi1ob3Zlci1jb2xvci1hbHQ6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYWNjZW50fSlcIikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZhYi1hY3RpdmUtY29sb3ItYWx0OiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLWFjY2VudH0pXCIpICFkZWZhdWx0O1xuJGJ1dHRvbi1mYWItdGV4dC1jb2xvci1hbHQ6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYWNjZW50LWNvbnRyYXN0fSlcIikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZhYi1yaXBwbGUtY29sb3ItYWx0OiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLWFjY2VudC1jb250cmFzdH0pXCIpICFkZWZhdWx0O1xuXG4vLyBJY29uIGJ1dHRvbiBjb2xvcnMgYW5kIHNpemVzLlxuJGJ1dHRvbi1pY29uLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS03MDB9KVwiKSAhZGVmYXVsdDtcbiRidXR0b24taWNvbi1mb2N1cy1jb2xvcjogJGJ1dHRvbi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuLyogPT09PT09PT09PSAgSWNvbiBUb2dnbGVzICA9PT09PT09PT09ICovXG5cbiRpY29uLXRvZ2dsZS1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktNzAwfSlcIikgIWRlZmF1bHQ7XG4kaWNvbi10b2dnbGUtZm9jdXMtY29sb3I6ICRidXR0b24tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi10b2dnbGUtY2hlY2tlZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci1wcmltYXJ5fSlcIikgIWRlZmF1bHQ7XG4kaWNvbi10b2dnbGUtY2hlY2tlZC1mb2N1cy1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItcHJpbWFyeX0sIDAuMjYpXCIpICFkZWZhdWx0O1xuJGljb24tdG9nZ2xlLWRpc2FibGVkLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuMjYpXCIpICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09ICBSYWRpbyBCdXR0b25zICA9PT09PT09PT09ICovXG5cbiRyYWRpby1jb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci1wcmltYXJ5fSlcIikgIWRlZmF1bHQ7XG4kcmFkaW8tb2ZmLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuNTQpXCIpICFkZWZhdWx0O1xuJHJhZGlvLWRpc2FibGVkLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuMjYpXCIpICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09ICBSaXBwbGUgZWZmZWN0ICA9PT09PT09PT09ICovXG5cbiRyaXBwbGUtYmctY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItbGlnaHQtY29udHJhc3R9KVwiKSAhZGVmYXVsdDtcblxuLyogPT09PT09PT09PSAgTGF5b3V0ICA9PT09PT09PT09ICovXG5cbiRsYXlvdXQtbmF2LWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS0zMDB9KVwiKSAhZGVmYXVsdDtcblxuLy8gRHJhd2VyXG4kbGF5b3V0LWRyYXdlci1iZy1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktNTB9KVwiKSAhZGVmYXVsdDtcbiRsYXlvdXQtZHJhd2VyLWJvcmRlci1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktMzAwfSlcIikgIWRlZmF1bHQ7XG4kbGF5b3V0LXRleHQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTgwMH0pXCIpICFkZWZhdWx0O1xuJGxheW91dC1kcmF3ZXItbmF2aWdhdGlvbi1jb2xvcjogIzc1NzU3NSAhZGVmYXVsdDtcbiRsYXlvdXQtZHJhd2VyLW5hdmlnYXRpb24tbGluay1hY3RpdmUtYmFja2dyb3VuZDogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktMzAwfSlcIikgIWRlZmF1bHQ7XG4kbGF5b3V0LWRyYXdlci1uYXZpZ2F0aW9uLWxpbmstYWN0aXZlLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLWxpZ2h0LWNvbnRyYXN0fSlcIikgIWRlZmF1bHQ7XG5cbi8vIEhlYWRlclxuJGxheW91dC1oZWFkZXItYmctY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItcHJpbWFyeX0pXCIpICFkZWZhdWx0O1xuJGxheW91dC1oZWFkZXItdGV4dC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci1wcmltYXJ5LWNvbnRyYXN0fSlcIikgIWRlZmF1bHQ7XG4kbGF5b3V0LWhlYWRlci1uYXYtaG92ZXItY29sb3I6IHVucXVvdGUoXCJyZ2JhKCN7JHBhbGV0dGUtZ3JleS03MDB9LCAwLjYpXCIpICFkZWZhdWx0O1xuJGxheW91dC1oZWFkZXItdGFiLXRleHQtY29sb3I6IHVucXVvdGUoXCJyZ2JhKCN7JGNvbG9yLXByaW1hcnktY29udHJhc3R9LCAwLjYpXCIpICFkZWZhdWx0O1xuXG4vLyBUYWJzXG4kbGF5b3V0LWhlYWRlci10YWItaGlnaGxpZ2h0OiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLWFjY2VudH0pXCIpICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09ICBDb250ZW50IFRhYnMgID09PT09PT09PT0gKi9cblxuJHRhYi1oaWdobGlnaHQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItcHJpbWFyeX0pXCIpICFkZWZhdWx0O1xuJHRhYi10ZXh0LWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuNTQpXCIpICFkZWZhdWx0O1xuJHRhYi1hY3RpdmUtdGV4dC1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYmxhY2t9LCAwLjg3KVwiKSAhZGVmYXVsdDtcbiR0YWItYm9yZGVyLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS0zMDB9KVwiKSAhZGVmYXVsdDtcblxuLyogPT09PT09PT09PSAgQ2hlY2tib3hlcyAgPT09PT09PT09PSAqL1xuXG4kY2hlY2tib3gtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItcHJpbWFyeX0pXCIpICFkZWZhdWx0O1xuJGNoZWNrYm94LW9mZi1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYmxhY2t9LCAwLjU0KVwiKSAhZGVmYXVsdDtcbiRjaGVja2JveC1kaXNhYmxlZC1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYmxhY2t9LCAwLjI2KVwiKSAhZGVmYXVsdDtcbiRjaGVja2JveC1mb2N1cy1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItcHJpbWFyeX0sIDAuMjYpXCIpICFkZWZhdWx0O1xuJGNoZWNrYm94LWltYWdlLXBhdGg6ICRpbWFnZV9wYXRoO1xuXG4vKiA9PT09PT09PT09ICBTd2l0Y2hlcyAgPT09PT09PT09PSAqL1xuXG4kc3dpdGNoLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLXByaW1hcnl9KVwiKSAhZGVmYXVsdDtcbiRzd2l0Y2gtZmFkZWQtY29sb3I6IHVucXVvdGUoXCJyZ2JhKCN7JGNvbG9yLXByaW1hcnl9LCAwLjI2KVwiKSAhZGVmYXVsdDtcbiRzd2l0Y2gtdGh1bWItY29sb3I6ICRzd2l0Y2gtY29sb3IgIWRlZmF1bHQ7XG4kc3dpdGNoLXRyYWNrLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1wcmltYXJ5fSwgMC41KVwiKSAhZGVmYXVsdDtcblxuJHN3aXRjaC1vZmYtdGh1bWItY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTUwfSlcIikgIWRlZmF1bHQ7XG4kc3dpdGNoLW9mZi10cmFjay1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYmxhY2t9LCAwLjI2KVwiKSAhZGVmYXVsdDtcbiRzd2l0Y2gtZGlzYWJsZWQtdGh1bWItY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTQwMH0pXCIpICFkZWZhdWx0O1xuJHN3aXRjaC1kaXNhYmxlZC10cmFjay1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYmxhY2t9LCAwLjEyKVwiKSAhZGVmYXVsdDtcblxuLyogPT09PT09PT09PSAgU3Bpbm5lciAgPT09PT09PT09PSAqL1xuXG4kc3Bpbm5lci1jb2xvci0xOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS00MDB9KVwiKSAhZGVmYXVsdDtcbiRzcGlubmVyLWNvbG9yLTI6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNTAwfSlcIikgIWRlZmF1bHQ7XG4kc3Bpbm5lci1jb2xvci0zOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTYwMH0pXCIpICFkZWZhdWx0O1xuJHNwaW5uZXItY29sb3ItNDogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTUwMH0pXCIpICFkZWZhdWx0O1xuXG4kc3Bpbm5lci1zaW5nbGUtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItcHJpbWFyeX0pXCIpICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09ICBUZXh0IGZpZWxkcyAgPT09PT09PT09PSAqL1xuXG4kaW5wdXQtdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0LWxhYmVsLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuMjYpXCIpICFkZWZhdWx0O1xuJGlucHV0LXRleHQtYm90dG9tLWJvcmRlci1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYmxhY2t9LCAwLjEyKVwiKSAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0LWhpZ2hsaWdodC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci1wcmltYXJ5fSlcIikgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dC1kaXNhYmxlZC1jb2xvcjogJGlucHV0LXRleHQtYm90dG9tLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0LWRpc2FibGVkLXRleHQtY29sb3I6ICRpbnB1dC10ZXh0LWxhYmVsLWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LXRleHQtZXJyb3ItY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtQTcwMH0pXCIpICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09ICBDYXJkICA9PT09PT09PT09ICovXG5cbiRjYXJkLWJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3Itd2hpdGV9KVwiKSAhZGVmYXVsdDtcbiRjYXJkLXRleHQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYmxhY2t9KVwiKSAhZGVmYXVsdDtcbiRjYXJkLWltYWdlLXBsYWNlaG9sZGVyLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLWFjY2VudH0pXCIpICFkZWZhdWx0O1xuJGNhcmQtc3VwcG9ydGluZy10ZXh0LXRleHQtY29sb3I6IHVucXVvdGUoXCJyZ2JhKCN7JGNvbG9yLWJsYWNrfSwgMC41NClcIikgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuNTQpXCIpICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09ICBTbGlkZXJzID09PT09PT09PT0gKi9cblxuJHJhbmdlLWJnLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuMjYpXCIpICFkZWZhdWx0O1xuJHJhbmdlLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLXByaW1hcnl9KVwiKSAhZGVmYXVsdDtcbiRyYW5nZS1mYWRlZC1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItcHJpbWFyeX0sIDAuMjYpXCIpICFkZWZhdWx0O1xuJHJhbmdlLWJnLWZvY3VzLWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuMTIpXCIpICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09IFByb2dyZXNzID09PT09PT09PT0gKi9cbiRwcm9ncmVzcy1tYWluLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLXByaW1hcnl9KVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1zZWNvbmRhcnktY29sb3I6IHVucXVvdGUoXCJyZ2JhKCN7JGNvbG9yLXByaW1hcnktY29udHJhc3R9LCAwLjcpXCIpICFkZWZhdWx0O1xuJHByb2dyZXNzLWZhbGxiYWNrLWJ1ZmZlci1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItcHJpbWFyeS1jb250cmFzdH0sIDAuOSlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtaW1hZ2UtcGF0aDogJGltYWdlX3BhdGg7XG5cbi8qID09PT09PT09PT0gIExpc3QgPT09PT09PT09PSAqL1xuXG4kbGlzdC1tYWluLXRleHQtdGV4dC1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYmxhY2t9LCAwLjg3KVwiKSAhZGVmYXVsdDtcbiRsaXN0LXN1cHBvcnRpbmctdGV4dC10ZXh0LWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuNTQpXCIpICFkZWZhdWx0O1xuJGxpc3QtaWNvbi1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktNjAwfSlcIikgIWRlZmF1bHQ7XG4kbGlzdC1hdmF0YXItY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09ICBJdGVtID09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdCBJdGVtIENvbG9yc1xuJGRlZmF1bHQtaXRlbS10ZXh0LWNvbG9yOiB1bnF1b3RlKFwicmdiYSgjeyRjb2xvci1ibGFja30sIDAuODcpXCIpICFkZWZhdWx0O1xuJGRlZmF1bHQtaXRlbS1vdXRsaW5lLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS00MDB9KVwiKSAhZGVmYXVsdDtcbiRkZWZhdWx0LWl0ZW0taG92ZXItYmctY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTIwMH0pXCIpICFkZWZhdWx0O1xuJGRlZmF1bHQtaXRlbS1mb2N1cy1iZy1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktMjAwfSlcIikgIWRlZmF1bHQ7XG4kZGVmYXVsdC1pdGVtLWFjdGl2ZS1iZy1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktMzAwfSlcIikgIWRlZmF1bHQ7XG4kZGVmYXVsdC1pdGVtLWRpdmlkZXItY29sb3I6IHVucXVvdGUoXCJyZ2JhKCN7JGNvbG9yLWJsYWNrfSwgMC4xMilcIikgIWRlZmF1bHQ7XG5cbi8vIERpc2FibGVkIEJ1dHRvbiBDb2xvcnNcbiRkaXNhYmxlZC1pdGVtLXRleHQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTQwMH0pXCIpICFkZWZhdWx0O1xuXG4vKiA9PT09PT09PT09ICBEcm9wZG93biBtZW51ID09PT09PT09PT0gKi9cblxuJGRlZmF1bHQtZHJvcGRvd24tYmctY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3Itd2hpdGV9KVwiKSAhZGVmYXVsdDtcblxuLyogPT09PT09PT09PSAgVG9vbHRpcHMgID09PT09PT09PT0gKi9cblxuJHRvb2x0aXAtdGV4dC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci13aGl0ZX0pXCIpICFkZWZhdWx0O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYmEoI3skcGFsZXR0ZS1ncmV5LTcwMH0sIDAuOSlcIikgIWRlZmF1bHQ7XG5cbi8qID09PT09PT09PT0gIEZvb3RlciAgPT09PT09PT09PSAqL1xuXG4kZm9vdGVyLWJnLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS04MDB9KVwiKSAhZGVmYXVsdDtcbiRmb290ZXItY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTUwMH0pXCIpICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS0zMDB9KVwiKSAhZGVmYXVsdDtcbiRmb290ZXItYnV0dG9uLWZpbGwtY29sb3I6ICRmb290ZXItY29sb3IgIWRlZmF1bHQ7XG4kZm9vdGVyLXVuZGVybGluZS1jb2xvcjogJGZvb3Rlci1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiBURVhURklFTEQgKi9cblxuJGlucHV0LXRleHQtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGlucHV0LXRleHQtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dC1wYWRkaW5nOiA0cHggIWRlZmF1bHQ7XG4kaW5wdXQtdGV4dC12ZXJ0aWNhbC1zcGFjaW5nOiAyMHB4ICFkZWZhdWx0O1xuXG4kaW5wdXQtdGV4dC1idXR0b24tc2l6ZTogMzJweCAhZGVmYXVsdDtcbiRpbnB1dC10ZXh0LWZsb2F0aW5nLWxhYmVsLWZvbnRzaXplOiAxMnB4ICFkZWZhdWx0O1xuJGlucHV0LXRleHQtZXhwYW5kYWJsZS1pY29uLXRvcDogMTZweCAhZGVmYXVsdDtcblxuXG4vKiBTV0lUQ0ggKi9cblxuJHN3aXRjaC1sYWJlbC1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kc3dpdGNoLWxhYmVsLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRzd2l0Y2gtdHJhY2staGVpZ2h0OiAxNHB4ICFkZWZhdWx0O1xuJHN3aXRjaC10cmFjay1sZW5ndGg6IDM2cHggIWRlZmF1bHQ7XG4kc3dpdGNoLXRodW1iLXNpemU6IDIwcHggIWRlZmF1bHQ7XG4kc3dpdGNoLXRyYWNrLXRvcDogKCRzd2l0Y2gtbGFiZWwtaGVpZ2h0IC0gJHN3aXRjaC10cmFjay1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcbiRzd2l0Y2gtdGh1bWItdG9wOiAoJHN3aXRjaC1sYWJlbC1oZWlnaHQgLSAkc3dpdGNoLXRodW1iLXNpemUpIC8gMiAhZGVmYXVsdDtcbiRzd2l0Y2gtcmlwcGxlLXNpemU6ICRzd2l0Y2gtbGFiZWwtaGVpZ2h0ICogMiAhZGVmYXVsdDtcbiRzd2l0Y2gtaGVscGVyLXNpemU6IDhweCAhZGVmYXVsdDtcblxuLyogU1BJTk5FUiAqL1xuXG4kc3Bpbm5lci1zaXplOiAyOHB4ICFkZWZhdWx0O1xuJHNwaW5uZXItc3Ryb2tlLXdpZHRoOiAzcHggIWRlZmF1bHQ7XG5cbi8vIEFtb3VudCBvZiBjaXJjbGUgdGhlIGFyYyB0YWtlcyB1cC5cbiRzcGlubmVyLWFyYy1zaXplOiAyNzBkZWcgIWRlZmF1bHQ7XG4vLyBUaW1lIGl0IHRha2VzIHRvIGV4cGFuZCBhbmQgY29udHJhY3QgYXJjLlxuJHNwaW5uZXItYXJjLXRpbWU6IDEzMzNtcyAhZGVmYXVsdDtcbi8vIEhvdyBtdWNoIHRoZSBzdGFydCBsb2NhdGlvbiBvZiB0aGUgYXJjIHNob3VsZCByb3RhdGUgZWFjaCB0aW1lLlxuJHNwaW5uZXItYXJjLXN0YXJ0LXJvdDogMjE2ZGVnICFkZWZhdWx0O1xuXG4kc3Bpbm5lci1kdXJhdGlvbjogMzYwICogJHNwaW5uZXItYXJjLXRpbWUgLyAoXG4gICAgc3RyaXAtdW5pdHMoJHNwaW5uZXItYXJjLXN0YXJ0LXJvdCArICgzNjBkZWcgLSAkc3Bpbm5lci1hcmMtc2l6ZSkpKTtcblxuXG4vKiBSQURJTyAqL1xuXG4kcmFkaW8tbGFiZWwtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJHJhZGlvLWxhYmVsLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRyYWRpby1idXR0b24tc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRyYWRpby1pbm5lci1tYXJnaW46ICRyYWRpby1idXR0b24tc2l6ZSAvIDQ7XG4kcmFkaW8tcGFkZGluZzogOHB4ICFkZWZhdWx0O1xuJHJhZGlvLXRvcC1vZmZzZXQ6ICgkcmFkaW8tbGFiZWwtaGVpZ2h0IC0gJHJhZGlvLWJ1dHRvbi1zaXplKSAvIDI7XG4kcmFkaW8tcmlwcGxlLXNpemU6IDQycHggIWRlZmF1bHQ7XG5cblxuLyogTUVOVSAqL1xuXG4kbWVudS1leHBhbmQtZHVyYXRpb246IDAuM3MgIWRlZmF1bHQ7XG4kbWVudS1mYWRlLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuXG4vKiBMSVNUICovXG5cbiRsaXN0LWJvcmRlcjogOHB4ICFkZWZhdWx0O1xuJGxpc3QtbWluLWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiRsaXN0LW1pbi1wYWRkaW5nOiAxNnB4ICFkZWZhdWx0O1xuJGxpc3QtYm90dG9tLXBhZGRpbmc6IDIwcHggIWRlZmF1bHQ7XG4kbGlzdC1hdmF0YXItdGV4dC1sZWZ0LWRpc3RhbmNlOiA3MnB4ICFkZWZhdWx0O1xuJGxpc3QtaWNvbi10ZXh0LWxlZnQtZGlzdGFuY2U6IDcycHggIWRlZmF1bHQ7XG5cbiRsaXN0LWF2YXRhci1zaXplOiA0MHB4ICFkZWZhdWx0O1xuJGxpc3QtaWNvbi1zaXplOiAyNHB4ICFkZWZhdWx0O1xuXG4kbGlzdC10d28tbGluZS1oZWlnaHQ6IDcycHggIWRlZmF1bHQ7XG4kbGlzdC10aHJlZS1saW5lLWhlaWdodDogODhweCAhZGVmYXVsdDtcblxuLyogTEFZT1VUICovXG5cbiRsYXlvdXQtZHJhd2VyLW5hcnJvdzogMjQwcHggIWRlZmF1bHQ7XG4kbGF5b3V0LWRyYXdlci13aWRlOiA0NTZweCAhZGVmYXVsdDtcbiRsYXlvdXQtZHJhd2VyLXdpZHRoOiAkbGF5b3V0LWRyYXdlci1uYXJyb3cgIWRlZmF1bHQ7XG5cbiRsYXlvdXQtaGVhZGVyLWljb24tc2l6ZTogMzJweCAhZGVmYXVsdDtcbiRsYXlvdXQtc2NyZWVuLXNpemUtdGhyZXNob2xkOiAxMDI0cHggIWRlZmF1bHQ7XG4kbGF5b3V0LWhlYWRlci1pY29uLW1hcmdpbjogMjRweCAhZGVmYXVsdDtcbiRsYXlvdXQtZHJhd2VyLWJ1dHRvbi1tb2JpbGUtc2l6ZTogMzJweCAhZGVmYXVsdDtcbiRsYXlvdXQtZHJhd2VyLWJ1dHRvbi1kZXNrdG9wLXNpemU6IDQ4cHggIWRlZmF1bHQ7XG5cbiRsYXlvdXQtaGVhZGVyLW1vYmlsZS1yb3ctaGVpZ2h0OiA1NnB4ICFkZWZhdWx0O1xuJGxheW91dC1tb2JpbGUtaGVhZGVyLWhlaWdodDogJGxheW91dC1oZWFkZXItbW9iaWxlLXJvdy1oZWlnaHQ7XG4kbGF5b3V0LWhlYWRlci1kZXNrdG9wLXJvdy1oZWlnaHQ6IDY0cHggIWRlZmF1bHQ7XG4kbGF5b3V0LWRlc2t0b3AtaGVhZGVyLWhlaWdodDogJGxheW91dC1oZWFkZXItZGVza3RvcC1yb3ctaGVpZ2h0O1xuXG4kbGF5b3V0LWhlYWRlci1kZXNrdG9wLWJhc2VsaW5lOiA4MHB4ICFkZWZhdWx0O1xuJGxheW91dC1oZWFkZXItbW9iaWxlLWJhc2VsaW5lOiA3MnB4ICFkZWZhdWx0O1xuJGxheW91dC1oZWFkZXItbW9iaWxlLWluZGVudDogMTZweCAhZGVmYXVsdDtcbiRsYXlvdXQtaGVhZGVyLWRlc2t0b3AtaW5kZW50OiA0MHB4ICFkZWZhdWx0O1xuXG4kbGF5b3V0LXRhYi1mb250LXNpemU6IDE0cHggIWRlZmF1bHQ7XG4kbGF5b3V0LXRhYi1iYXItaGVpZ2h0OiA0OHB4ICFkZWZhdWx0O1xuJGxheW91dC10YWItbW9iaWxlLXBhZGRpbmc6IDEycHggIWRlZmF1bHQ7XG4kbGF5b3V0LXRhYi1kZXNrdG9wLXBhZGRpbmc6IDI0cHggIWRlZmF1bHQ7XG4kbGF5b3V0LXRhYi1oaWdobGlnaHQtdGhpY2tuZXNzOiAycHggIWRlZmF1bHQ7XG5cblxuLyogSUNPTiBUT0dHTEUgKi9cblxuJGljb24tdG9nZ2xlLXNpemU6IDMycHggIWRlZmF1bHQ7XG4kaWNvbi10b2dnbGUtZm9udC1zaXplOiAyNHB4ICFkZWZhdWx0O1xuJGljb24tdG9nZ2xlLXJpcHBsZS1zaXplOiAzNnB4ICFkZWZhdWx0O1xuXG4vKiBGT09URVIgKi9cblxuLyptZWdhLWZvb3RlciovXG4kZm9vdGVyLW1pbi1wYWRkaW5nOiAxNnB4ICFkZWZhdWx0O1xuJGZvb3Rlci1wYWRkaW5nLXNpZGVzOiA0MHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcbiRmb290ZXItaGVhZGluZy1saW5lLWhlaWdodDogKDEuNyAqICRmb290ZXItaGVhZGluZy1mb250LXNpemUpICFkZWZhdWx0O1xuJGZvb3Rlci1idG4tc2l6ZTogMzZweCAgIWRlZmF1bHQ7XG5cbi8qbWluaS1mb290ZXIqL1xuJHBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG4kZm9vdGVyLWhlYWRpbmctZm9udC1zaXplOiAyNHB4ICFkZWZhdWx0O1xuJGZvb3Rlci1oZWFkaW5nLWxpbmUtaGVpZ2h0OiAoMS41ICogJGZvb3Rlci1oZWFkaW5nLWZvbnQtc2l6ZSkgIWRlZmF1bHQ7XG4kZm9vdGVyLWJ0bi1zaXplOiAzNnB4ICFkZWZhdWx0O1xuXG4vKiBDSEVDS0JPWCAqL1xuXG4kY2hlY2tib3gtbGFiZWwtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGNoZWNrYm94LWxhYmVsLWhlaWdodDogMjRweCAhZGVmYXVsdDtcbiRjaGVja2JveC1idXR0b24tc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRjaGVja2JveC1pbm5lci1tYXJnaW46IDJweCAhZGVmYXVsdDtcbiRjaGVja2JveC1wYWRkaW5nOiA4cHggIWRlZmF1bHQ7XG4kY2hlY2tib3gtdG9wLW9mZnNldDpcbigkY2hlY2tib3gtbGFiZWwtaGVpZ2h0IC0gJGNoZWNrYm94LWJ1dHRvbi1zaXplIC0gJGNoZWNrYm94LWlubmVyLW1hcmdpbikgLyAyO1xuJGNoZWNrYm94LXJpcHBsZS1zaXplOiAkY2hlY2tib3gtbGFiZWwtaGVpZ2h0ICogMS41O1xuXG4vKiBDQVJEICovXG5cbi8qIENhcmQgZGltZW5zaW9ucyAqL1xuJGNhcmQtd2lkdGg6IDMzMHB4ICFkZWZhdWx0O1xuJGNhcmQtaGVpZ2h0OiAyMDBweCAhZGVmYXVsdDtcbiRjYXJkLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogMjRweCAhZGVmYXVsdDtcbiRjYXJkLXN1YnRpdGxlLWZvbnQtc2l6ZTogMTRweCAhZGVmYXVsdDtcbiRjYXJkLWhvcml6b250YWwtcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbiRjYXJkLXZlcnRpY2FsLXBhZGRpbmc6IDE2cHggIWRlZmF1bHQ7XG5cbiRjYXJkLXRpdGxlLXBlcnNwZWN0aXZlLW9yaWdpbi14OiAxNjVweCAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLXBlcnNwZWN0aXZlLW9yaWdpbi15OiA1NnB4ICFkZWZhdWx0O1xuXG4kY2FyZC10aXRsZS10cmFuc2Zvcm0tb3JpZ2luLXg6IDE2NXB4ICFkZWZhdWx0O1xuJGNhcmQtdGl0bGUtdHJhbnNmb3JtLW9yaWdpbi15OiA1NnB4ICFkZWZhdWx0O1xuXG4kY2FyZC10aXRsZS10ZXh0LXRyYW5zZm9ybS1vcmlnaW4teDogMTQ5cHggIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS10ZXh0LXRyYW5zZm9ybS1vcmlnaW4teTogNDhweCAhZGVmYXVsdDtcblxuJGNhcmQtc3VwcG9ydGluZy10ZXh0LWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRjYXJkLXN1cHBvcnRpbmctdGV4dC1saW5lLWhlaWdodDogMThweCAhZGVmYXVsdDtcblxuJGNhcmQtYWN0aW9ucy1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbiRjYXJkLXRpdGxlLXRleHQtZm9udC13ZWlnaHQ6IDMwMCAhZGVmYXVsdDtcbiRjYXJkLXotaW5kZXg6IDEgIWRlZmF1bHQ7XG5cbi8qIENvdmVyIGltYWdlICovXG4kY2FyZC1jb3Zlci1pbWFnZS1oZWlnaHQ6IDE4NnB4ICFkZWZhdWx0O1xuJGNhcmQtYmFja2dyb3VuZC1pbWFnZS11cmw6ICcnICFkZWZhdWx0O1xuXG5cbi8qIEJVVFRPTiAqL1xuLyoqXG4gKlxuICogRGltZW5zaW9uc1xuICpcbiAqL1xuJGJ1dHRvbi1taW4td2lkdGg6IDY0cHggIWRlZmF1bHQ7XG4kYnV0dG9uLWhlaWdodDogMzZweCAhZGVmYXVsdDtcbiRidXR0b24tcGFkZGluZzogMTZweCAhZGVmYXVsdDtcbiRidXR0b24tbWFyZ2luOiA0cHggIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci1yYWRpdXM6IDJweCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1mYWItc2l6ZTogNTZweCAhZGVmYXVsdDtcbiRidXR0b24tZmFiLXNpemUtbWluaTogNDBweCAhZGVmYXVsdDtcbiRidXR0b24tZmFiLWZvbnQtc2l6ZTogMjRweCAhZGVmYXVsdDtcblxuJGJ1dHRvbi1pY29uLXNpemU6IDMycHggIWRlZmF1bHQ7XG4kYnV0dG9uLWljb24tc2l6ZS1taW5pOiAyNHB4ICFkZWZhdWx0O1xuXG5cbi8qIEFOSU1BVElPTiAqL1xuJGFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluOiBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1jdXJ2ZS1saW5lYXItb3V0LXNsb3ctaW46IGN1YmljLWJlemllcigwLCAwLCAwLjIsIDEpICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1saW5lYXItaW46IGN1YmljLWJlemllcigwLjQsIDAsIDEsIDEpICFkZWZhdWx0O1xuXG4kYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHQ6ICRhbmltYXRpb24tY3VydmUtZmFzdC1vdXQtc2xvdy1pbiAhZGVmYXVsdDtcblxuXG4vKiBQUk9HUkVTUyAqL1xuJGJhci1oZWlnaHQ6IDRweCAhZGVmYXVsdDtcblxuLyogQkFER0UgKi9cbiRiYWRnZS1mb250LXNpemU6IDEycHggIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYWNjZW50LWNvbnRyYXN0fSlcIikgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3ItaW52ZXJzZTogdW5xdW90ZShcInJnYigjeyRjb2xvci1hY2NlbnR9KVwiKSAhZGVmYXVsdDtcbiRiYWRnZS1iYWNrZ3JvdW5kOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLWFjY2VudH0pXCIpICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQtaW52ZXJzZTogdW5xdW90ZShcInJnYmEoI3skY29sb3ItYWNjZW50LWNvbnRyYXN0fSwwLjIpXCIpICFkZWZhdWx0O1xuJGJhZGdlLXNpemUgOiAyMnB4ICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmc6IDJweCAhZGVmYXVsdDtcbiRiYWRnZS1vdmVybGFwOiAxMnB4ICFkZWZhdWx0O1xuXG4vKiBTSEFET1dTICovXG5cbiRzaGFkb3cta2V5LXVtYnJhLW9wYWNpdHk6IDAuMiAhZGVmYXVsdDtcbiRzaGFkb3cta2V5LXBlbnVtYnJhLW9wYWNpdHk6IDAuMTQgIWRlZmF1bHQ7XG4kc2hhZG93LWFtYmllbnQtc2hhZG93LW9wYWNpdHk6IDAuMTIgIWRlZmF1bHQ7XG5cbi8qIEdSSUQgKi9cblxuJGdyaWQtZGVza3RvcC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcbiRncmlkLWRlc2t0b3AtZ3V0dGVyOiAxNnB4ICFkZWZhdWx0O1xuJGdyaWQtZGVza3RvcC1tYXJnaW46IDE2cHggIWRlZmF1bHQ7XG5cbiRncmlkLWRlc2t0b3AtYnJlYWtwb2ludDogODQwcHggIWRlZmF1bHQ7XG5cbiRncmlkLXRhYmxldC1jb2x1bW5zOiA4ICFkZWZhdWx0O1xuJGdyaWQtdGFibGV0LWd1dHRlcjogJGdyaWQtZGVza3RvcC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC10YWJsZXQtbWFyZ2luOiAkZ3JpZC1kZXNrdG9wLW1hcmdpbiAhZGVmYXVsdDtcblxuJGdyaWQtdGFibGV0LWJyZWFrcG9pbnQ6IDQ4MHB4ICFkZWZhdWx0O1xuXG4kZ3JpZC1waG9uZS1jb2x1bW5zOiA0ICFkZWZhdWx0O1xuJGdyaWQtcGhvbmUtZ3V0dGVyOiAkZ3JpZC1kZXNrdG9wLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLXBob25lLW1hcmdpbjogJGdyaWQtZGVza3RvcC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRncmlkLWNlbGwtZGVmYXVsdC1jb2x1bW5zOiAkZ3JpZC1waG9uZS1jb2x1bW5zICFkZWZhdWx0O1xuJGdyaWQtbWF4LWNvbHVtbnM6ICRncmlkLWRlc2t0b3AtY29sdW1ucyAhZGVmYXVsdDtcblxuLyogREFUQSBUQUJMRSAqL1xuXG4kZGF0YS10YWJsZS1mb250LXNpemU6IDEzcHggIWRlZmF1bHQ7XG4kZGF0YS10YWJsZS1oZWFkZXItZm9udC1zaXplOiAxMnB4ICFkZWZhdWx0O1xuJGRhdGEtdGFibGUtaGVhZGVyLXNvcnQtaWNvbi1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4kZGF0YS10YWJsZS1oZWFkZXItY29sb3I6IHJnYmEoIzAwMCwgMC41NCkgIWRlZmF1bHQ7XG4kZGF0YS10YWJsZS1oZWFkZXItc29ydGVkLWNvbG9yOiByZ2JhKCMwMDAsIDAuODcpICFkZWZhdWx0O1xuJGRhdGEtdGFibGUtaGVhZGVyLXNvcnRlZC1pY29uLWhvdmVyLWNvbG9yOiByZ2JhKCMwMDAsIDAuMjYpICFkZWZhdWx0O1xuJGRhdGEtdGFibGUtZGl2aWRlci1jb2xvcjogcmdiYSgjMDAwLCAwLjEyKSAhZGVmYXVsdDtcblxuJGRhdGEtdGFibGUtaG92ZXItY29sb3I6ICNlZWVlZWUgIWRlZmF1bHQ7XG4kZGF0YS10YWJsZS1zZWxlY3Rpb24tY29sb3I6ICNlMGUwZTAgIWRlZmF1bHQ7XG5cbiRkYXRhLXRhYmxlLWRpdmlkZXJzOiAxcHggc29saWQgJGRhdGEtdGFibGUtZGl2aWRlci1jb2xvciAhZGVmYXVsdDtcblxuJGRhdGEtdGFibGUtcm93LWhlaWdodDogNDhweCAhZGVmYXVsdDtcbiRkYXRhLXRhYmxlLWxhc3Qtcm93LWhlaWdodDogNTZweCAhZGVmYXVsdDtcbiRkYXRhLXRhYmxlLWhlYWRlci1oZWlnaHQ6IDU2cHggIWRlZmF1bHQ7XG5cbiRkYXRhLXRhYmxlLWNvbHVtbi1zcGFjaW5nOiAzNnB4ICFkZWZhdWx0O1xuJGRhdGEtdGFibGUtY29sdW1uLXBhZGRpbmc6ICRkYXRhLXRhYmxlLWNvbHVtbi1zcGFjaW5nIC8gMjtcblxuJGRhdGEtdGFibGUtY2FyZC1oZWFkZXItaGVpZ2h0OiA2NHB4ICFkZWZhdWx0O1xuJGRhdGEtdGFibGUtY2FyZC10aXRsZS10b3A6IDIwcHggIWRlZmF1bHQ7XG4kZGF0YS10YWJsZS1jYXJkLXBhZGRpbmc6IDI0cHggIWRlZmF1bHQ7XG4kZGF0YS10YWJsZS1idXR0b24tcGFkZGluZy1yaWdodDogMTZweCAhZGVmYXVsdDtcbiRkYXRhLXRhYmxlLWNlbGwtdG9wOiAkZGF0YS10YWJsZS1jYXJkLXBhZGRpbmcgLyAyO1xuXG4vKiBESUFMT0cgKi9cbiRkaWFsb2ctY29udGVudC1jb2xvcjogJGNhcmQtc3VwcG9ydGluZy10ZXh0LXRleHQtY29sb3I7XG5cbi8qIFNOQUNLQkFSICovXG5cbi8vIEhhcmQgY29kZWQgc2luY2UgdGhlIGNvbG9yIGlzIG5vdCBwcmVzZW50IGluIGFueSBwYWxldHRlLlxuJHNuYWNrYmFyLWJhY2tncm91bmQtY29sb3I6ICMzMjMyMzIgIWRlZmF1bHQ7XG4kc25hY2tiYXItdGFibGV0LWJyZWFrcG9pbnQ6ICRncmlkLXRhYmxldC1icmVha3BvaW50O1xuJHNuYWNrYmFyLWFjdGlvbi1jb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci1hY2NlbnR9KVwiKSAhZGVmYXVsdDtcblxuLyogVE9PTFRJUCAqL1xuJHRvb2x0aXAtZm9udC1zaXplOiAxMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplLWxhcmdlOiAxNHB4ICFkZWZhdWx0O1xuXG4vKiBDSElQICovXG4kY2hpcC1iZy1jb2xvcjogcmdiKDIyMiwgMjIyLCAyMjIpICFkZWZhdWx0O1xuJGNoaXAtYmctYWN0aXZlLWNvbG9yOiByZ2IoMjE0LCAyMTQsIDIxNCkgIWRlZmF1bHQ7XG4kY2hpcC1oZWlnaHQ6IDMycHggIWRlZmF1bHQ7XG4kY2hpcC1mb250LXNpemU6IDEzcHggIWRlZmF1bHQ7IFxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuXG4vKiBSZW1vdmUgdGhlIHVud2FudGVkIGJveCBhcm91bmQgRkFCIGJ1dHRvbnMgKi9cbi8qIE1vcmUgaW5mbzogaHR0cDovL2dvby5nbC9JUHdLaSAqL1xuYSwgLm1kbC1hY2NvcmRpb24sIC5tZGwtYnV0dG9uLCAubWRsLWNhcmQsIC5tZGwtY2hlY2tib3gsIC5tZGwtZHJvcGRvd24tbWVudSxcbi5tZGwtaWNvbi10b2dnbGUsIC5tZGwtaXRlbSwgLm1kbC1yYWRpbywgLm1kbC1zbGlkZXIsIC5tZGwtc3dpdGNoLCAubWRsLXRhYnNfX3RhYiB7XG5cbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTtcbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCJoNWJwXCI7XG5AaW1wb3J0IFwibW9iaWxlXCI7XG5cbi8qXG4gKiBNYWtlIGh0bWwgdGFrZSB1cCB0aGUgZW50aXJlIHNjcmVlblxuICogVGhlbiBzZXQgdG91Y2gtYWN0aW9uIHRvIGF2b2lkIHRvdWNoIGRlbGF5IG9uIG1vYmlsZSBJRVxuICovXG5odG1sIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuLypcbiogTWFrZSBib2R5IHRha2UgdXAgdGhlIGVudGlyZSBzY3JlZW5cbiogUmVtb3ZlIGJvZHkgbWFyZ2luIHNvIGxheW91dCBjb250YWluZXJzIGRvbid0IGNhdXNlIGV4dHJhIG92ZXJmbG93LlxuKi9cbmJvZHkge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKlxuICogTWFpbiBkaXNwbGF5IHJlc2V0IGZvciBJRSBzdXBwb3J0LlxuICogU291cmNlOiBodHRwOi8vd2VibG9nLndlc3Qtd2luZC5jb20vcG9zdHMvMjAxNS9KYW4vMTIvbWFpbi1IVE1MNS1UYWctbm90LXdvcmtpbmctaW4tSW50ZXJuZXQtRXhwbG9yZXItOTEwMTFcbiAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuKiBBcHBseSBubyBkaXNwbGF5IHRvIGVsZW1lbnRzIHdpdGggdGhlIGhpZGRlbiBhdHRyaWJ1dGUuXG4qIElFIDkgYW5kIDEwIHN1cHBvcnQuXG4qL1xuKltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG5AaWYgJHRyaW0tY29sb3ItY2xhc3NlcyA9PSBmYWxzZSB7XG4gIC8vIFJlZFxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXJlZC01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcmVkLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXJlZC01MCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcmVkLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcmVkLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC0yMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLTMwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC0zMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC00MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLTUwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC01MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLTYwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC02MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC03MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLTgwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC04MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLTkwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLUExMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcmVkLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcmVkLUExMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtQTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXJlZC1BMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXJlZC1BMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXJlZC1BMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcmVkLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1yZWQtQTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtQTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1yZWQtQTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXJlZC1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcmVkLUE3MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcmVkLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcmVkLUE3MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1yZWQtQTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBQaW5rXG5cbiAgLm1kbC1jb2xvci10ZXh0LS1waW5rIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXBpbmstNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXBpbmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXBpbmstNTAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay01MH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1waW5rLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay01MH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXBpbmstMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXBpbmstMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXBpbmstMTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1waW5rLTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1waW5rLTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXBpbmstMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcGluay0zMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcGluay0zMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXBpbmstNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXBpbmstNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXBpbmstNDAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1waW5rLTUwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1waW5rLTUwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXBpbmstNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcGluay02MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcGluay02MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXBpbmstNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXBpbmstNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXBpbmstNzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1waW5rLTgwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLTgwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1waW5rLTgwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXBpbmstODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcGluay05MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcGluay05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXBpbmstQTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcGluay1BMTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay1BMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcGluay1BMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXBpbmstQTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1waW5rLUEyMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1waW5rLUE0MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXBpbmstQTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXBpbmstQTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXBpbmstQTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1waW5rLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcGluay1BNzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcGluay1BNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFB1cnBsZVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXB1cnBsZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcHVycGxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcHVycGxlLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXB1cnBsZS01MCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcHVycGxlLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcHVycGxlLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS0yMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTMwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS0zMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS00MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTUwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS01MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTYwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS02MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS03MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTgwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS04MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLTkwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLUExMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcHVycGxlLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcHVycGxlLUExMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtQTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXB1cnBsZS1BMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXB1cnBsZS1BMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXB1cnBsZS1BMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcHVycGxlLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1wdXJwbGUtQTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtQTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1wdXJwbGUtQTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXB1cnBsZS1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tcHVycGxlLUE3MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtcHVycGxlLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tcHVycGxlLUE3MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1wdXJwbGUtQTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBEZWVwIFB1cnBsZS5cblxuICAubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1kZWVwLXB1cnBsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTUwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtcHVycGxlLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1wdXJwbGUtNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS0xMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1wdXJwbGUtMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtcHVycGxlLTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLXB1cnBsZS0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUtMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1wdXJwbGUtMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1wdXJwbGUtMzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS0zMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLXB1cnBsZS0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS00MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1wdXJwbGUtNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtcHVycGxlLTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTUwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLXB1cnBsZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUtNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1wdXJwbGUtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1wdXJwbGUtNjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS02MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLXB1cnBsZS02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS03MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1wdXJwbGUtNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtcHVycGxlLTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWRlZXAtcHVycGxlLTgwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLXB1cnBsZS04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUtODAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1wdXJwbGUtODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1wdXJwbGUtOTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1kZWVwLXB1cnBsZS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLXB1cnBsZS05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS1BMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUtQTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS1BMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUtQTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS1BNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUtQTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLXB1cnBsZS1BNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1wdXJwbGUtQTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtcHVycGxlLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gSW5kaWdvXG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28ge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtaW5kaWdvLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1pbmRpZ28ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1pbmRpZ28tNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0taW5kaWdvLTUwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby01MH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1pbmRpZ28tNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1pbmRpZ28tNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tMzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLTMwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tNTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLTUwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tNjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLTYwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tODAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLTgwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tOTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLTkwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tQTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1pbmRpZ28tQTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1pbmRpZ28tQTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby1BMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0taW5kaWdvLUEyMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtaW5kaWdvLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0taW5kaWdvLUEyMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1pbmRpZ28tQTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWluZGlnby1BNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWluZGlnby1BNDAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtaW5kaWdvLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1pbmRpZ28tQTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1pbmRpZ28tQTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1pbmRpZ28tQTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWluZGlnby1BNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEJsdWVcblxuICAubWRsLWNvbG9yLXRleHQtLWJsdWUge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS01MCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS0xMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYmx1ZS0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWJsdWUtMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ibHVlLTMwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ibHVlLTMwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS00MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYmx1ZS00MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWJsdWUtNTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ibHVlLTYwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ibHVlLTYwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS03MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYmx1ZS03MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWJsdWUtODAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtODAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ibHVlLTkwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ibHVlLTkwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1BMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtQTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ibHVlLUExMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ibHVlLUEyMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS1BMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtQTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtQTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWJsdWUtQTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYmx1ZS1BNDAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1BNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtQTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ibHVlLUE3MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gTGlnaHQgQmx1ZVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZSB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ibHVlLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saWdodC1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLTUwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS01MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ibHVlLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saWdodC1ibHVlLTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZS0yMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS0yMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ibHVlLTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWJsdWUtMzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpZ2h0LWJsdWUtMzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ibHVlLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saWdodC1ibHVlLTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZS01MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS01MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ibHVlLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWJsdWUtNjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpZ2h0LWJsdWUtNjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ibHVlLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saWdodC1ibHVlLTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZS04MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS04MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ibHVlLTgwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWJsdWUtOTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpZ2h0LWJsdWUtOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLUExMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS1BMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpZ2h0LWJsdWUtQTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtQTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWJsdWUtQTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ibHVlLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtYmx1ZS1BMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS1BMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGlnaHQtYmx1ZS1BNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtQTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saWdodC1ibHVlLUE0MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ibHVlLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ibHVlLUE3MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtYmx1ZS1BNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpZ2h0LWJsdWUtQTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWJsdWUtQTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBDeWFuXG5cbiAgLm1kbC1jb2xvci10ZXh0LS1jeWFuIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWN5YW4tNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWN5YW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWN5YW4tNTAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi01MH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1jeWFuLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi01MH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWN5YW4tMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWN5YW4tMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWN5YW4tMTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1jeWFuLTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1jeWFuLTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWN5YW4tMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tY3lhbi0zMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tY3lhbi0zMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWN5YW4tNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWN5YW4tNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWN5YW4tNDAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1jeWFuLTUwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1jeWFuLTUwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWN5YW4tNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tY3lhbi02MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tY3lhbi02MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWN5YW4tNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWN5YW4tNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWN5YW4tNzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1jeWFuLTgwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLTgwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1jeWFuLTgwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWN5YW4tODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tY3lhbi05MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tY3lhbi05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWN5YW4tQTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tY3lhbi1BMTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi1BMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tY3lhbi1BMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWN5YW4tQTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1jeWFuLUEyMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1jeWFuLUE0MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWN5YW4tQTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWN5YW4tQTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWN5YW4tQTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1jeWFuLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tY3lhbi1BNzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtY3lhbi1BNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIFRlYWxcblxuICAubWRsLWNvbG9yLXRleHQtLXRlYWwge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtdGVhbC01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tdGVhbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tdGVhbC01MCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXRlYWwtNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tdGVhbC0xMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtdGVhbC0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tdGVhbC0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXRlYWwtMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXRlYWwtMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtdGVhbC0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS10ZWFsLTMwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS10ZWFsLTMwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tdGVhbC00MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtdGVhbC00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tdGVhbC00MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXRlYWwtNTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXRlYWwtNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtdGVhbC01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS10ZWFsLTYwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS10ZWFsLTYwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tdGVhbC03MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtdGVhbC03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tdGVhbC03MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXRlYWwtODAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXRlYWwtODAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtdGVhbC04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS10ZWFsLTkwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS10ZWFsLTkwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tdGVhbC1BMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtQTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS10ZWFsLUExMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS10ZWFsLUEyMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtdGVhbC1BMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXRlYWwtQTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtQTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXRlYWwtQTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tdGVhbC1BNDAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtdGVhbC1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tdGVhbC1BNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXRlYWwtQTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS10ZWFsLUE3MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS10ZWFsLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gR3JlZW5cblxuICAubWRsLWNvbG9yLXRleHQtLWdyZWVuIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWdyZWVuLTUwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWdyZWVuLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JlZW4tNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmVlbi0xMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JlZW4tMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWdyZWVuLTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWdyZWVuLTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmVlbi0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JlZW4tMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JlZW4tMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZ3JlZW4tMzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ncmVlbi0zMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmVlbi0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmVlbi00MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JlZW4tNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWdyZWVuLTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWdyZWVuLTUwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmVlbi01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JlZW4tNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JlZW4tNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZ3JlZW4tNjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ncmVlbi02MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmVlbi02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmVlbi03MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JlZW4tNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWdyZWVuLTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWdyZWVuLTgwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmVlbi04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JlZW4tODAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JlZW4tODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZ3JlZW4tOTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ncmVlbi05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmVlbi05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmVlbi1BMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JlZW4tQTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmVlbi1BMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JlZW4tQTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmVlbi1BNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JlZW4tQTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmVlbi1BNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JlZW4tQTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZWVuLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gTGlnaHQgR3JlZW5cblxuICAubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWdyZWVuIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saWdodC1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWdyZWVuLTUwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpZ2h0LWdyZWVuLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtZ3JlZW4tNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi0xMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtZ3JlZW4tMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpZ2h0LWdyZWVuLTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWdyZWVuLTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ncmVlbi0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtZ3JlZW4tMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGlnaHQtZ3JlZW4tMzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saWdodC1ncmVlbi0zMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ncmVlbi0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi00MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtZ3JlZW4tNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpZ2h0LWdyZWVuLTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWdyZWVuLTUwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ncmVlbi01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtZ3JlZW4tNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGlnaHQtZ3JlZW4tNjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saWdodC1ncmVlbi02MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ncmVlbi02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi03MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtZ3JlZW4tNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpZ2h0LWdyZWVuLTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpZ2h0LWdyZWVuLTgwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ncmVlbi04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tODAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGlnaHQtZ3JlZW4tODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGlnaHQtZ3JlZW4tOTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saWdodC1ncmVlbi05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saWdodC1ncmVlbi05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi1BMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tQTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi1BMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tQTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi1BNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tQTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saWdodC1ncmVlbi1BNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGlnaHQtZ3JlZW4tQTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpZ2h0LWdyZWVuLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gTGltZVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGltZSB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saW1lLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saW1lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saW1lLTUwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGltZS01MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saW1lLTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saW1lLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saW1lLTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGltZS0yMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGltZS0yMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saW1lLTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpbWUtMzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpbWUtMzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saW1lLTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saW1lLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saW1lLTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGltZS01MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGltZS01MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saW1lLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpbWUtNjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpbWUtNjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saW1lLTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saW1lLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saW1lLTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGltZS04MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGltZS04MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saW1lLTgwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpbWUtOTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpbWUtOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saW1lLUExMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS1BMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpbWUtQTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtQTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWxpbWUtQTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saW1lLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tbGltZS1BMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS1BMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tbGltZS1BNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtQTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1saW1lLUE0MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1saW1lLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1saW1lLUE3MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtbGltZS1BNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWxpbWUtQTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWxpbWUtQTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBZZWxsb3dcblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdyB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS15ZWxsb3ctNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXllbGxvdy01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS15ZWxsb3ctNTAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXllbGxvdy01MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXllbGxvdy01MH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy0xMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctMTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy0yMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy0zMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctMzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy00MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctNDAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy01MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy02MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctNjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy03MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctNzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy04MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTgwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctODAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTgwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy05MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy1BMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXllbGxvdy1BMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXllbGxvdy1BMTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS15ZWxsb3ctQTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS15ZWxsb3ctQTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS15ZWxsb3ctQTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXllbGxvdy1BMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0teWVsbG93LUE0MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0teWVsbG93LUE0MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS15ZWxsb3ctQTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXllbGxvdy1BNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLXllbGxvdy1BNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLXllbGxvdy1BNzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUteWVsbG93LUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gQW1iZXJcblxuICAubWRsLWNvbG9yLXRleHQtLWFtYmVyIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1hbWJlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWFtYmVyLTUwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWFtYmVyLTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYW1iZXItNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1hbWJlci0xMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYW1iZXItMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWFtYmVyLTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWFtYmVyLTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1hbWJlci0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYW1iZXItMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYW1iZXItMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYW1iZXItMzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1hbWJlci0zMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1hbWJlci0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1hbWJlci00MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYW1iZXItNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWFtYmVyLTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWFtYmVyLTUwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1hbWJlci01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYW1iZXItNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYW1iZXItNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYW1iZXItNjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1hbWJlci02MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1hbWJlci02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1hbWJlci03MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYW1iZXItNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWFtYmVyLTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWFtYmVyLTgwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1hbWJlci04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYW1iZXItODAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYW1iZXItODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYW1iZXItOTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1hbWJlci05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1hbWJlci05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1hbWJlci1BMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYW1iZXItQTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLUExMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1hbWJlci1BMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYW1iZXItQTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1hbWJlci1BNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYW1iZXItQTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1hbWJlci1BNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYW1iZXItQTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWFtYmVyLUE3MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gT3JhbmdlXG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2Uge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtb3JhbmdlLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1vcmFuZ2UtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tb3JhbmdlLTUwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS01MH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1vcmFuZ2UtNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1vcmFuZ2UtNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtMzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLTMwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLTQwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtNTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLTUwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtNjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLTYwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtODAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLTgwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtOTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLTkwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtQTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1vcmFuZ2UtQTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1vcmFuZ2UtQTEwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS1BMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tb3JhbmdlLUEyMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtb3JhbmdlLUEyMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tb3JhbmdlLUEyMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1vcmFuZ2UtQTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLW9yYW5nZS1BNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLW9yYW5nZS1BNDAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtb3JhbmdlLUE0MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1vcmFuZ2UtQTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1vcmFuZ2UtQTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1vcmFuZ2UtQTcwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLW9yYW5nZS1BNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIERlZXAgT3JhbmdlXG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLW9yYW5nZSB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLW9yYW5nZS01MCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS01MH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1kZWVwLW9yYW5nZS01MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtb3JhbmdlLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtb3JhbmdlLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1kZWVwLW9yYW5nZS0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLW9yYW5nZS0yMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1vcmFuZ2UtMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtb3JhbmdlLTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLTMwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1vcmFuZ2UtMzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1vcmFuZ2UtMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtb3JhbmdlLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1kZWVwLW9yYW5nZS00MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLW9yYW5nZS01MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1vcmFuZ2UtNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLTUwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtb3JhbmdlLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLTYwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1vcmFuZ2UtNjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1vcmFuZ2UtNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtb3JhbmdlLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1kZWVwLW9yYW5nZS03MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1kZWVwLW9yYW5nZS04MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1vcmFuZ2UtODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLTgwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWRlZXAtb3JhbmdlLTgwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWRlZXAtb3JhbmdlLTkwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZGVlcC1vcmFuZ2UtOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZGVlcC1vcmFuZ2UtOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtQTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS1BMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLUExMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS1BMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtQTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS1BMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLUEyMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS1BMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtQTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLUE0MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS1BNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZGVlcC1vcmFuZ2UtQTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS1BNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWRlZXAtb3JhbmdlLUE3MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1kZWVwLW9yYW5nZS1BNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEJyb3duXG5cbiAgLm1kbC1jb2xvci10ZXh0LS1icm93biB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1icm93bi01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYnJvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1icm93bi01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1icm93bi01MCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1icm93bi01MH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1icm93bi01MCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJyb3duLTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYnJvd24tMTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJyb3duLTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1icm93bi0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1icm93bi0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1icm93bi0yMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYnJvd24tMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJyb3duLTIwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJyb3duLTIwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWJyb3duLTMwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1icm93bi0zMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYnJvd24tMzAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYnJvd24tMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYnJvd24tNDAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJyb3duLTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1icm93bi00MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1icm93bi00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1icm93bi01MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYnJvd24tNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJyb3duLTUwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJyb3duLTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWJyb3duLTYwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1icm93bi02MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYnJvd24tNjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYnJvd24tNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYnJvd24tNzAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJyb3duLTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1icm93bi03MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1icm93bi03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1icm93bi04MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYnJvd24tODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJyb3duLTgwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJyb3duLTgwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWJyb3duLTkwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1icm93bi05MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYnJvd24tOTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYnJvd24tOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEdyZXlcblxuICAubWRsLWNvbG9yLXRleHQtLWdyZXkge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZ3JleS01MCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWdyZXktNTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZ3JleS0xMDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS0xMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JleS0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTEwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWdyZXktMjAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWdyZXktMjAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS0yMDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmV5LTMwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTMwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ncmV5LTMwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZ3JleS00MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS00MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JleS00MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTQwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWdyZXktNTAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWdyZXktNTAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmV5LTYwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTYwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ncmV5LTYwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tZ3JleS03MDAge1xuICAgIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS03MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tZ3JleS03MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTcwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWdyZXktODAwIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWdyZXktODAwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtZ3JleS04MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ncmV5LTkwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ncmV5LTkwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLS1ncmV5LTkwMCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWdyZXktOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEJsdWUgR3JleVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5IHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRwYWxldHRlLWJsdWUtZ3JleS01MDB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYmx1ZS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS1ncmV5LTUwMH0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLWJsdWUtZ3JleS01MCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktNTB9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci0tYmx1ZS1ncmV5LTUwIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JHBhbGV0dGUtYmx1ZS1ncmV5LTUwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTEwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtZ3JleS0xMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktMTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTIwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtZ3JleS0yMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktMjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTMwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtZ3JleS0zMDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktMzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTQwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtZ3JleS00MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktNDAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTUwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtZ3JleS01MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktNTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTYwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtZ3JleS02MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktNjAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTcwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtZ3JleS03MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktNzAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTgwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtZ3JleS04MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktODAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItdGV4dC0tYmx1ZS1ncmV5LTkwMCB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5tZGwtY29sb3ItLWJsdWUtZ3JleS05MDAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skcGFsZXR0ZS1ibHVlLWdyZXktOTAwfSlcIikgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIEJsYWNrXG5cbiAgLm1kbC1jb2xvci0tYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYmxhY2t9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLm1kbC1jb2xvci10ZXh0LS1ibGFjayB7XG4gICAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYmxhY2t9KVwiKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gV2hpdGVcblxuICAubWRsLWNvbG9yLS13aGl0ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci13aGl0ZX0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cblxuICAubWRsLWNvbG9yLXRleHQtLXdoaXRlIHtcbiAgICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci13aGl0ZX0pXCIpICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8gUHJpbWFyeSBhbmQgYWNjZW50XG5cbi5tZGwtY29sb3ItLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLXByaW1hcnl9KVwiKSAhaW1wb3J0YW50O1xufVxuXG4ubWRsLWNvbG9yLS1wcmltYXJ5LWNvbnRyYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci1wcmltYXJ5LWNvbnRyYXN0fSlcIikgIWltcG9ydGFudDtcbn1cblxuLm1kbC1jb2xvci0tcHJpbWFyeS1kYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci1wcmltYXJ5LWRhcmt9KVwiKSAhaW1wb3J0YW50O1xufVxuXG4ubWRsLWNvbG9yLS1hY2NlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLWFjY2VudH0pXCIpICFpbXBvcnRhbnQ7XG59XG5cbi5tZGwtY29sb3ItLWFjY2VudC1jb250cmFzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYWNjZW50LWNvbnRyYXN0fSlcIikgIWltcG9ydGFudDtcbn1cblxuLm1kbC1jb2xvci10ZXh0LS1wcmltYXJ5IHtcbiAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItcHJpbWFyeX0pXCIpICFpbXBvcnRhbnQ7XG59XG5cbi5tZGwtY29sb3ItdGV4dC0tcHJpbWFyeS1jb250cmFzdCB7XG4gIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLXByaW1hcnktY29udHJhc3R9KVwiKSAhaW1wb3J0YW50O1xufVxuXG4ubWRsLWNvbG9yLXRleHQtLXByaW1hcnktZGFyayB7XG4gIGNvbG9yOiB1bnF1b3RlKFwicmdiKCN7JGNvbG9yLXByaW1hcnktZGFya30pXCIpICFpbXBvcnRhbnQ7XG59XG5cbi5tZGwtY29sb3ItdGV4dC0tYWNjZW50IHtcbiAgY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3ItYWNjZW50fSlcIikgIWltcG9ydGFudDtcbn1cblxuLm1kbC1jb2xvci10ZXh0LS1hY2NlbnQtY29udHJhc3Qge1xuICBjb2xvcjogdW5xdW90ZShcInJnYigjeyRjb2xvci1hY2NlbnQtY29udHJhc3R9KVwiKSAhaW1wb3J0YW50O1xufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4ubWRsLXJpcHBsZSB7XG4gIGJhY2tncm91bmQgICAgICAgOiAkcmlwcGxlLWJnLWNvbG9yO1xuICBib3JkZXItcmFkaXVzICAgIDogNTAlO1xuICBoZWlnaHQgICAgICAgICAgIDogNTBweDtcbiAgbGVmdCAgICAgICAgICAgICA6IDA7XG4gIG9wYWNpdHkgICAgICAgICAgOiAwO1xuICBwb2ludGVyLWV2ZW50cyAgIDogbm9uZTtcbiAgcG9zaXRpb24gICAgICAgICA6IGFic29sdXRlO1xuICB0b3AgICAgICAgICAgICAgIDogMDtcbiAgdHJhbnNmb3JtICAgICAgICA6IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGggICAgICAgICAgICA6IDUwcHg7XG4gIG92ZXJmbG93ICAgICAgICAgOiBoaWRkZW47XG5cbiAgJi5pcy1hbmltYXRpbmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzICRhbmltYXRpb24tY3VydmUtbGluZWFyLW91dC1zbG93LWluLFxuICAgIHdpZHRoIDAuM3MgJGFuaW1hdGlvbi1jdXJ2ZS1saW5lYXItb3V0LXNsb3ctaW4sXG4gICAgaGVpZ2h0IDAuM3MgJGFuaW1hdGlvbi1jdXJ2ZS1saW5lYXItb3V0LXNsb3ctaW4sXG4gICAgb3BhY2l0eSAwLjZzICRhbmltYXRpb24tY3VydmUtbGluZWFyLW91dC1zbG93LWluO1xuICB9XG5cbiAgJi5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuXG4ubWRsLWFuaW1hdGlvbi0tZGVmYXVsdCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHQ7XG59XG5cbi5tZGwtYW5pbWF0aW9uLS1mYXN0LW91dC1zbG93LWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRhbmltYXRpb24tY3VydmUtZmFzdC1vdXQtc2xvdy1pbjtcbn1cblxuLm1kbC1hbmltYXRpb24tLWxpbmVhci1vdXQtc2xvdy1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYW5pbWF0aW9uLWN1cnZlLWxpbmVhci1vdXQtc2xvdy1pbjtcbn1cblxuLm1kbC1hbmltYXRpb24tLWZhc3Qtb3V0LWxpbmVhci1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LWxpbmVhci1pbjtcbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuLm1kbC1iYWRnZSB7XG4gIHBvc2l0aW9uIDogcmVsYXRpdmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG1hcmdpbi1yaWdodDogKCRiYWRnZS1zaXplICsgJGJhZGdlLXBhZGRpbmcpO1xuXG4gICY6bm90KFtkYXRhLWJhZGdlXSkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gICZbZGF0YS1iYWRnZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1iYWRnZSk7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLSgkYmFkZ2Utc2l6ZSAvIDIpO1xuICAgIHJpZ2h0OiAtKCRiYWRnZS1zaXplICsgJGJhZGdlLXBhZGRpbmcpO1xuXG4gICAgLm1kbC1idXR0b24gJiB7XG4gICAgICB0b3A6IC0xMHB4O1xuICAgICAgcmlnaHQ6IC01cHg7XG4gICAgfVxuXG4gICAgZm9udC1mYW1pbHk6ICRwcmVmZXJyZWRfZm9udDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgICB3aWR0aDogJGJhZGdlLXNpemU7XG4gICAgaGVpZ2h0OiAkYmFkZ2Utc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzIDogNTAlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcbiAgfVxuXG4gICYubWRsLWJhZGdlLS1uby1iYWNrZ3JvdW5kIHtcbiAgICAmW2RhdGEtYmFkZ2VdOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkYmFkZ2UtY29sb3ItaW52ZXJzZTtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kLWludmVyc2U7XG5cbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxcHggZ3JheTtcbiAgICB9XG4gIH1cbiAgJi5tZGwtYmFkZ2UtLW92ZXJsYXAge1xuICAgIG1hcmdpbi1yaWdodDogKCRiYWRnZS1zaXplIC0gJGJhZGdlLW92ZXJsYXApO1xuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IC0oJGJhZGdlLXNpemUgLSAkYmFkZ2Utb3ZlcmxhcCk7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zXCI7XG5cbi8vIFRoZSBidXR0b24gY29tcG9uZW50LiBEZWZhdWx0cyB0byBhIGZsYXQgYnV0dG9uLlxuLm1kbC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLWJvcmRlci1yYWRpdXM7XG4gIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRidXR0b24taGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG1pbi13aWR0aDogJGJ1dHRvbi1taW4td2lkdGg7XG4gIHBhZGRpbmc6IDAgJGJ1dHRvbi1wYWRkaW5nO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIHR5cG8tYnV0dG9uKCk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpbGwtY2hhbmdlOiBib3gtc2hhZG93O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuMnMgJGFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1saW5lYXItaW4sXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3IgMC4ycyAkYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHQsXG4gICAgICAgICAgICAgIGNvbG9yIDAuMnMgJGFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0O1xuICBvdXRsaW5lOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogJGJ1dHRvbi1oZWlnaHQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXM6bm90KDphY3RpdmUpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWZvY3VzLWNvbG9yO1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgJi5tZGwtYnV0dG9uLS1jb2xvcmVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWNvbG9yLWFsdDtcblxuICAgICY6Zm9jdXM6bm90KDphY3RpdmUpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZm9jdXMtY29sb3ItYWx0O1xuICAgIH1cbiAgfVxufVxuXG5pbnB1dC5tZGwtYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcbn1cblxuICAvLyBSYWlzZWQgYnV0dG9uc1xuICAubWRsLWJ1dHRvbi0tcmFpc2VkIHtcbiAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgQGluY2x1ZGUgc2hhZG93LTJkcCgpO1xuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgc2hhZG93LTRkcCgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgfVxuXG4gICAgJjpmb2N1czpub3QoOmFjdGl2ZSkge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtc2hhZG93KCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1kbC1idXR0b24tLWNvbG9yZWQge1xuICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1wcmltYXJ5LWNvbG9yLWFsdDtcbiAgICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvci1hbHQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWhvdmVyLWNvbG9yLWFsdDtcbiAgICAgIH1cblxuICAgICAgJjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1jb2xvci1hbHQ7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXM6bm90KDphY3RpdmUpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1hY3RpdmUtY29sb3ItYWx0O1xuICAgICAgfVxuXG4gICAgICAmIC5tZGwtcmlwcGxlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1yaXBwbGUtY29sb3ItYWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gRkFCc1xuICAubWRsLWJ1dHRvbi0tZmFiIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWZhYi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkYnV0dG9uLWZhYi1zaXplO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBtaW4td2lkdGg6ICRidXR0b24tZmFiLXNpemU7XG4gICAgd2lkdGg6ICRidXR0b24tZmFiLXNpemU7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICRidXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDFweCAxLjVweCAwIHJnYmEoMCwwLDAsMC4xMiksIDAgMXB4IDFweCAwIHJnYmEoMCwwLDAsMC4yNCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAmIC5tYXRlcmlhbC1pY29ucyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0gJGJ1dHRvbi1mYWItZm9udC1zaXplIC8gMiwgLSAkYnV0dG9uLWZhYi1mb250LXNpemUgLyAyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWZhYi1mb250LXNpemU7XG4gICAgICB3aWR0aDogJGJ1dHRvbi1mYWItZm9udC1zaXplO1xuICAgIH1cblxuICAgICYubWRsLWJ1dHRvbi0tbWluaS1mYWIge1xuICAgICAgaGVpZ2h0OiAkYnV0dG9uLWZhYi1zaXplLW1pbmk7XG4gICAgICBtaW4td2lkdGg6ICRidXR0b24tZmFiLXNpemUtbWluaTtcbiAgICAgIHdpZHRoOiAkYnV0dG9uLWZhYi1zaXplLW1pbmk7XG4gICAgfVxuXG4gICAgJiAubWRsLWJ1dHRvbl9fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAvLyBGaXhlcyBjbGlwcGluZyBidWcgaW4gU2FmYXJpLlxuICAgICAgLXdlYmtpdC1tYXNrLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIHdoaXRlLCBibGFjayk7XG4gICAgfVxuXG4gICAgJjphY3RpdmUge1xuICAgICAgQGluY2x1ZGUgc2hhZG93LTRkcCgpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgfVxuXG4gICAgJjpmb2N1czpub3QoOmFjdGl2ZSkge1xuICAgICAgQGluY2x1ZGUgZm9jdXMtc2hhZG93KCk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG5cbiAgICAmLm1kbC1idXR0b24tLWNvbG9yZWQge1xuICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1mYWItY29sb3ItYWx0O1xuICAgICAgY29sb3I6ICRidXR0b24tZmFiLXRleHQtY29sb3ItYWx0O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1mYWItaG92ZXItY29sb3ItYWx0O1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzOm5vdCg6YWN0aXZlKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZmFiLWFjdGl2ZS1jb2xvci1hbHQ7XG4gICAgICB9XG5cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1mYWItYWN0aXZlLWNvbG9yLWFsdDtcbiAgICAgIH1cblxuICAgICAgJiAubWRsLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tZmFiLXJpcHBsZS1jb2xvci1hbHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyBJY29uIGJ1dHRvbnNcbiAgLm1kbC1idXR0b24tLWljb24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXNpemU6ICRidXR0b24tZmFiLWZvbnQtc2l6ZTtcbiAgICBoZWlnaHQ6ICRidXR0b24taWNvbi1zaXplO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtaW4td2lkdGg6ICRidXR0b24taWNvbi1zaXplO1xuICAgIHdpZHRoOiAkYnV0dG9uLWljb24tc2l6ZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICYgLm1hdGVyaWFsLWljb25zIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLSAkYnV0dG9uLWZhYi1mb250LXNpemUgLyAyLCAtICRidXR0b24tZmFiLWZvbnQtc2l6ZSAvIDIpO1xuICAgICAgbGluZS1oZWlnaHQ6ICRidXR0b24tZmFiLWZvbnQtc2l6ZTtcbiAgICAgIHdpZHRoOiAkYnV0dG9uLWZhYi1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJi5tZGwtYnV0dG9uLS1taW5pLWljb24ge1xuICAgICAgaGVpZ2h0OiAkYnV0dG9uLWljb24tc2l6ZS1taW5pO1xuICAgICAgbWluLXdpZHRoOiAkYnV0dG9uLWljb24tc2l6ZS1taW5pO1xuICAgICAgd2lkdGg6ICRidXR0b24taWNvbi1zaXplLW1pbmk7XG5cbiAgICAgICYgLm1hdGVyaWFsLWljb25zIHtcbiAgICAgICAgdG9wOiAoJGJ1dHRvbi1pY29uLXNpemUtbWluaSAtICRidXR0b24tZmFiLWZvbnQtc2l6ZSkgLyAyO1xuICAgICAgICBsZWZ0OiAoJGJ1dHRvbi1pY29uLXNpemUtbWluaSAtICRidXR0b24tZmFiLWZvbnQtc2l6ZSkgLyAyO1xuICAgICAgfVxuICAgIH1cblxuICAgICYgLm1kbC1idXR0b25fX3JpcHBsZS1jb250YWluZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgLy8gRml4ZXMgY2xpcHBpbmcgYnVnIGluIFNhZmFyaS5cbiAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCB3aGl0ZSwgYmxhY2spO1xuICAgIH1cbiAgfVxuXG5cbiAgLy8gUmlwcGxlc1xuICAubWRsLWJ1dHRvbl9fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLm1kbC1idXR0b25bZGlzYWJsZWRdICYgLm1kbC1yaXBwbGUsXG4gICAgLm1kbC1idXR0b24ubWRsLWJ1dHRvbi0tZGlzYWJsZWQgJiAubWRsLXJpcHBsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuLy8gQ29sb3JpemVkIGJ1dHRvbnNcblxuLm1kbC1idXR0b24tLXByaW1hcnkubWRsLWJ1dHRvbi0tcHJpbWFyeSB7XG4gIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3ItYWx0O1xuICAmIC5tZGwtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvci1hbHQ7XG4gIH1cbiAgJi5tZGwtYnV0dG9uLS1yYWlzZWQsICYubWRsLWJ1dHRvbi0tZmFiIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktY29sb3ItYWx0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvci1hbHQ7XG4gIH1cbn1cblxuLm1kbC1idXR0b24tLWFjY2VudC5tZGwtYnV0dG9uLS1hY2NlbnQge1xuICBjb2xvcjogJGJ1dHRvbi1mYWItY29sb3ItYWx0O1xuICAmIC5tZGwtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWZhYi10ZXh0LWNvbG9yLWFsdDtcbiAgfVxuICAmLm1kbC1idXR0b24tLXJhaXNlZCwgJi5tZGwtYnV0dG9uLS1mYWIge1xuICAgIGNvbG9yOiAkYnV0dG9uLWZhYi10ZXh0LWNvbG9yLWFsdDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWZhYi1jb2xvci1hbHQ7XG4gIH1cbn1cblxuLy8gRGlzYWJsZWQgYnV0dG9uc1xuXG4ubWRsLWJ1dHRvbiB7XG4gIC8vIEJ1bXAgdXAgc3BlY2lmaWNpdHkgYnkgdXNpbmcgW2Rpc2FibGVkXSB0d2ljZS5cbiAgJltkaXNhYmxlZF1bZGlzYWJsZWRdLFxuICAmLm1kbC1idXR0b24tLWRpc2FibGVkLm1kbC1idXR0b24tLWRpc2FibGVkIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktY29sb3ItZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJi0tZmFiIHtcbiAgICAvLyBCdW1wIHVwIHNwZWNpZmljaXR5IGJ5IHVzaW5nIFtkaXNhYmxlZF0gdHdpY2UuXG4gICAgJltkaXNhYmxlZF1bZGlzYWJsZWRdLFxuICAgICYubWRsLWJ1dHRvbi0tZGlzYWJsZWQubWRsLWJ1dHRvbi0tZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWNvbG9yLWRpc2FibGVkO1xuICAgICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWNvbG9yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gICYtLXJhaXNlZCB7XG4gICAgLy8gQnVtcCB1cCBzcGVjaWZpY2l0eSBieSB1c2luZyBbZGlzYWJsZWRdIHR3aWNlLlxuICAgICZbZGlzYWJsZWRdW2Rpc2FibGVkXSxcbiAgICAmLm1kbC1idXR0b24tLWRpc2FibGVkLm1kbC1idXR0b24tLWRpc2FibGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxuICB9XG4gICYtLWNvbG9yZWQge1xuICAgIC8vIEJ1bXAgdXAgc3BlY2lmaWNpdHkgYnkgdXNpbmcgW2Rpc2FibGVkXSB0d2ljZS5cbiAgICAmW2Rpc2FibGVkXVtkaXNhYmxlZF0sXG4gICAgJi5tZGwtYnV0dG9uLS1kaXNhYmxlZC5tZGwtYnV0dG9uLS1kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktY29sb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEFsaWduIGljb25zIGluc2lkZSBidXR0b25zIHdpdGggdGV4dFxuLm1kbC1idXR0b24gLm1hdGVyaWFsLWljb25zIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuLm1kbC1jYXJkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZm9udC1zaXplOiAkY2FyZC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1pbi1oZWlnaHQ6ICRjYXJkLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6ICRjYXJkLXdpZHRoO1xuICB6LWluZGV4OiAkY2FyZC16LWluZGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLm1kbC1jYXJkX19tZWRpYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWltYWdlLXBsYWNlaG9sZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogcGFkZGluZy1ib3g7XG4gIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ubWRsLWNhcmRfX3RpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICRjYXJkLXRleHQtY29sb3I7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6ICRjYXJkLXZlcnRpY2FsLXBhZGRpbmcgJGNhcmQtaG9yaXpvbnRhbC1wYWRkaW5nO1xuICBwZXJzcGVjdGl2ZS1vcmlnaW46ICRjYXJkLXRpdGxlLXBlcnNwZWN0aXZlLW9yaWdpbi14ICRjYXJkLXRpdGxlLXBlcnNwZWN0aXZlLW9yaWdpbi15O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAkY2FyZC10aXRsZS10cmFuc2Zvcm0tb3JpZ2luLXggJGNhcmQtdGl0bGUtdHJhbnNmb3JtLW9yaWdpbi15O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICYubWRsLWNhcmQtLWJvcmRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgfVxufVxuXG4ubWRsLWNhcmRfX3RpdGxlLXRleHQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6ICRjYXJkLXRpdGxlLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRjYXJkLXRpdGxlLXRleHQtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zZm9ybS1vcmlnaW46ICRjYXJkLXRpdGxlLXRleHQtdHJhbnNmb3JtLW9yaWdpbi14ICRjYXJkLXRpdGxlLXRleHQtdHJhbnNmb3JtLW9yaWdpbi15O1xuICBtYXJnaW46IDA7XG59XG5cbi5tZGwtY2FyZF9fc3VidGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogJGNhcmQtc3VidGl0bGUtZm9udC1zaXplO1xuICBjb2xvcjogJGNhcmQtc3VidGl0bGUtY29sb3I7XG4gIG1hcmdpbjogMDtcbn1cblxuLm1kbC1jYXJkX19zdXBwb3J0aW5nLXRleHQge1xuICBjb2xvcjogJGNhcmQtc3VwcG9ydGluZy10ZXh0LXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGNhcmQtc3VwcG9ydGluZy10ZXh0LWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjYXJkLXN1cHBvcnRpbmctdGV4dC1saW5lLWhlaWdodDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogJGNhcmQtdmVydGljYWwtcGFkZGluZyAkY2FyZC1ob3Jpem9udGFsLXBhZGRpbmc7XG4gIHdpZHRoOiA5MCU7XG5cbiAgJi5tZGwtY2FyZC0tYm9yZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi5tZGwtY2FyZF9fYWN0aW9ucyB7XG4gIGZvbnQtc2l6ZTogJGNhcmQtYWN0aW9ucy1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDApO1xuICBwYWRkaW5nOiA4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgJi5tZGwtY2FyZC0tYm9yZGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi5tZGwtY2FyZC0tZXhwYW5kIHtcbiAgZmxleC1ncm93OiAxO1xufVxuXG5cbi5tZGwtY2FyZF9fbWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE2cHg7XG4gIHRvcDogMTZweDtcbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnNcIjtcblxuLm1kbC1jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICB6LWluZGV4OiAxO1xuXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRjaGVja2JveC1sYWJlbC1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAmLmlzLXVwZ3JhZGVkIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRjaGVja2JveC1idXR0b24tc2l6ZSArICRjaGVja2JveC1wYWRkaW5nO1xuICB9XG59XG5cbi5tZGwtY2hlY2tib3hfX2lucHV0IHtcbiAgbGluZS1oZWlnaHQ6ICRjaGVja2JveC1sYWJlbC1oZWlnaHQ7XG5cbiAgLm1kbC1jaGVja2JveC5pcy11cGdyYWRlZCAmIHtcbiAgICAvLyBIaWRlIGlucHV0IGVsZW1lbnQsIHdoaWxlIHN0aWxsIG1ha2luZyBpdCByZXNwb25kIHRvIGZvY3VzLlxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG5cbi5tZGwtY2hlY2tib3hfX2JveC1vdXRsaW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRjaGVja2JveC10b3Atb2Zmc2V0O1xuICBsZWZ0OiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogJGNoZWNrYm94LWJ1dHRvbi1zaXplO1xuICBoZWlnaHQ6ICRjaGVja2JveC1idXR0b24tc2l6ZTtcbiAgbWFyZ2luOiAwO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBib3JkZXI6IDJweCBzb2xpZCAkY2hlY2tib3gtb2ZmLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgei1pbmRleDogMjtcblxuICAubWRsLWNoZWNrYm94LmlzLWNoZWNrZWQgJiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNoZWNrYm94LWNvbG9yO1xuICB9XG5cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtY2hlY2tib3ggJixcbiAgLm1kbC1jaGVja2JveC5pcy1kaXNhYmxlZCAmIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY2hlY2tib3gtZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi5tZGwtY2hlY2tib3hfX2ZvY3VzLWhlbHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkY2hlY2tib3gtdG9wLW9mZnNldDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6ICRjaGVja2JveC1idXR0b24tc2l6ZTtcbiAgaGVpZ2h0OiAkY2hlY2tib3gtYnV0dG9uLXNpemU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAubWRsLWNoZWNrYm94LmlzLWZvY3VzZWQgJiB7XG4gICAgYm94LXNoYWRvdzogMCAwIDBweCAoJGNoZWNrYm94LWJ1dHRvbi1zaXplIC8gMikgcmdiYSgwLCAwLCAwLCAwLjEpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgfVxuXG4gIC5tZGwtY2hlY2tib3guaXMtZm9jdXNlZC5pcy1jaGVja2VkICYge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggKCRjaGVja2JveC1idXR0b24tc2l6ZSAvIDIpICRjaGVja2JveC1mb2N1cy1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hlY2tib3gtZm9jdXMtY29sb3I7XG4gIH1cbn1cblxuLm1kbC1jaGVja2JveF9fdGljay1vdXRsaW5lIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hc2s6IHVybChcIiN7JGNoZWNrYm94LWltYWdlLXBhdGh9L3RpY2stbWFzay5zdmc/ZW1iZWRcIik7XG5cbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIG1hdGVyaWFsLWFuaW1hdGlvbi1kZWZhdWx0KDAuMjhzKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZDtcblxuICAubWRsLWNoZWNrYm94LmlzLWNoZWNrZWQgJiB7XG4gICAgYmFja2dyb3VuZDogJGNoZWNrYm94LWNvbG9yIHVybChcIiN7JGNoZWNrYm94LWltYWdlLXBhdGh9L3RpY2suc3ZnP2VtYmVkXCIpO1xuICB9XG5cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtY2hlY2tib3guaXMtY2hlY2tlZCAmLFxuICAubWRsLWNoZWNrYm94LmlzLWNoZWNrZWQuaXMtZGlzYWJsZWQgJiB7XG4gICAgYmFja2dyb3VuZDogJGNoZWNrYm94LWRpc2FibGVkLWNvbG9yIHVybChcIiN7JGNoZWNrYm94LWltYWdlLXBhdGh9L3RpY2suc3ZnP2VtYmVkXCIpO1xuICB9XG59XG5cbi5tZGwtY2hlY2tib3hfX2xhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogJGNoZWNrYm94LWxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjaGVja2JveC1sYWJlbC1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcblxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC1jaGVja2JveCAmLFxuICAubWRsLWNoZWNrYm94LmlzLWRpc2FibGVkICYge1xuICAgIGNvbG9yOiAkY2hlY2tib3gtZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi5tZGwtY2hlY2tib3hfX3JpcHBsZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogLSgoJGNoZWNrYm94LXJpcHBsZS1zaXplIC0gJGNoZWNrYm94LWxhYmVsLWhlaWdodCkgLyAyKTtcbiAgbGVmdDogLSgoJGNoZWNrYm94LXJpcHBsZS1zaXplIC0gJGNoZWNrYm94LWJ1dHRvbi1zaXplKSAvIDIpO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAkY2hlY2tib3gtcmlwcGxlLXNpemU7XG4gIGhlaWdodDogJGNoZWNrYm94LXJpcHBsZS1zaXplO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCB3aGl0ZSwgYmxhY2spO1xuXG4gICYgLm1kbC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQ6ICRjaGVja2JveC1jb2xvcjtcbiAgfVxuXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLWNoZWNrYm94ICYsXG4gIC5tZGwtY2hlY2tib3guaXMtZGlzYWJsZWQgJiB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG5cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtY2hlY2tib3ggJiAubWRsLXJpcHBsZSxcbiAgLm1kbC1jaGVja2JveC5pcy1kaXNhYmxlZCAmIC5tZGwtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG4ubWRsLWNoaXAge1xuICAgIGhlaWdodDogJGNoaXAtaGVpZ2h0O1xuICAgIGZvbnQtZmFtaWx5OiAkcHJlZmVycmVkX2ZvbnQ7XG4gICAgbGluZS1oZWlnaHQ6ICRjaGlwLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwIDEycHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaGlwLWhlaWdodCAvIDI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNoaXAtYmctY29sb3I7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvci1wcmltYXJ5O1xuICAgIG1hcmdpbjogMnB4IDA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICAmX190ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAkY2hpcC1mb250LXNpemU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAmX19hY3Rpb24ge1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgb3BhY2l0eTogMC41NDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogJGNoaXAtZm9udC1zaXplO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkdGV4dC1jb2xvci1wcmltYXJ5O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIFxuICAgICZfX2NvbnRhY3Qge1xuICAgICAgICBoZWlnaHQ6ICRjaGlwLWhlaWdodDtcbiAgICAgICAgd2lkdGg6ICRjaGlwLWhlaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJGNoaXAtaGVpZ2h0IC8gMjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cbiAgICBcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgQGluY2x1ZGUgc2hhZG93LTJkcCgpO1xuICAgIH1cbiAgICBcbiAgICAmOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjaGlwLWJnLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gICAgXG4gICAgJi0tZGVsZXRhYmxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgIH1cbiAgICBcbiAgICAmLS1jb250YWN0IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cbn0iLCIvKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zXCI7XG5cbi5tZGwtZGF0YS10YWJsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAkZGF0YS10YWJsZS1kaXZpZGVycztcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1zaXplOiAkZGF0YS10YWJsZS1mb250LXNpemU7XG4gIGJhY2tncm91bmQtY29sb3I6IHVucXVvdGUoXCJyZ2IoI3skY29sb3Itd2hpdGV9KVwiKTtcblxuICB0aGVhZCB7XG4gICAgcGFkZGluZy1ib3R0b206IDNweDtcblxuICAgIC5tZGwtZGF0YS10YWJsZV9fc2VsZWN0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGhlaWdodDogJGRhdGEtdGFibGUtcm93LWhlaWdodDtcbiAgICAgIEBpbmNsdWRlIG1hdGVyaWFsLWFuaW1hdGlvbi1kZWZhdWx0KDAuMjhzKTtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG5cbiAgICAgICYuaXMtc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0YS10YWJsZS1zZWxlY3Rpb24tY29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGF0YS10YWJsZS1ob3Zlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ZCwgdGgge1xuICAgIHBhZGRpbmc6IDAgJGRhdGEtdGFibGUtY29sdW1uLXBhZGRpbmcgMTJweCAkZGF0YS10YWJsZS1jb2x1bW4tcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICB9XG4gIH1cblxuICB0ZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgaGVpZ2h0OiAkZGF0YS10YWJsZS1yb3ctaGVpZ2h0O1xuICAgIGJvcmRlci10b3A6ICRkYXRhLXRhYmxlLWRpdmlkZXJzO1xuICAgIGJvcmRlci1ib3R0b206ICRkYXRhLXRhYmxlLWRpdmlkZXJzO1xuICAgIHBhZGRpbmctdG9wOiAkZGF0YS10YWJsZS1jZWxsLXRvcDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgLm1kbC1kYXRhLXRhYmxlX19zZWxlY3Qge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICB0aCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgQGluY2x1ZGUgdHlwby1ib2R5LTIoKTtcbiAgICBoZWlnaHQ6ICRkYXRhLXRhYmxlLXJvdy1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZGF0YS10YWJsZS1oZWFkZXItZm9udC1zaXplO1xuICAgIGNvbG9yOiAkZGF0YS10YWJsZS1oZWFkZXItY29sb3I7XG4gICAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgJi5tZGwtZGF0YS10YWJsZV9faGVhZGVyLS1zb3J0ZWQtYXNjZW5kaW5nLFxuICAgICYubWRsLWRhdGEtdGFibGVfX2hlYWRlci0tc29ydGVkLWRlc2NlbmRpbmcge1xuICAgICAgY29sb3I6ICRkYXRhLXRhYmxlLWhlYWRlci1zb3J0ZWQtY29sb3I7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHR5cG8taWNvbjtcbiAgICAgICAgZm9udC1zaXplOiAkZGF0YS10YWJsZS1oZWFkZXItc29ydC1pY29uLXNpemU7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlNWQ4XCI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbG9yOiAkZGF0YS10YWJsZS1oZWFkZXItc29ydGVkLWljb24taG92ZXItY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5tZGwtZGF0YS10YWJsZV9faGVhZGVyLS1zb3J0ZWQtZGVzY2VuZGluZzpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU1ZGJcIjtcbiAgICB9XG4gIH1cbn1cblxuLm1kbC1kYXRhLXRhYmxlX19zZWxlY3Qge1xuICB3aWR0aDogMTZweDtcbn1cblxuLm1kbC1kYXRhLXRhYmxlX19jZWxsLS1ub24tbnVtZXJpYy5tZGwtZGF0YS10YWJsZV9fY2VsbC0tbm9uLW51bWVyaWMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG4ubWRsLWRpYWxvZyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIEBpbmNsdWRlIHNoYWRvdy0yNGRwO1xuICAgIEBpbmNsdWRlIGRpYWxvZy13aWR0aDtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMjRweCAyNHB4IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgfVxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBwYWRkaW5nOiA4cHggOHB4IDhweCAyNHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLWZ1bGwtd2lkdGgge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCA4cHggMDtcbiAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDI0cHggMjRweCAyNHB4O1xuICAgICAgICBjb2xvcjogJGRpYWxvZy1jb250ZW50LWNvbG9yO1xuICAgIH1cbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnNcIjtcblxuLm1kbC1tZWdhLWZvb3RlciB7XG4gIHBhZGRpbmc6ICRmb290ZXItbWluLXBhZGRpbmcgJGZvb3Rlci1wYWRkaW5nLXNpZGVzO1xuXG4gIGNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWJnLWNvbG9yO1xufVxuXG5cbi5tZGwtbWVnYS1mb290ZXItLXRvcC1zZWN0aW9uOmFmdGVyLFxuLm1kbC1tZWdhLWZvb3Rlci0tbWlkZGxlLXNlY3Rpb246YWZ0ZXIsXG4ubWRsLW1lZ2EtZm9vdGVyLS1ib3R0b20tc2VjdGlvbjphZnRlcixcbi5tZGwtbWVnYS1mb290ZXJfX3RvcC1zZWN0aW9uOmFmdGVyLFxuLm1kbC1tZWdhLWZvb3Rlcl9fbWlkZGxlLXNlY3Rpb246YWZ0ZXIsXG4ubWRsLW1lZ2EtZm9vdGVyX19ib3R0b20tc2VjdGlvbjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5tZGwtbWVnYS1mb290ZXItLWxlZnQtc2VjdGlvbixcbi5tZGwtbWVnYS1mb290ZXJfX2xlZnQtc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206ICRmb290ZXItbWluLXBhZGRpbmc7XG59XG5cbi5tZGwtbWVnYS1mb290ZXItLXJpZ2h0LXNlY3Rpb24sXG4ubWRsLW1lZ2EtZm9vdGVyX19yaWdodC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvb3Rlci1taW4tcGFkZGluZztcbn1cblxuLm1kbC1tZWdhLWZvb3Rlci0tcmlnaHQtc2VjdGlvbiBhLFxuLm1kbC1tZWdhLWZvb3Rlcl9fcmlnaHQtc2VjdGlvbiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgbWFyZ2luLWJvdHRvbTogJGZvb3Rlci1taW4tcGFkZGluZztcblxuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjBweCkge1xuICAubWRsLW1lZ2EtZm9vdGVyLS1sZWZ0LXNlY3Rpb24sXG4gIC5tZGwtbWVnYS1mb290ZXJfX2xlZnQtc2VjdGlvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAubWRsLW1lZ2EtZm9vdGVyLS1yaWdodC1zZWN0aW9uLFxuICAubWRsLW1lZ2EtZm9vdGVyX19yaWdodC1zZWN0aW9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAubWRsLW1lZ2EtZm9vdGVyLS1yaWdodC1zZWN0aW9uIGEsXG4gIC5tZGwtbWVnYS1mb290ZXJfX3JpZ2h0LXNlY3Rpb24gYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgbWFyZ2luLWxlZnQ6ICRmb290ZXItbWluLXBhZGRpbmc7XG5cbiAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1idG4tc2l6ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG59XG5cbi5tZGwtbWVnYS1mb290ZXItLXNvY2lhbC1idG4sXG4ubWRsLW1lZ2EtZm9vdGVyX19zb2NpYWwtYnRuIHtcbiAgd2lkdGg6ICRmb290ZXItYnRuLXNpemU7XG4gIGhlaWdodDogJGZvb3Rlci1idG4tc2l6ZTtcblxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1idXR0b24tZmlsbC1jb2xvcjtcblxuICBib3JkZXI6IG5vbmU7XG59XG5cbi5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uLFxuLm1kbC1tZWdhLWZvb3Rlcl9fZHJvcC1kb3duLXNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2MHB4KSB7XG4gIC5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uLFxuICAubWRsLW1lZ2EtZm9vdGVyX19kcm9wLWRvd24tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDMzJTtcbiAgfVxuXG4gIC5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uOm50aC1jaGlsZCgxKSxcbiAgLm1kbC1tZWdhLWZvb3Rlci0tZHJvcC1kb3duLXNlY3Rpb246bnRoLWNoaWxkKDIpLFxuICAubWRsLW1lZ2EtZm9vdGVyX19kcm9wLWRvd24tc2VjdGlvbjpudGgtY2hpbGQoMSksXG4gIC5tZGwtbWVnYS1mb290ZXJfX2Ryb3AtZG93bi1zZWN0aW9uOm50aC1jaGlsZCgyKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAubWRsLW1lZ2EtZm9vdGVyLS1kcm9wLWRvd24tc2VjdGlvbjpudGgtY2hpbGQoMyksXG4gIC5tZGwtbWVnYS1mb290ZXJfX2Ryb3AtZG93bi1zZWN0aW9uOm50aC1jaGlsZCgzKSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjbGVhcjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLm1kbC1tZWdhLWZvb3Rlci0tZHJvcC1kb3duLXNlY3Rpb246bnRoLWNoaWxkKDQpLFxuICAubWRsLW1lZ2EtZm9vdGVyX19kcm9wLWRvd24tc2VjdGlvbjpudGgtY2hpbGQoNCkge1xuICAgIGNsZWFyOiByaWdodDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAubWRsLW1lZ2EtZm9vdGVyLS1taWRkbGUtc2VjdGlvbjphZnRlcixcbiAgLm1kbC1tZWdhLWZvb3Rlcl9fbWlkZGxlLXNlY3Rpb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBjbGVhcjogYm90aDtcbiAgfVxuXG4gIC5tZGwtbWVnYS1mb290ZXItLWJvdHRvbS1zZWN0aW9uLFxuICAubWRsLW1lZ2EtZm9vdGVyX19ib3R0b20tc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uLFxuICAubWRsLW1lZ2EtZm9vdGVyLS1kcm9wLWRvd24tc2VjdGlvbjpudGgtY2hpbGQoMyksXG4gIC5tZGwtbWVnYS1mb290ZXItLWRyb3AtZG93bi1zZWN0aW9uOm50aC1jaGlsZCg0KSxcbiAgLm1kbC1tZWdhLWZvb3Rlcl9fZHJvcC1kb3duLXNlY3Rpb24sXG4gIC5tZGwtbWVnYS1mb290ZXJfX2Ryb3AtZG93bi1zZWN0aW9uOm50aC1jaGlsZCgzKSxcbiAgLm1kbC1tZWdhLWZvb3Rlcl9fZHJvcC1kb3duLXNlY3Rpb246bnRoLWNoaWxkKDQpIHtcbiAgICB3aWR0aDogMjQlO1xuXG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZy1jaGVja2JveCxcbi5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmctY2hlY2tib3gge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRmb290ZXItaGVhZGluZy1saW5lLWhlaWdodCArICgkZm9vdGVyLW1pbi1wYWRkaW5nICogMik7XG5cbiAgcGFkZGluZzogKCRmb290ZXItbWluLXBhZGRpbmcgKiAyKTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiAtJGZvb3Rlci1taW4tcGFkZGluZztcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgei1pbmRleDogMTtcbiAgb3BhY2l0eTogMDtcblxuICAmICsgLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZzphZnRlcixcbiAgJiArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmc6YWZ0ZXIge1xuICAgIGZvbnQtZmFtaWx5OiAnTWF0ZXJpYWwgSWNvbnMnO1xuICAgIGNvbnRlbnQ6ICdcXEU1Q0UnXG4gIH1cbn1cblxuLm1kbC1tZWdhLWZvb3Rlci0taGVhZGluZy1jaGVja2JveDpjaGVja2VkLFxuLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZy1jaGVja2JveDpjaGVja2VkIHtcbiAgLy8gV2ViVmlld3MgaW4gaU9TIDkgYnJlYWsgdGhlIFwiflwiIG9wZXJhdG9yLCBhbmQgV2ViVmlld3MgaW4gT1MgWCAxMC4xMFxuICAvLyBicmVhayBjb25zZWN1dGl2ZSBcIitcIiBvcGVyYXRvcnMgaW4gc29tZSBjYXNlcy4gVGhlcmVmb3JlLCB3ZSBuZWVkIHRvIHVzZVxuICAvLyBib3RoIGhlcmUgdG8gY292ZXIgYWxsIHRoZSBiYXNlcy5cbiAgJiB+IC5tZGwtbWVnYS1mb290ZXItLWxpbmstbGlzdCxcbiAgJiB+IC5tZGwtbWVnYS1mb290ZXJfX2xpbmstbGlzdCxcbiAgJiArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmcgKyAubWRsLW1lZ2EtZm9vdGVyLS1saW5rLWxpc3QsXG4gICYgKyAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nICsgLm1kbC1tZWdhLWZvb3Rlcl9fbGluay1saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJiArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmc6YWZ0ZXIsXG4gICYgKyAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nOmFmdGVyIHtcbiAgICBmb250LWZhbWlseTogJ01hdGVyaWFsIEljb25zJztcbiAgICBjb250ZW50OiAnXFxFNUNGJ1xuICB9XG59XG5cbi5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmcsXG4ubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcblxuICBwYWRkaW5nLXJpZ2h0OiAkZm9vdGVyLWhlYWRpbmctbGluZS1oZWlnaHQgKyAkZm9vdGVyLW1pbi1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAkZm9vdGVyLW1pbi1wYWRkaW5nO1xuXG4gIGJveC1zaXppbmc6Ym9yZGVyLWJveDtcblxuICBmb250LXNpemU6ICRmb290ZXItaGVhZGluZy1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWhlYWRpbmctbGluZS1oZWlnaHQ7XG5cbiAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBjb2xvcjogJGZvb3Rlci1oZWFkaW5nLWNvbG9yO1xufVxuXG4ubWRsLW1lZ2EtZm9vdGVyLS1oZWFkaW5nOmFmdGVyLFxuLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZzphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICB3aWR0aDogJGZvb3Rlci1oZWFkaW5nLWxpbmUtaGVpZ2h0O1xuICBoZWlnaHQ6ICRmb290ZXItaGVhZGluZy1saW5lLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4ubWRsLW1lZ2EtZm9vdGVyLS1saW5rLWxpc3QsXG4ubWRsLW1lZ2EtZm9vdGVyX19saW5rLWxpc3Qge1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBtYXJnaW4tYm90dG9tOiAkZm9vdGVyLW1pbi1wYWRkaW5nICogMjtcbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogJyc7XG4gIH1cbn1cblxuLm1kbC1tZWdhLWZvb3Rlci0tbGluay1saXN0IGxpLFxuLm1kbC1tZWdhLWZvb3Rlcl9fbGluay1saXN0IGxpIHtcbiAgQGluY2x1ZGUgdHlwby1ib2R5LTEoKTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbi5tZGwtbWVnYS1mb290ZXItLWxpbmstbGlzdCBhLFxuLm1kbC1tZWdhLWZvb3Rlcl9fbGluay1saXN0IGEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjBweCkge1xuICAubWRsLW1lZ2EtZm9vdGVyLS1oZWFkaW5nLWNoZWNrYm94LFxuICAubWRsLW1lZ2EtZm9vdGVyX19oZWFkaW5nLWNoZWNrYm94IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJiArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmc6YWZ0ZXIsXG4gICAgJiArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmc6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuICB9XG4gIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmctY2hlY2tib3g6Y2hlY2tlZCxcbiAgLm1kbC1tZWdhLWZvb3Rlcl9faGVhZGluZy1jaGVja2JveDpjaGVja2VkIHtcbiAgICAvLyBXZWJWaWV3cyBpbiBpT1MgOSBicmVhayB0aGUgXCJ+XCIgb3BlcmF0b3IsIGFuZCBXZWJWaWV3cyBpbiBPUyBYIDEwLjEwXG4gICAgLy8gYnJlYWsgY29uc2VjdXRpdmUgXCIrXCIgb3BlcmF0b3JzIGluIHNvbWUgY2FzZXMuIFRoZXJlZm9yZSwgd2UgbmVlZCB0byB1c2VcbiAgICAvLyBib3RoIGhlcmUgdG8gY292ZXIgYWxsIHRoZSBiYXNlcy5cbiAgICAmIH4gLm1kbC1tZWdhLWZvb3Rlci0tbGluay1saXN0LFxuICAgICYgfiAubWRsLW1lZ2EtZm9vdGVyX19saW5rLWxpc3QsXG4gICAgJiArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmcgKyAubWRsLW1lZ2EtZm9vdGVyX19saW5rLWxpc3QsXG4gICAgJiArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmcgKyAubWRsLW1lZ2EtZm9vdGVyLS1saW5rLWxpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJiArIC5tZGwtbWVnYS1mb290ZXItLWhlYWRpbmc6YWZ0ZXIsXG4gICAgJiArIC5tZGwtbWVnYS1mb290ZXJfX2hlYWRpbmc6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgfVxuICB9XG59XG5cbi5tZGwtbWVnYS1mb290ZXItLWJvdHRvbS1zZWN0aW9uLFxuLm1kbC1tZWdhLWZvb3Rlcl9fYm90dG9tLXNlY3Rpb24ge1xuICBwYWRkaW5nLXRvcDogJGZvb3Rlci1taW4tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGZvb3Rlci1taW4tcGFkZGluZztcbn1cblxuLm1kbC1sb2dvIHtcbiAgbWFyZ2luLWJvdHRvbTogJGZvb3Rlci1taW4tcGFkZGluZztcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ubWRsLW1lZ2EtZm9vdGVyLS1ib3R0b20tc2VjdGlvbiAubWRsLW1lZ2EtZm9vdGVyLS1saW5rLWxpc3QgbGksXG4ubWRsLW1lZ2EtZm9vdGVyX19ib3R0b20tc2VjdGlvbiAubWRsLW1lZ2EtZm9vdGVyX19saW5rLWxpc3QgbGkge1xuICBmbG9hdDogbGVmdDtcblxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tcmlnaHQ6ICRmb290ZXItbWluLXBhZGRpbmc7XG59XG5cblxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjBweCkge1xuICAubWRsLWxvZ28ge1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRmb290ZXItbWluLXBhZGRpbmc7XG4gIH1cbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuLm1kbC1taW5pLWZvb3RlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBwYWRkaW5nOiAoJHBhZGRpbmcgKiAyKSAkcGFkZGluZztcblxuICBjb2xvcjogJGZvb3Rlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGZvb3Rlci1iZy1jb2xvcjtcblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYgLm1kbC1sb2dvIHtcbiAgICBsaW5lLWhlaWdodDogJGZvb3Rlci1idG4tc2l6ZTtcbiAgfVxufVxuXG4ubWRsLW1pbmktZm9vdGVyLS1saW5rLWxpc3QsXG4ubWRsLW1pbmktZm9vdGVyX19saW5rLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG5cbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgJiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRwYWRkaW5nO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzYwcHgpIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkZm9vdGVyLWJ0bi1zaXplO1xuICAgIH1cbiAgfVxuXG4gICYgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLm1kbC1taW5pLWZvb3Rlci0tbGVmdC1zZWN0aW9uLFxuLm1kbC1taW5pLWZvb3Rlcl9fbGVmdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvcmRlcjogMDtcbn1cblxuLm1kbC1taW5pLWZvb3Rlci0tcmlnaHQtc2VjdGlvbixcbi5tZGwtbWluaS1mb290ZXJfX3JpZ2h0LXNlY3Rpb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9yZGVyOiAxO1xufVxuXG4ubWRsLW1pbmktZm9vdGVyLS1zb2NpYWwtYnRuLFxuLm1kbC1taW5pLWZvb3Rlcl9fc29jaWFsLWJ0biB7XG4gIHdpZHRoOiAkZm9vdGVyLWJ0bi1zaXplO1xuICBoZWlnaHQ6ICRmb290ZXItYnRuLXNpemU7XG5cbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRmb290ZXItYnV0dG9uLWZpbGwtY29sb3I7XG5cbiAgYm9yZGVyOiBub25lO1xufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4ubWRsLWljb24tdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHotaW5kZXg6IDE7XG5cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogJGljb24tdG9nZ2xlLXNpemU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLm1kbC1pY29uLXRvZ2dsZV9faW5wdXQge1xuICBsaW5lLWhlaWdodDogJGljb24tdG9nZ2xlLXNpemU7XG5cbiAgLm1kbC1pY29uLXRvZ2dsZS5pcy11cGdyYWRlZCAmIHtcbiAgICAvLyBIaWRlIGlucHV0IGVsZW1lbnQsIHdoaWxlIHN0aWxsIG1ha2luZyBpdCByZXNwb25kIHRvIGZvY3VzLlxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG5cbi5tZGwtaWNvbi10b2dnbGVfX2xhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAkaWNvbi10b2dnbGUtc2l6ZTtcbiAgd2lkdGg6ICRpY29uLXRvZ2dsZS1zaXplO1xuICBtaW4td2lkdGg6ICRpY29uLXRvZ2dsZS1zaXplO1xuICBjb2xvcjogJGljb24tdG9nZ2xlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpbGwtY2hhbmdlOiBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgJGFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0LFxuICBjb2xvciAwLjJzICRhbmltYXRpb24tY3VydmUtZGVmYXVsdDtcblxuICAmLm1hdGVyaWFsLWljb25zIHtcbiAgICBsaW5lLWhlaWdodDogJGljb24tdG9nZ2xlLXNpemU7XG4gICAgZm9udC1zaXplOiAkaWNvbi10b2dnbGUtZm9udC1zaXplO1xuICB9XG5cbiAgLm1kbC1pY29uLXRvZ2dsZS5pcy1jaGVja2VkICYge1xuICAgIGNvbG9yOiAkaWNvbi10b2dnbGUtY2hlY2tlZC1jb2xvcjtcbiAgfVxuXG4gIC5tZGwtaWNvbi10b2dnbGUuaXMtZGlzYWJsZWQgJiB7XG4gICAgY29sb3I6ICRpY29uLXRvZ2dsZS1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gIC5tZGwtaWNvbi10b2dnbGUuaXMtZm9jdXNlZCAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi10b2dnbGUtZm9jdXMtY29sb3I7XG4gIH1cblxuICAubWRsLWljb24tdG9nZ2xlLmlzLWZvY3VzZWQuaXMtY2hlY2tlZCAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi10b2dnbGUtY2hlY2tlZC1mb2N1cy1jb2xvcjtcbiAgfVxufVxuXG5cbi5tZGwtaWNvbi10b2dnbGVfX3JpcHBsZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHRvcDogLSgoJGljb24tdG9nZ2xlLXJpcHBsZS1zaXplIC0gJGljb24tdG9nZ2xlLXNpemUpIC8gMik7XG4gIGxlZnQ6IC0oKCRpY29uLXRvZ2dsZS1yaXBwbGUtc2l6ZSAtICRpY29uLXRvZ2dsZS1zaXplKSAvIDIpO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAkaWNvbi10b2dnbGUtcmlwcGxlLXNpemU7XG4gIGhlaWdodDogJGljb24tdG9nZ2xlLXJpcHBsZS1zaXplO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCB3aGl0ZSwgYmxhY2spO1xuXG4gICYgLm1kbC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQ6ICRpY29uLXRvZ2dsZS1jb2xvcjtcbiAgfVxuXG4gIC5tZGwtaWNvbi10b2dnbGUuaXMtZGlzYWJsZWQgJiB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG5cbiAgLm1kbC1pY29uLXRvZ2dsZS5pcy1kaXNhYmxlZCAmIC5tZGwtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG5cbi5tZGwtbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbGlzdC1ib3JkZXIgMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLm1kbC1saXN0X19pdGVtIHtcbiAgQGluY2x1ZGUgdHlwby1zdWJoZWFkKCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAkbGlzdC1taW4taGVpZ2h0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcGFkZGluZzogJGxpc3QtbWluLXBhZGRpbmc7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgY29sb3I6ICRsaXN0LW1haW4tdGV4dC10ZXh0LWNvbG9yO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICYgLm1kbC1saXN0X19pdGVtLXByaW1hcnktY29udGVudCB7XG4gICAgb3JkZXI6IDA7XG4gICAgZmxleC1ncm93OiAyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICYgLm1kbC1saXN0X19pdGVtLWljb24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pY29uLXRleHQtbGVmdC1kaXN0YW5jZSAtICRsaXN0LWljb24tc2l6ZSAtICRsaXN0LW1pbi1wYWRkaW5nO1xuICAgIH1cblxuICAgICYgLm1kbC1saXN0X19pdGVtLWF2YXRhciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRsaXN0LWF2YXRhci10ZXh0LWxlZnQtZGlzdGFuY2UgLSAkbGlzdC1hdmF0YXItc2l6ZSAtICRsaXN0LW1pbi1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gICYgLm1kbC1saXN0X19pdGVtLXNlY29uZGFyeS1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBtYXJnaW4tbGVmdDogJGxpc3QtbWluLXBhZGRpbmc7XG5cbiAgICAmIC5tZGwtbGlzdF9faXRlbS1zZWNvbmRhcnktYWN0aW9uIGxhYmVsIHsgZGlzcGxheTogaW5saW5lOyB9XG4gICAgJiAubWRsLWxpc3RfX2l0ZW0tc2Vjb25kYXJ5LWluZm8ge1xuICAgICAgQGluY2x1ZGUgdHlwby1jYXB0aW9uKCk7XG4gICAgICBjb2xvcjogJGxpc3Qtc3VwcG9ydGluZy10ZXh0LXRleHQtY29sb3I7XG4gICAgfVxuICAgICYgLm1kbC1saXN0X19pdGVtLXN1Yi1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMCAwIDAgJGxpc3QtbWluLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi5tZGwtbGlzdF9faXRlbS1pY29uLFxuLm1kbC1saXN0X19pdGVtLWljb24ubWF0ZXJpYWwtaWNvbnMge1xuICBoZWlnaHQ6ICRsaXN0LWljb24tc2l6ZTtcbiAgd2lkdGg6ICRsaXN0LWljb24tc2l6ZTtcbiAgZm9udC1zaXplOiAkbGlzdC1pY29uLXNpemU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNvbG9yOiAkbGlzdC1pY29uLWNvbG9yO1xufVxuXG4ubWRsLWxpc3RfX2l0ZW0tYXZhdGFyLFxuLm1kbC1saXN0X19pdGVtLWF2YXRhci5tYXRlcmlhbC1pY29ucyB7XG4gIGhlaWdodDogJGxpc3QtYXZhdGFyLXNpemU7XG4gIHdpZHRoOiAkbGlzdC1hdmF0YXItc2l6ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAvLyBTZXQgYSBiYWNrZ3JvdW5kIGNvbG91ciBpbiBjYXNlIHRoZSB1c2VyIGRvZXNuJ3QgcHJvdmlkZSBhbiBpbWFnZS5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtaWNvbi1jb2xvcjtcbiAgLy8gU2V0IGEgZm9udCBzaXplIGFuZCBjb2xvciBpbiBjYXNlIHRoZSB1c2VyIHByb3ZpZGVzIGEgTWF0ZXJpYWwgSWNvbi5cbiAgZm9udC1zaXplOiAkbGlzdC1hdmF0YXItc2l6ZTtcbiAgY29sb3I6ICRsaXN0LWF2YXRhci1jb2xvcjtcbn1cblxuLm1kbC1saXN0X19pdGVtLS10d28tbGluZSB7XG4gIGhlaWdodDogJGxpc3QtdHdvLWxpbmUtaGVpZ2h0O1xuXG4gICYgLm1kbC1saXN0X19pdGVtLXByaW1hcnktY29udGVudCB7XG4gICAgaGVpZ2h0OiAkbGlzdC10d28tbGluZS1oZWlnaHQgLSAkbGlzdC1taW4tcGFkZGluZyAtICRsaXN0LWJvdHRvbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJiAubWRsLWxpc3RfX2l0ZW0tYXZhdGFye1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgJiAubWRsLWxpc3RfX2l0ZW0taWNvbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIC8vIEljb25zIGFyZSBhbGlnbmVkIHRvIGNlbnRlciBvZiB0ZXh0IGluIGEgdHdvIGxpbmUgbGlzdC5cbiAgICAgIG1hcmdpbi10b3A6XG4gICAgICAgICgkbGlzdC10d28tbGluZS1oZWlnaHQgLSAkbGlzdC1taW4tcGFkZGluZyAtICRsaXN0LWJvdHRvbS1wYWRkaW5nIC1cbiAgICAgICAgICRsaXN0LWljb24tc2l6ZSkgLyAyO1xuICAgIH1cblxuICAgICYgLm1kbC1saXN0X19pdGVtLXNlY29uZGFyeS1jb250ZW50IHtcbiAgICAgIGhlaWdodDogJGxpc3QtdHdvLWxpbmUtaGVpZ2h0IC0gJGxpc3QtbWluLXBhZGRpbmcgLSAkbGlzdC1ib3R0b20tcGFkZGluZztcbiAgICB9XG5cbiAgICAmIC5tZGwtbGlzdF9faXRlbS1zdWItdGl0bGUge1xuICAgICAgQGluY2x1ZGUgdHlwby1ib2R5LTEoKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgY29sb3I6ICRsaXN0LXN1cHBvcnRpbmctdGV4dC10ZXh0LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubWRsLWxpc3RfX2l0ZW0tLXRocmVlLWxpbmUge1xuICBoZWlnaHQ6ICRsaXN0LXRocmVlLWxpbmUtaGVpZ2h0O1xuXG4gICYgLm1kbC1saXN0X19pdGVtLXByaW1hcnktY29udGVudCB7XG4gICAgaGVpZ2h0OiAkbGlzdC10aHJlZS1saW5lLWhlaWdodCAtICRsaXN0LW1pbi1wYWRkaW5nIC0gJGxpc3QtYm90dG9tLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmIC5tZGwtbGlzdF9faXRlbS1hdmF0YXIsXG4gICAgJiAubWRsLWxpc3RfX2l0ZW0taWNvbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAmIC5tZGwtbGlzdF9faXRlbS1zZWNvbmRhcnktY29udGVudCB7XG4gICAgaGVpZ2h0OiAkbGlzdC10aHJlZS1saW5lLWhlaWdodCAtICRsaXN0LW1pbi1wYWRkaW5nIC0gJGxpc3QtYm90dG9tLXBhZGRpbmc7XG4gIH1cblxuICAmIC5tZGwtbGlzdF9faXRlbS10ZXh0LWJvZHkge1xuICAgIEBpbmNsdWRlIHR5cG8tYm9keS0xKCk7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgaGVpZ2h0OiAkbGlzdC10aHJlZS1saW5lLWhlaWdodCAtICRsaXN0LW1pbi1wYWRkaW5nIC0gJGxpc3QtYm90dG9tLXBhZGRpbmc7XG4gICAgY29sb3I6ICRsaXN0LXN1cHBvcnRpbmctdGV4dC10ZXh0LWNvbG9yO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnNcIjtcblxuLm1kbC1tZW51X19jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogLTE7XG5cbiAgJi5pcy12aXNpYmxlLFxuICAmLmlzLWFuaW1hdGluZyB7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLm1kbC1tZW51X19vdXRsaW5lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICRkZWZhdWx0LWRyb3Bkb3duLWJnLWNvbG9yO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICBAaW5jbHVkZSBzaGFkb3ctMmRwKCk7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkbWVudS1leHBhbmQtZHVyYXRpb24gJGFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0LFxuICAgICAgb3BhY2l0eSAkbWVudS1mYWRlLWR1cmF0aW9uICRhbmltYXRpb24tY3VydmUtZGVmYXVsdDtcbiAgei1pbmRleDogLTE7XG5cbiAgLm1kbC1tZW51X19jb250YWluZXIuaXMtdmlzaWJsZSAmIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgei1pbmRleDogOTk5O1xuICB9XG5cbiAgJi5tZGwtbWVudS0tYm90dG9tLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7XG4gIH1cblxuICAmLm1kbC1tZW51LS10b3AtbGVmdCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlO1xuICB9XG5cbiAgJi5tZGwtbWVudS0tdG9wLXJpZ2h0IHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDEwMCU7XG4gIH1cbn1cblxuLm1kbC1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG1pbi13aWR0aDogMTI0cHg7XG4gIHBhZGRpbmc6IDhweCAwO1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIHotaW5kZXg6IC0xO1xuXG4gIC5tZGwtbWVudV9fY29udGFpbmVyLmlzLXZpc2libGUgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB6LWluZGV4OiA5OTk7XG4gIH1cblxuICAmLmlzLWFuaW1hdGluZyB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkbWVudS1mYWRlLWR1cmF0aW9uICRhbmltYXRpb24tY3VydmUtZGVmYXVsdCxcbiAgICAgICAgY2xpcCAkbWVudS1leHBhbmQtZHVyYXRpb24gJGFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0O1xuICB9XG5cbiAgJi5tZGwtbWVudS0tYm90dG9tLXJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgJi5tZGwtbWVudS0tdG9wLWxlZnQge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDA7XG4gIH1cblxuICAmLm1kbC1tZW51LS10b3AtcmlnaHQge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgfVxuXG4gICYubWRsLW1lbnUtLXVuYWxpZ25lZCB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLm1kbC1tZW51X19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRkZWZhdWx0LWl0ZW0tdGV4dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAxNnB4O1xuICBvdXRsaW5lLWNvbG9yOiAkZGVmYXVsdC1pdGVtLW91dGxpbmUtY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHlwby1ib2R5LTEoKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogNDhweDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgJG1lbnUtZmFkZS1kdXJhdGlvbiAkYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC5tZGwtbWVudV9fY29udGFpbmVyLmlzLXZpc2libGUgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYtLWZ1bGwtYmxlZWQtZGl2aWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkZWZhdWx0LWl0ZW0tZGl2aWRlci1jb2xvcjtcbiAgfVxuXG4gICZbZGlzYWJsZWRdLCAmW2RhdGEtbWRsLWRpc2FibGVkXSB7XG4gICAgY29sb3I6ICRkaXNhYmxlZC1pdGVtLXRleHQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBhdXRvO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICYgLm1kbC1yaXBwbGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtaXRlbS1ob3Zlci1iZy1jb2xvcjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRlZmF1bHQtaXRlbS1mb2N1cy1iZy1jb2xvcjtcbiAgfVxuXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGVmYXVsdC1pdGVtLWFjdGl2ZS1iZy1jb2xvcjtcbiAgfVxufVxuXG5cbi5tZGwtbWVudV9faXRlbS0tcmlwcGxlLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4iLCIvKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cbi5tZGwtcHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRiYXItaGVpZ2h0O1xuICB3aWR0aDogNTAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLm1kbC1wcm9ncmVzcyA+IC5iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDAlO1xuICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzICRhbmltYXRpb24tY3VydmUtZGVmYXVsdDtcbn1cblxuLm1kbC1wcm9ncmVzcyA+IC5wcm9ncmVzc2JhciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tYWluLWNvbG9yO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAwO1xufVxuXG4ubWRsLXByb2dyZXNzID4gLmJ1ZmZlcmJhciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHByb2dyZXNzLXNlY29uZGFyeS1jb2xvciwgJHByb2dyZXNzLXNlY29uZGFyeS1jb2xvciksXG4gICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkcHJvZ3Jlc3MtbWFpbi1jb2xvciwgJHByb2dyZXNzLW1haW4tY29sb3IpO1xuICB6LWluZGV4OiAwO1xuICBsZWZ0OiAwO1xufVxuXG4ubWRsLXByb2dyZXNzID4gLmF1eGJhciB7XG4gIHJpZ2h0OiAwO1xufVxuXG4vLyBXZWJraXQgb25seVxuQHN1cHBvcnRzICgtd2Via2l0LWFwcGVhcmFuY2U6bm9uZSkge1xuICAubWRsLXByb2dyZXNzOm5vdCgubWRsLXByb2dyZXNzLS1pbmRldGVybWluYXRlKTpub3QoLm1kbC1wcm9ncmVzcy0taW5kZXRlcm1pbmF0ZSkgPiAuYXV4YmFyLFxuICAubWRsLXByb2dyZXNzOm5vdCgubWRsLXByb2dyZXNzX19pbmRldGVybWluYXRlKTpub3QoLm1kbC1wcm9ncmVzc19faW5kZXRlcm1pbmF0ZSkgPiAuYXV4YmFyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRwcm9ncmVzcy1zZWNvbmRhcnktY29sb3IsICRwcm9ncmVzcy1zZWNvbmRhcnktY29sb3IpLFxuICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkcHJvZ3Jlc3MtbWFpbi1jb2xvciwgJHByb2dyZXNzLW1haW4tY29sb3IpO1xuICAgIG1hc2s6IHVybCgnI3skcHJvZ3Jlc3MtaW1hZ2UtcGF0aH0vYnVmZmVyLnN2Zz9lbWJlZCcpO1xuICB9XG59XG5cbi5tZGwtcHJvZ3Jlc3M6bm90KC5tZGwtcHJvZ3Jlc3MtLWluZGV0ZXJtaW5hdGUpID4gLmF1eGJhcixcbi5tZGwtcHJvZ3Jlc3M6bm90KC5tZGwtcHJvZ3Jlc3NfX2luZGV0ZXJtaW5hdGUpID4gLmF1eGJhciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHByb2dyZXNzLWZhbGxiYWNrLWJ1ZmZlci1jb2xvciwgJHByb2dyZXNzLWZhbGxiYWNrLWJ1ZmZlci1jb2xvciksXG4gICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkcHJvZ3Jlc3MtbWFpbi1jb2xvciwgJHByb2dyZXNzLW1haW4tY29sb3IpO1xufVxuXG4ubWRsLXByb2dyZXNzLm1kbC1wcm9ncmVzcy0taW5kZXRlcm1pbmF0ZSA+IC5iYXIxLFxuLm1kbC1wcm9ncmVzcy5tZGwtcHJvZ3Jlc3NfX2luZGV0ZXJtaW5hdGUgPiAuYmFyMSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tYWluLWNvbG9yO1xuICBhbmltYXRpb24tbmFtZTogaW5kZXRlcm1pbmF0ZTE7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG5cbi5tZGwtcHJvZ3Jlc3MubWRsLXByb2dyZXNzLS1pbmRldGVybWluYXRlID4gLmJhcjMsXG4ubWRsLXByb2dyZXNzLm1kbC1wcm9ncmVzc19faW5kZXRlcm1pbmF0ZSA+IC5iYXIzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1haW4tY29sb3I7XG4gIGFuaW1hdGlvbi1uYW1lOiBpbmRldGVybWluYXRlMjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbn1cblxuQGtleWZyYW1lcyBpbmRldGVybWluYXRlMSB7XG4gIDAlIHtcbiAgICBsZWZ0OiAwJTtcbiAgICB3aWR0aDogMCU7XG4gIH1cbiAgNTAlIHtcbiAgICBsZWZ0OiAyNSU7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICA3NSUge1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgd2lkdGg6IDAlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaW5kZXRlcm1pbmF0ZTIge1xuICAwJSB7XG4gICAgbGVmdDogMCU7XG4gICAgd2lkdGg6IDAlO1xuICB9XG4gIDUwJSB7XG4gICAgbGVmdDogMCU7XG4gICAgd2lkdGg6IDAlO1xuICB9XG4gIDc1JSB7XG4gICAgbGVmdDogMCU7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAxMDAlIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHdpZHRoOiAwJTtcbiAgfVxufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG4vLyBOYXZpZ2F0aW9uIGNsYXNzZXMuIE9ubHkgdXNlZCBoZXJlIGZvciBub3csIGJ1dCB3ZSBtYXkgYXQgc29tZSBwb2ludCBtb3ZlXG4vLyB0aGlzIHRvIGl0cyBvd24gY29tcG9uZW50LlxuLm1kbC1uYXZpZ2F0aW9uIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5tZGwtbmF2aWdhdGlvbl9fbGluayB7XG4gIGNvbG9yOiAkbGF5b3V0LXRleHQtY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBAaW5jbHVkZSB0eXBvLWJvZHktMSh0cnVlKTtcblxuICAvLyBBbGlnbiBpY29ucyBpbnNpZGUgbGluayB3aXRoIHRleHRcbiAgJiAubWF0ZXJpYWwtaWNvbnMge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cbn1cblxuLy8gTWFpbiBsYXlvdXQgY2xhc3MuXG4ubWRsLWxheW91dCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG59XG5cbi8vIFV0aWxpdHkgY2xhc3NlcyBmb3Igc2NyZWVuIHNpemVzLlxuLm1kbC1sYXlvdXQuaXMtc21hbGwtc2NyZWVuIC5tZGwtbGF5b3V0LS1sYXJnZS1zY3JlZW4tb25seSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5tZGwtbGF5b3V0Om5vdCguaXMtc21hbGwtc2NyZWVuKSAubWRsLWxheW91dC0tc21hbGwtc2NyZWVuLW9ubHkge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWRsLWxheW91dF9fY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5cbiAgLy8gT3B0aW9uYWwgdXRpbGl0eSBjbGFzc2VzIGZvciBmb3JtYXR0aW5nIHNwZWNpYWwgYmxvY2tzIGluIHRoaXMgY29tcG9uZW50LlxuICAubWRsLWxheW91dF9fdGl0bGUsXG4gIC5tZGwtbGF5b3V0LXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSB0eXBvLXRpdGxlKCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLm1kbC1sYXlvdXQtc3BhY2VyIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuXG4gIC8vIERyYXdlci5cbiAgLm1kbC1sYXlvdXRfX2RyYXdlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgd2lkdGg6ICRsYXlvdXQtZHJhd2VyLXdpZHRoO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgc2hhZG93LTJkcCgpO1xuXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbGF5b3V0LWRyYXdlci1ib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGxheW91dC1kcmF3ZXItYmctY29sb3I7XG5cbiAgICAvLyBUcmFuc2Zvcm0gb2Zmc2NyZWVuLlxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJGxheW91dC1kcmF3ZXItd2lkdGggLSAxMHB4KTtcbiAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG5cbiAgICBAaW5jbHVkZSBtYXRlcmlhbC1hbmltYXRpb24tZGVmYXVsdCgpO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcblxuICAgIGNvbG9yOiAkbGF5b3V0LXRleHQtY29sb3I7XG5cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAmIH4gLm1kbC1sYXlvdXRfX2NvbnRlbnQubWRsLWxheW91dF9fY29udGVudCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+ICoge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuXG4gICAgJiA+IC5tZGwtbGF5b3V0X190aXRsZSxcbiAgICAmID4gLm1kbC1sYXlvdXQtdGl0bGUge1xuICAgICAgbGluZS1oZWlnaHQ6ICRsYXlvdXQtZGVza3RvcC1oZWFkZXItaGVpZ2h0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAkbGF5b3V0LWhlYWRlci1kZXNrdG9wLWluZGVudDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsYXlvdXQtbW9iaWxlLWhlYWRlci1oZWlnaHQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGxheW91dC1oZWFkZXItbW9iaWxlLWluZGVudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmIC5tZGwtbmF2aWdhdGlvbiB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBwYWRkaW5nLXRvcDogMTZweDtcblxuICAgICAgJiAubWRsLW5hdmlnYXRpb25fX2xpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHBhZGRpbmc6IDE2cHggJGxheW91dC1oZWFkZXItZGVza3RvcC1pbmRlbnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogJGxheW91dC1kcmF3ZXItbmF2aWdhdGlvbi1jb2xvcjtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGF5b3V0LXNjcmVlbi1zaXplLXRocmVzaG9sZCkge1xuICAgICAgICAgIHBhZGRpbmc6IDE2cHggJGxheW91dC1oZWFkZXItbW9iaWxlLWluZGVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsYXlvdXQtbmF2LWNvbG9yO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGF5b3V0LWRyYXdlci1uYXZpZ2F0aW9uLWxpbmstYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgICAgICBjb2xvcjogJGxheW91dC1kcmF3ZXItbmF2aWdhdGlvbi1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRsYXlvdXQtc2NyZWVuLXNpemUtdGhyZXNob2xkICsgMXB4KSB7XG4gICAgICAubWRsLWxheW91dC0tZml4ZWQtZHJhd2VyID4gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIC8vIERyYXdlciBidXR0b24uXG4gIC8vIFRPRE8oc2dvbWVzKTogUmVwbGFjZSB3aXRoIGFuIGljb24gYnV0dG9uIHdoZW4gd2UgaGF2ZSB0aGF0IGNvbXBvbmVudC5cbiAgLm1kbC1sYXlvdXRfX2RyYXdlci1idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogJGxheW91dC1kcmF3ZXItYnV0dG9uLWRlc2t0b3Atc2l6ZTtcbiAgICB3aWR0aDogJGxheW91dC1kcmF3ZXItYnV0dG9uLWRlc2t0b3Atc2l6ZTtcbiAgICBib3JkZXI6IDA7XG5cbiAgICBmbGV4LXNocmluazogMDtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6ICRsYXlvdXQtbW9iaWxlLWhlYWRlci1oZWlnaHQ7XG4gICAgZm9udC1mYW1pbHk6IEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luOiAoJGxheW91dC1tb2JpbGUtaGVhZGVyLWhlaWdodCAtICRsYXlvdXQtZHJhd2VyLWJ1dHRvbi1kZXNrdG9wLXNpemUpIDEycHg7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgY29sb3I6ICRsYXlvdXQtaGVhZGVyLXRleHQtY29sb3I7XG5cbiAgICB6LWluZGV4OiA0O1xuXG4gICAgLm1kbC1sYXlvdXRfX2hlYWRlciAmIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbG9yOiAkbGF5b3V0LWhlYWRlci10ZXh0LWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgICAgbWFyZ2luOiA0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgIG1hcmdpbjogNHB4O1xuICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGF5b3V0LXNjcmVlbi1zaXplLXRocmVzaG9sZCArIDFweCkge1xuICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG5cbiAgICAgIC5tZGwtbGF5b3V0LS1uby1kZXNrdG9wLWRyYXdlci1idXR0b24gJixcbiAgICAgIC5tZGwtbGF5b3V0LS1maXhlZC1kcmF3ZXIgPiAmLFxuICAgICAgLm1kbC1sYXlvdXQtLW5vLWRyYXdlci1idXR0b24gJiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kbC1sYXlvdXRfX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6ICRsYXlvdXQtZGVza3RvcC1oZWFkZXItaGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6IDEwMDBweDtcbiAgICB6LWluZGV4OiAzO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxheW91dC1oZWFkZXItYmctY29sb3I7XG4gICAgY29sb3I6ICRsYXlvdXQtaGVhZGVyLXRleHQtY29sb3I7XG5cbiAgICBAaW5jbHVkZSBzaGFkb3ctMmRwKCk7XG4gICAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBtYXgtaGVpZ2h0LCBib3gtc2hhZG93O1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgIG1pbi1oZWlnaHQ6ICRsYXlvdXQtbW9iaWxlLWhlYWRlci1oZWlnaHQ7XG4gICAgfVxuXG4gICAgLm1kbC1sYXlvdXQtLWZpeGVkLWRyYXdlci5pcy11cGdyYWRlZDpub3QoLmlzLXNtYWxsLXNjcmVlbikgPiAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkbGF5b3V0LWRyYXdlci13aWR0aDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRsYXlvdXQtZHJhd2VyLXdpZHRofSk7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQgKyAxcHgpIHtcbiAgICAgIC5tZGwtbGF5b3V0LS1maXhlZC1kcmF3ZXIgPiAmIHtcbiAgICAgICAgLm1kbC1sYXlvdXRfX2hlYWRlci1yb3cge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAubWRsLWxheW91dC1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6ICRsYXlvdXQtaGVhZGVyLWRlc2t0b3AtaW5kZW50O1xuICAgICAgdG9wOiAoJGxheW91dC1kZXNrdG9wLWhlYWRlci1oZWlnaHQgLSAkbGF5b3V0LWhlYWRlci1pY29uLXNpemUpIC8gMjtcbiAgICAgIGhlaWdodDogJGxheW91dC1oZWFkZXItaWNvbi1zaXplO1xuICAgICAgd2lkdGg6ICRsYXlvdXQtaGVhZGVyLWljb24tc2l6ZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXlvdXQtc2NyZWVuLXNpemUtdGhyZXNob2xkKSB7XG4gICAgICAgIGxlZnQ6ICRsYXlvdXQtaGVhZGVyLW1vYmlsZS1pbmRlbnQ7XG4gICAgICAgIHRvcDogKCRsYXlvdXQtbW9iaWxlLWhlYWRlci1oZWlnaHQgLSAkbGF5b3V0LWhlYWRlci1pY29uLXNpemUpIC8gMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWRsLWxheW91dC5oYXMtZHJhd2VyICYgPiAubWRsLWxheW91dC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5pcy1jb21wYWN0IHtcbiAgICAgIG1heC1oZWlnaHQ6ICRsYXlvdXQtZGVza3RvcC1oZWFkZXItaGVpZ2h0O1xuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGF5b3V0LXNjcmVlbi1zaXplLXRocmVzaG9sZCkge1xuICAgICAgICBtYXgtaGVpZ2h0OiAkbGF5b3V0LW1vYmlsZS1oZWFkZXItaGVpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtY29tcGFjdC5oYXMtdGFicyB7XG4gICAgICBoZWlnaHQ6ICRsYXlvdXQtZGVza3RvcC1oZWFkZXItaGVpZ2h0ICsgJGxheW91dC10YWItYmFyLWhlaWdodDtcblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgICAgbWluLWhlaWdodDogJGxheW91dC1tb2JpbGUtaGVhZGVyLWhlaWdodCArICRsYXlvdXQtdGFiLWJhci1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgICYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAubWRsLWxheW91dC0tZml4ZWQtaGVhZGVyID4gJiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgICAubWRsLWxheW91dF9faGVhZGVyLS10cmFuc3BhcmVudC5tZGwtbGF5b3V0X19oZWFkZXItLXRyYW5zcGFyZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAubWRsLWxheW91dF9faGVhZGVyLS1zZWFtZWQge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAubWRsLWxheW91dF9faGVhZGVyLS1zY3JvbGwge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG5cbiAgICAubWRsLWxheW91dF9faGVhZGVyLS13YXRlcmZhbGwge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICYuaXMtY2FzdGluZy1zaGFkb3cge1xuICAgICAgICBAaW5jbHVkZSBzaGFkb3ctMmRwKCk7XG4gICAgICB9XG5cbiAgICAgICYubWRsLWxheW91dF9faGVhZGVyLS13YXRlcmZhbGwtaGlkZS10b3Age1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZGwtbGF5b3V0X19oZWFkZXItcm93IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGhlaWdodDogJGxheW91dC1oZWFkZXItZGVza3RvcC1yb3ctaGVpZ2h0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAkbGF5b3V0LWhlYWRlci1kZXNrdG9wLWluZGVudCAwICRsYXlvdXQtaGVhZGVyLWRlc2t0b3AtYmFzZWxpbmU7XG5cbiAgICAgIC5tZGwtbGF5b3V0LS1uby1kcmF3ZXItYnV0dG9uICYge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRsYXlvdXQtaGVhZGVyLWRlc2t0b3AtaW5kZW50O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGF5b3V0LXNjcmVlbi1zaXplLXRocmVzaG9sZCArIDFweCkge1xuICAgICAgICAubWRsLWxheW91dC0tbm8tZGVza3RvcC1kcmF3ZXItYnV0dG9uICYge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxheW91dC1oZWFkZXItZGVza3RvcC1pbmRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgICAgaGVpZ2h0OiAkbGF5b3V0LWhlYWRlci1tb2JpbGUtcm93LWhlaWdodDtcbiAgICAgICAgcGFkZGluZzogMCAkbGF5b3V0LWhlYWRlci1tb2JpbGUtaW5kZW50IDAgJGxheW91dC1oZWFkZXItbW9iaWxlLWJhc2VsaW5lO1xuXG4gICAgICAgIC5tZGwtbGF5b3V0LS1uby1kcmF3ZXItYnV0dG9uICYge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGxheW91dC1oZWFkZXItbW9iaWxlLWluZGVudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmID4gKiB7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgfVxuXG4gICAgICAubWRsLWxheW91dF9faGVhZGVyLS1zY3JvbGwgJiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAmIC5tZGwtbmF2aWdhdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgaGVpZ2h0OiAkbGF5b3V0LWhlYWRlci1kZXNrdG9wLXJvdy1oZWlnaHQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgICAgICBoZWlnaHQ6ICRsYXlvdXQtaGVhZGVyLW1vYmlsZS1yb3ctaGVpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgLm1kbC1uYXZpZ2F0aW9uX19saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbG9yOiAkbGF5b3V0LWhlYWRlci10ZXh0LWNvbG9yO1xuICAgICAgICBsaW5lLWhlaWdodDogJGxheW91dC1oZWFkZXItZGVza3RvcC1yb3ctaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDI0cHg7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJGxheW91dC1oZWFkZXItbW9iaWxlLXJvdy1oZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMCAkbGF5b3V0LWhlYWRlci1tb2JpbGUtaW5kZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gIC8vIE9iZnVzY2F0b3IuXG4gIC5tZGwtbGF5b3V0X19vYmZ1c2NhdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3I7XG4gICAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIEBzdXBwb3J0cyAocG9pbnRlci1ldmVudHM6IGF1dG8pIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgJi5pcy12aXNpYmxlIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAvLyBDb250ZW50LlxuICAubWRsLWxheW91dF9fY29udGVudCB7XG4gICAgLy8gRml4IElFMTAgYnVnLlxuICAgIC1tcy1mbGV4OiAwIDEgYXV0bztcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgZmxleC1ncm93OiAxO1xuICAgIHotaW5kZXg6IDE7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICAgLm1kbC1sYXlvdXQtLWZpeGVkLWRyYXdlciA+ICYge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRsYXlvdXQtZHJhd2VyLXdpZHRoO1xuICAgIH1cblxuICAgIC5tZGwtbGF5b3V0X19jb250YWluZXIuaGFzLXNjcm9sbGluZy1oZWFkZXIgJiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGF5b3V0LXNjcmVlbi1zaXplLXRocmVzaG9sZCkge1xuICAgICAgLm1kbC1sYXlvdXQtLWZpeGVkLWRyYXdlciA+ICYge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLm1kbC1sYXlvdXRfX2NvbnRhaW5lci5oYXMtc2Nyb2xsaW5nLWhlYWRlciAmIHtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFRhYnMuXG4gIC5tZGwtbGF5b3V0X190YWItYmFyIHtcbiAgICBoZWlnaHQ6ICRsYXlvdXQtdGFiLWJhci1oZWlnaHQgKiAyO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC1cbiAgICAgICAgI3soKCRsYXlvdXQtaGVhZGVyLWRlc2t0b3AtYmFzZWxpbmUgLSAkbGF5b3V0LXRhYi1kZXNrdG9wLXBhZGRpbmcpICogMil9KTtcbiAgICBwYWRkaW5nOiAwIDAgMFxuICAgICAgICAoJGxheW91dC1oZWFkZXItZGVza3RvcC1iYXNlbGluZSAtICRsYXlvdXQtdGFiLWRlc2t0b3AtcGFkZGluZyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGF5b3V0LWhlYWRlci1iZy1jb2xvcjtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuXG4gICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubWRsLWxheW91dC0tbm8tZHJhd2VyLWJ1dHRvbiAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGxheW91dC1oZWFkZXItZGVza3RvcC1pbmRlbnQgLSAkbGF5b3V0LXRhYi1kZXNrdG9wLXBhZGRpbmc7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC1cbiAgICAgICAgICAjeygoJGxheW91dC1oZWFkZXItZGVza3RvcC1pbmRlbnQgLSAkbGF5b3V0LXRhYi1kZXNrdG9wLXBhZGRpbmcpICogMil9KTtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbGF5b3V0LXNjcmVlbi1zaXplLXRocmVzaG9sZCArIDFweCkge1xuICAgICAgLm1kbC1sYXlvdXQtLW5vLWRlc2t0b3AtZHJhd2VyLWJ1dHRvbiAmIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGF5b3V0LWhlYWRlci1kZXNrdG9wLWluZGVudCAtICRsYXlvdXQtdGFiLWRlc2t0b3AtcGFkZGluZztcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtXG4gICAgICAgICAgICAjeygoJGxheW91dC1oZWFkZXItZGVza3RvcC1pbmRlbnQgLSAkbGF5b3V0LXRhYi1kZXNrdG9wLXBhZGRpbmcpICogMil9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGF5b3V0LXNjcmVlbi1zaXplLXRocmVzaG9sZCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtXG4gICAgICAgICAgI3soJGxheW91dC1oZWFkZXItbW9iaWxlLWJhc2VsaW5lIC0gJGxheW91dC10YWItbW9iaWxlLXBhZGRpbmcpfSk7XG4gICAgICBwYWRkaW5nOiAwIDAgMFxuICAgICAgICAgICgkbGF5b3V0LWhlYWRlci1tb2JpbGUtYmFzZWxpbmUgLSAkbGF5b3V0LXRhYi1tb2JpbGUtcGFkZGluZyk7XG5cbiAgICAgIC5tZGwtbGF5b3V0LS1uby1kcmF3ZXItYnV0dG9uICYge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC1cbiAgICAgICAgICAgICN7KCgkbGF5b3V0LWhlYWRlci1tb2JpbGUtaW5kZW50IC0gJGxheW91dC10YWItbW9iaWxlLXBhZGRpbmcpICogMil9KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkbGF5b3V0LWhlYWRlci1tb2JpbGUtaW5kZW50IC0gJGxheW91dC10YWItbW9iaWxlLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1kbC1sYXlvdXQtLWZpeGVkLXRhYnMgJiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5tZGwtbGF5b3V0X190YWItYmFyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogJGxheW91dC10YWItYmFyLWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAubWRsLWxheW91dF9fY29udGFpbmVyID4gJiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC5tZGwtbGF5b3V0X190YWItYmFyLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAkbGF5b3V0LXRhYi1iYXItaGVpZ2h0O1xuICAgIHdpZHRoOiAkbGF5b3V0LWhlYWRlci1kZXNrdG9wLWJhc2VsaW5lIC0gJGxheW91dC10YWItZGVza3RvcC1wYWRkaW5nO1xuICAgIHotaW5kZXg6IDQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYXlvdXQtaGVhZGVyLWJnLWNvbG9yO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICAubWRsLWxheW91dC0tbm8tZGVza3RvcC1kcmF3ZXItYnV0dG9uICYsXG4gICAgLm1kbC1sYXlvdXQtLW5vLWRyYXdlci1idXR0b24gJiB7XG4gICAgICB3aWR0aDogJGxheW91dC1oZWFkZXItZGVza3RvcC1pbmRlbnQgLSAkbGF5b3V0LXRhYi1kZXNrdG9wLXBhZGRpbmc7XG5cbiAgICAgICYgLm1hdGVyaWFsLWljb25zIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBsZWZ0OiAoJGxheW91dC1oZWFkZXItZGVza3RvcC1pbmRlbnQgLSAkbGF5b3V0LXRhYi1kZXNrdG9wLXBhZGRpbmcgLSAyNHB4KSAvIDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgIHdpZHRoOiAkbGF5b3V0LWhlYWRlci1tb2JpbGUtYmFzZWxpbmUgLSAkbGF5b3V0LXRhYi1tb2JpbGUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubWRsLWxheW91dC0tZml4ZWQtdGFicyAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiAubWF0ZXJpYWwtaWNvbnMge1xuICAgICAgbGluZS1oZWlnaHQ6ICRsYXlvdXQtdGFiLWJhci1oZWlnaHQ7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgY29sb3I6ICRsYXlvdXQtaGVhZGVyLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1kbC1sYXlvdXRfX3RhYi1iYXItbGVmdC1idXR0b24ge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAubWRsLWxheW91dF9fdGFiLWJhci1yaWdodC1idXR0b24ge1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgLm1kbC1sYXlvdXRfX3RhYiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nOiAwICRsYXlvdXQtdGFiLWRlc2t0b3AtcGFkZGluZyAwICRsYXlvdXQtdGFiLWRlc2t0b3AtcGFkZGluZztcblxuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgaGVpZ2h0OiAkbGF5b3V0LXRhYi1iYXItaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkbGF5b3V0LXRhYi1iYXItaGVpZ2h0O1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAkbGF5b3V0LXRhYi1mb250LXNpemU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIGNvbG9yOiAkbGF5b3V0LWhlYWRlci10YWItdGV4dC1jb2xvcjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxheW91dC1zY3JlZW4tc2l6ZS10aHJlc2hvbGQpIHtcbiAgICAgIHBhZGRpbmc6IDAgJGxheW91dC10YWItbW9iaWxlLXBhZGRpbmcgMCAkbGF5b3V0LXRhYi1tb2JpbGUtcGFkZGluZztcbiAgICB9XG5cbiAgICAubWRsLWxheW91dC0tZml4ZWQtdGFicyAmIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubWRsLWxheW91dC5pcy11cGdyYWRlZCAmLmlzLWFjdGl2ZSB7XG4gICAgICBjb2xvcjogJGxheW91dC1oZWFkZXItdGV4dC1jb2xvcjtcbiAgICB9XG5cbiAgICAubWRsLWxheW91dC5pcy11cGdyYWRlZCAmLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAkbGF5b3V0LXRhYi1oaWdobGlnaHQtdGhpY2tuZXNzO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRsYXlvdXQtaGVhZGVyLXRhYi1oaWdobGlnaHQ7XG4gICAgICBhbmltYXRpb246IGJvcmRlci1leHBhbmQgMC4ycyBjdWJpYy1iZXppZXIoMC40LCAwLjAsIDAuNCwgMSkgMC4wMXMgYWx0ZXJuYXRlIGZvcndhcmRzO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDFzIGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7XG4gICAgfVxuXG4gICAgJiAubWRsLWxheW91dF9fdGFiLXJpcHBsZS1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJiAubWRsLXJpcHBsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsYXlvdXQtaGVhZGVyLXRleHQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1kbC1sYXlvdXRfX3RhYi1wYW5lbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAubWRsLWxheW91dC5pcy11cGdyYWRlZCAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm1kbC1sYXlvdXQuaXMtdXBncmFkZWQgJi5pcy1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG4iLCIvKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vbWl4aW5zXCI7XG5cbi5tZGwtcmFkaW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZm9udC1zaXplOiAkcmFkaW8tbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJHJhZGlvLWxhYmVsLWhlaWdodDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6ICRyYWRpby1sYWJlbC1oZWlnaHQ7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICYuaXMtdXBncmFkZWQge1xuICAgIHBhZGRpbmctbGVmdDogJHJhZGlvLWJ1dHRvbi1zaXplICsgJHJhZGlvLXBhZGRpbmc7XG4gIH1cbn1cblxuLm1kbC1yYWRpb19fYnV0dG9uIHtcbiAgbGluZS1oZWlnaHQ6ICRyYWRpby1sYWJlbC1oZWlnaHQ7XG5cbiAgLm1kbC1yYWRpby5pcy11cGdyYWRlZCAmIHtcbiAgICAvLyBIaWRlIGlucHV0IGVsZW1lbnQsIHdoaWxlIHN0aWxsIG1ha2luZyBpdCByZXNwb25kIHRvIGZvY3VzLlxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtbXMtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG5cbi5tZGwtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmFkaW8tdG9wLW9mZnNldDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6ICRyYWRpby1idXR0b24tc2l6ZTtcbiAgaGVpZ2h0OiAkcmFkaW8tYnV0dG9uLXNpemU7XG4gIG1hcmdpbjogMDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgYm9yZGVyOiAycHggc29saWQgJHJhZGlvLW9mZi1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIHotaW5kZXg6IDI7XG5cbiAgLm1kbC1yYWRpby5pcy1jaGVja2VkICYge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRyYWRpby1jb2xvcjtcbiAgfVxuXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXJhZGlvLFxuICAubWRsLXJhZGlvLmlzLWRpc2FibGVkICYge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRyYWRpby1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1kbC1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW46IDA7XG4gIHRvcDogJHJhZGlvLXRvcC1vZmZzZXQgKyAkcmFkaW8taW5uZXItbWFyZ2luO1xuICBsZWZ0OiAkcmFkaW8taW5uZXItbWFyZ2luO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAkcmFkaW8tYnV0dG9uLXNpemUgLSAoJHJhZGlvLWlubmVyLW1hcmdpbiAqIDIpO1xuICBoZWlnaHQ6ICRyYWRpby1idXR0b24tc2l6ZSAtICgkcmFkaW8taW5uZXItbWFyZ2luICogMik7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIEBpbmNsdWRlIG1hdGVyaWFsLWFuaW1hdGlvbi1kZWZhdWx0KDAuMjhzKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAsIDApO1xuXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogJHJhZGlvLWNvbG9yO1xuXG4gIC5tZGwtcmFkaW8uaXMtY2hlY2tlZCAmIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEsIDEpO1xuICB9XG5cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtcmFkaW8gJixcbiAgLm1kbC1yYWRpby5pcy1kaXNhYmxlZCAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmFkaW8tZGlzYWJsZWQtY29sb3I7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG5cbiAgLm1kbC1yYWRpby5pcy1mb2N1c2VkICYge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIH1cbn1cblxuLm1kbC1yYWRpb19fbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtcmFkaW8gJixcbiAgLm1kbC1yYWRpby5pcy1kaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogJHJhZGlvLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxufVxuXG4ubWRsLXJhZGlvX19yaXBwbGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0oKCRyYWRpby1yaXBwbGUtc2l6ZSAtICRyYWRpby1sYWJlbC1oZWlnaHQpIC8gMik7XG4gIGxlZnQ6IC0oKCRyYWRpby1yaXBwbGUtc2l6ZSAtICRyYWRpby1idXR0b24tc2l6ZSkgLyAyKTtcblxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogJHJhZGlvLXJpcHBsZS1zaXplO1xuICBoZWlnaHQ6ICRyYWRpby1yaXBwbGUtc2l6ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuICAtd2Via2l0LW1hc2staW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgd2hpdGUsIGJsYWNrKTtcblxuICAmIC5tZGwtcmlwcGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmFkaW8tY29sb3I7XG4gIH1cblxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC1yYWRpbyAmLFxuICAubWRsLXJhZGlvLmlzLWRpc2FibGVkICYge1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXJhZGlvICYgLm1kbC1yaXBwbGUsXG4gIC5tZGwtcmFkaW8uaXMtZGlzYWJsZWQgJiAubWRsLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcblxuLy8gU29tZSBDU1MgbWFnaWMgdG8gdGFyZ2V0IG9ubHkgSUUuXG5fOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwgOnJvb3QgLm1kbC1zbGlkZXIubWRsLXNsaWRlci5pcy11cGdyYWRlZCB7XG4gIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAvLyBUaGUgdGh1bWIgY2FuJ3Qgb3ZlcmZsb3cgdGhlIHRyYWNrIG9yIHRoZSByZXN0IG9mIHRoZSBjb250cm9sIGluIElFLCBzbyB3ZVxuICAvLyBuZWVkIHRvIG1ha2UgaXQgdGFsbCBlbm91Z2ggdG8gY29udGFpbiB0aGUgbGFyZ2VzdCB2ZXJzaW9uIG9mIHRoZSB0aHVtYi5cbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDA7XG59XG5cbi8vIFNsaWRlciBjb21wb25lbnQgKHN0eWxlZCBpbnB1dFt0eXBlPXJhbmdlXSkuXG4ubWRsLXNsaWRlciB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgbWFyZ2luOiAwIDIwcHg7XG5cbiAgJi5pcy11cGdyYWRlZCB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6ICRyYW5nZS1jb2xvcjtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cblxuICAgIC8vIERpc2FibGUgZGVmYXVsdCBmb2N1cyBvbiBGaXJlZm94LlxuICAgICY6Oi1tb3otZm9jdXMtb3V0ZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC8vIERpc2FibGUgdG9vbHRpcCBvbiBJRS5cbiAgICAmOjotbXMtdG9vbHRpcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuXG4gICAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKiogVHJhY2tzICoqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOjotbXMtdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIC8vIE1hcmdpbiBvbiAtbXMtdHJhY2sgZG9lc24ndCB3b3JrIHJpZ2h0LCBzbyB3ZSB1c2UgZ3JhZGllbnRzIG9uIHRoZVxuICAgICAgLy8gZmlsbHMuXG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICB0cmFuc3BhcmVudCxcbiAgICAgIHRyYW5zcGFyZW50IDE2cHgsXG4gICAgICAkcmFuZ2UtY29sb3IgMTZweCxcbiAgICAgICRyYW5nZS1jb2xvciAwKTtcbiAgICB9XG5cbiAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgLy8gTWFyZ2luIG9uIC1tcy10cmFjayBkb2Vzbid0IHdvcmsgcmlnaHQsIHNvIHdlIHVzZSBncmFkaWVudHMgb24gdGhlXG4gICAgICAvLyBmaWxscy5cbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LFxuICAgICAgdHJhbnNwYXJlbnQsXG4gICAgICB0cmFuc3BhcmVudCAxNnB4LFxuICAgICAgJHJhbmdlLWJnLWNvbG9yIDE2cHgsXG4gICAgICAkcmFuZ2UtYmctY29sb3IgMCk7XG4gICAgfVxuXG5cbiAgICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKiBUaHVtYnMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAmOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2UtY29sb3I7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xOHMgJGFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0LFxuICAgICAgYm9yZGVyIDAuMThzICRhbmltYXRpb24tY3VydmUtZGVmYXVsdCxcbiAgICAgIGJveC1zaGFkb3cgMC4xOHMgJGFuaW1hdGlvbi1jdXJ2ZS1kZWZhdWx0LFxuICAgICAgYmFja2dyb3VuZCAwLjI4cyAkYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHQ7XG4gICAgfVxuXG4gICAgJjo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICB3aWR0aDogMTJweDtcbiAgICAgIGhlaWdodDogMTJweDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHJhbmdlLWNvbG9yO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgLy8gLW1vei1yYW5nZS10aHVtYiBkb2Vzbid0IGN1cnJlbnRseSBzdXBwb3J0IHRyYW5zaXRpb25zLlxuICAgIH1cblxuICAgICY6Zm9jdXM6bm90KDphY3RpdmUpOjotd2Via2l0LXNsaWRlci10aHVtYiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4ICRyYW5nZS1mYWRlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzOm5vdCg6YWN0aXZlKTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4ICRyYW5nZS1mYWRlZC1jb2xvcjtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1jb2xvcjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHJhbmdlLWNvbG9yO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogMzJweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1jb2xvcjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zNzUpO1xuICAgICAgLy8gLW1zLXRodW1iIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQgdHJhbnNpdGlvbnMsIGJ1dCBsZWF2aW5nIHRoaXMgaGVyZVxuICAgICAgLy8gaW4gY2FzZSBzdXBwb3J0IGV2ZXIgZ2V0cyBhZGRlZC5cbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyAkYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHQsXG4gICAgICBiYWNrZ3JvdW5kIDAuMjhzICRhbmltYXRpb24tY3VydmUtZGVmYXVsdDtcbiAgICB9XG5cbiAgICAmOmZvY3VzOm5vdCg6YWN0aXZlKTo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUgY2xvc2VzdC1zaWRlLFxuICAgICAgJHJhbmdlLWNvbG9yIDAlLFxuICAgICAgJHJhbmdlLWNvbG9yIDM3LjUlLFxuICAgICAgJHJhbmdlLWZhZGVkLWNvbG9yIDM3LjUlLFxuICAgICAgJHJhbmdlLWZhZGVkLWNvbG9yIDEwMCUpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAmOmFjdGl2ZTo6LW1zLXRodW1iIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyYW5nZS1jb2xvcjtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41NjI1KTtcbiAgICB9XG5cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIDAtdmFsdWUgKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiAgICAmLmlzLWxvd2VzdC12YWx1ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJHJhbmdlLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJHJhbmdlLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5pcy1sb3dlc3QtdmFsdWUgK1xuICAgICAgICAubWRsLXNsaWRlcl9fYmFja2dyb3VuZC1mbGV4ID4gLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtdXBwZXIge1xuICAgICAgbGVmdDogNnB4O1xuICAgIH1cblxuICAgICYuaXMtbG93ZXN0LXZhbHVlOmZvY3VzOm5vdCg6YWN0aXZlKTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCAkcmFuZ2UtYmctZm9jdXMtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2UtYmctZm9jdXMtY29sb3I7XG4gICAgfVxuXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6Zm9jdXM6bm90KDphY3RpdmUpOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggJHJhbmdlLWJnLWZvY3VzLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZDogJHJhbmdlLWJnLWZvY3VzLWNvbG9yO1xuICAgIH1cblxuICAgICYuaXMtbG93ZXN0LXZhbHVlOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYm9yZGVyOiAxLjZweCBzb2xpZCAkcmFuZ2UtYmctY29sb3I7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgfVxuXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6YWN0aXZlICtcbiAgICAgICAgLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtZmxleCA+IC5tZGwtc2xpZGVyX19iYWNrZ3JvdW5kLXVwcGVyIHtcbiAgICAgIGxlZnQ6IDlweDtcbiAgICB9XG5cbiAgICAmLmlzLWxvd2VzdC12YWx1ZTphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYm9yZGVyOiAxLjVweCBzb2xpZCAkcmFuZ2UtYmctY29sb3I7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgfVxuXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGNsb3Nlc3Qtc2lkZSxcbiAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgdHJhbnNwYXJlbnQgNjYuNjclLFxuICAgICAgJHJhbmdlLWJnLWNvbG9yIDY2LjY3JSxcbiAgICAgICRyYW5nZS1iZy1jb2xvciAxMDAlKTtcbiAgICB9XG5cbiAgICAmLmlzLWxvd2VzdC12YWx1ZTpmb2N1czpub3QoOmFjdGl2ZSk6Oi1tcy10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGNsb3Nlc3Qtc2lkZSxcbiAgICAgICRyYW5nZS1iZy1mb2N1cy1jb2xvciAwJSxcbiAgICAgICRyYW5nZS1iZy1mb2N1cy1jb2xvciAyNSUsXG4gICAgICAkcmFuZ2UtYmctY29sb3IgMjUlLFxuICAgICAgJHJhbmdlLWJnLWNvbG9yIDM3LjUlLFxuICAgICAgJHJhbmdlLWJnLWZvY3VzLWNvbG9yIDM3LjUlLFxuICAgICAgJHJhbmdlLWJnLWZvY3VzLWNvbG9yIDEwMCUpO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG5cbiAgICAmLmlzLWxvd2VzdC12YWx1ZTphY3RpdmU6Oi1tcy10aHVtYiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNTYyNSk7XG4gICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlIGNsb3Nlc3Qtc2lkZSxcbiAgICAgIHRyYW5zcGFyZW50IDAlLFxuICAgICAgdHJhbnNwYXJlbnQgNzcuNzglLFxuICAgICAgJHJhbmdlLWJnLWNvbG9yIDc3Ljc4JSxcbiAgICAgICRyYW5nZS1iZy1jb2xvciAxMDAlKTtcbiAgICB9XG5cbiAgICAmLmlzLWxvd2VzdC12YWx1ZTo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6Oi1tcy1maWxsLXVwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgfVxuXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6YWN0aXZlOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgIH1cblxuICAgIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqIERpc2FibGVkICoqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgICAmOmRpc2FibGVkOmZvY3VzOjotd2Via2l0LXNsaWRlci10aHVtYixcbiAgICAmOmRpc2FibGVkOmFjdGl2ZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIsXG4gICAgJjpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2Nyk7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2UtYmctY29sb3I7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZDpmb2N1czo6LW1vei1yYW5nZS10aHVtYixcbiAgICAmOmRpc2FibGVkOmFjdGl2ZTo6LW1vei1yYW5nZS10aHVtYixcbiAgICAmOmRpc2FibGVkOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC42NjcpO1xuICAgICAgYmFja2dyb3VuZDogJHJhbmdlLWJnLWNvbG9yO1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQgK1xuICAgICAgICAubWRsLXNsaWRlcl9fYmFja2dyb3VuZC1mbGV4ID4gLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJhbmdlLWJnLWNvbG9yO1xuICAgICAgbGVmdDogLTZweDtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkICtcbiAgICAgICAgLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtZmxleCA+IC5tZGwtc2xpZGVyX19iYWNrZ3JvdW5kLXVwcGVyIHtcbiAgICAgIGxlZnQ6IDZweDtcbiAgICB9XG5cbiAgICAmLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDpmb2N1czo6LXdlYmtpdC1zbGlkZXItdGh1bWIsXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6ZGlzYWJsZWQ6YWN0aXZlOjotd2Via2l0LXNsaWRlci10aHVtYixcbiAgICAmLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgJHJhbmdlLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjY3KTtcbiAgICB9XG5cbiAgICAmLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDpmb2N1czo6LW1vei1yYW5nZS10aHVtYixcbiAgICAmLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDphY3RpdmU6Oi1tb3otcmFuZ2UtdGh1bWIsXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6ZGlzYWJsZWQ6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgJHJhbmdlLWJnLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjY3KTtcbiAgICB9XG5cbiAgICAmLmlzLWxvd2VzdC12YWx1ZTpkaXNhYmxlZDphY3RpdmUgK1xuICAgICAgICAubWRsLXNsaWRlcl9fYmFja2dyb3VuZC1mbGV4ID4gLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtdXBwZXIge1xuICAgICAgbGVmdDogNnB4O1xuICAgIH1cblxuICAgICY6ZGlzYWJsZWQ6Zm9jdXM6Oi1tcy10aHVtYixcbiAgICAmOmRpc2FibGVkOmFjdGl2ZTo6LW1zLXRodW1iLFxuICAgICY6ZGlzYWJsZWQ6Oi1tcy10aHVtYiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMjUpO1xuICAgICAgYmFja2dyb3VuZDogJHJhbmdlLWJnLWNvbG9yO1xuICAgIH1cblxuICAgICYuaXMtbG93ZXN0LXZhbHVlOmRpc2FibGVkOmZvY3VzOjotbXMtdGh1bWIsXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6ZGlzYWJsZWQ6YWN0aXZlOjotbXMtdGh1bWIsXG4gICAgJi5pcy1sb3dlc3QtdmFsdWU6ZGlzYWJsZWQ6Oi1tcy10aHVtYiB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMjUpO1xuICAgICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSBjbG9zZXN0LXNpZGUsXG4gICAgICB0cmFuc3BhcmVudCAwJSxcbiAgICAgIHRyYW5zcGFyZW50IDUwJSxcbiAgICAgICRyYW5nZS1iZy1jb2xvciA1MCUsXG4gICAgICAkcmFuZ2UtYmctY29sb3IgMTAwJSk7XG4gICAgfVxuXG4gICAgJjpkaXNhYmxlZDo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICB0cmFuc3BhcmVudCxcbiAgICAgIHRyYW5zcGFyZW50IDI1cHgsXG4gICAgICAkcmFuZ2UtYmctY29sb3IgMjVweCxcbiAgICAgICRyYW5nZS1iZy1jb2xvciAwKTtcbiAgICB9XG5cbiAgICAmOmRpc2FibGVkOjotbXMtZmlsbC11cHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgIH1cblxuICAgICYuaXMtbG93ZXN0LXZhbHVlOmRpc2FibGVkOmFjdGl2ZTo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICB9XG4gIH1cbn1cblxuICAvLyBTaW5jZSB3ZSBuZWVkIHRvIHNwZWNpZnkgYSBoZWlnaHQgb2YgMzJweCBpbiBJRSwgd2UgYWRkIGEgY2xhc3MgaGVyZSBmb3IgYVxuICAvLyBjb250YWluZXIgdGhhdCBicmluZ3MgaXQgYmFjayB0byBhIHJlYXNvbmFibGUgaGVpZ2h0LlxuICAubWRsLXNsaWRlcl9faWUtY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogbm9uZTtcbiAgICBwYWRkaW5nOiBub25lO1xuICB9XG5cbiAgLy8gV2UgdXNlIGEgc2V0IG9mIGRpdnMgYmVoaW5kIHRoZSB0cmFjayB0byBzdHlsZSBpdCBpbiBhbGwgbm9uLUlFIGJyb3dzZXJzLlxuICAvLyBUaGlzIG9uZSBjb250YWlucyBib3RoIHRoZSBiYWNrZ3JvdW5kIGFuZCB0aGUgc2xpZGVyLlxuICAubWRsLXNsaWRlcl9fY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB9XG5cbiAgLy8gVGhpcyBvbmUgc2V0cyB1cCBhIGZsZXggYm94IGZvciB0aGUgc3R5bGVkIHVwcGVyIGFuZCBsb3dlciBwb3J0aW9ucyBvZiB0aGVcbiAgLy8gdGhlIHNsaWRlciB0cmFjay5cbiAgLm1kbC1zbGlkZXJfX2JhY2tncm91bmQtZmxleCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MnB4KTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCAyNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMXB4KTtcbiAgfVxuXG4gIC8vIFRoaXMgb25lIHN0eWxlcyB0aGUgbG93ZXIgcGFydCBvZiB0aGUgc2xpZGVyIHRyYWNrLlxuICAubWRsLXNsaWRlcl9fYmFja2dyb3VuZC1sb3dlciB7XG4gICAgYmFja2dyb3VuZDogJHJhbmdlLWNvbG9yO1xuICAgIGZsZXg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gVGhpcyBvbmUgc3R5bGVzIHRoZSB1cHBlciBwYXJ0IG9mIHRoZSBzbGlkZXIgdHJhY2suXG4gIC5tZGwtc2xpZGVyX19iYWNrZ3JvdW5kLXVwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmFuZ2UtYmctY29sb3I7XG4gICAgZmxleDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAwLjE4cyAkYW5pbWF0aW9uLWN1cnZlLWRlZmF1bHRcbiAgfVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG4ubWRsLXNuYWNrYmFyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDUwJTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc25hY2tiYXItYmFja2dyb3VuZC1jb2xvcjtcbiAgei1pbmRleDogMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZm9udC1mYW1pbHk6ICRwcmVmZXJyZWRfZm9udDtcbiAgd2lsbC1jaGFuZ2U6IHRyYW5zZm9ybTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgODBweCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjI1cyAkYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LWxpbmVhci1pbjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIEBtZWRpYShtYXgtd2lkdGg6ICRzbmFja2Jhci10YWJsZXQtYnJlYWtwb2ludCAtIDEpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDQ4cHg7XG4gICAgbWF4LWhlaWdodDogODBweDtcbiAgfVxuICBAbWVkaWEobWluLXdpZHRoOiAkc25hY2tiYXItdGFibGV0LWJyZWFrcG9pbnQpIHtcbiAgICBtaW4td2lkdGg6IDI4OHB4O1xuICAgIG1heC13aWR0aDogNTY4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDgwcHgpO1xuICB9XG4gICYtLWFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMjVzICRhbmltYXRpb24tY3VydmUtbGluZWFyLW91dC1zbG93LWluO1xuXG4gICAgQG1lZGlhKG1pbi13aWR0aDogJHNuYWNrYmFyLXRhYmxldC1icmVha3BvaW50KSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICB9XG4gIH1cblxuICAmX190ZXh0IHtcbiAgICBwYWRkaW5nOiAxNHB4IDEycHggMTRweCAyNHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgJl9fYWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICRzbmFja2Jhci1hY3Rpb24tY29sb3I7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMTRweCAyNHB4IDE0cHggMTJweDtcbiAgICBAaW5jbHVkZSB0eXBvLWJ1dHRvbigpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgICAmOm5vdChbYXJpYS1oaWRkZW5dKSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIENvcHlyaWdodCAyMDE1IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5AaW1wb3J0IFwiLi4vdmFyaWFibGVzXCI7XG5cblxuLm1kbC1zcGlubmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAkc3Bpbm5lci1zaXplO1xuICBoZWlnaHQ6ICRzcGlubmVyLXNpemU7XG5cbiAgJjpub3QoLmlzLXVwZ3JhZGVkKS5pcy1hY3RpdmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiTG9hZGluZy4uLlwiO1xuICB9XG5cbiAgJi5pcy11cGdyYWRlZC5pcy1hY3RpdmUge1xuICAgIGFuaW1hdGlvbjogbWRsLXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUgJHNwaW5uZXItZHVyYXRpb24gbGluZWFyIGluZmluaXRlO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbWRsLXNwaW5uZXJfX2NvbnRhaW5lci1yb3RhdGUge1xuICB0byB7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZykgfVxufVxuXG4ubWRsLXNwaW5uZXJfX2xheWVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubWRsLXNwaW5uZXJfX2xheWVyLTEge1xuICBib3JkZXItY29sb3I6ICRzcGlubmVyLWNvbG9yLTE7XG5cbiAgLm1kbC1zcGlubmVyLS1zaW5nbGUtY29sb3IgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc3Bpbm5lci1zaW5nbGUtY29sb3I7XG4gIH1cblxuICAubWRsLXNwaW5uZXIuaXMtYWN0aXZlICYge1xuICAgIGFuaW1hdGlvbjpcbiAgICAgICAgbWRsLXNwaW5uZXJfX2ZpbGwtdW5maWxsLXJvdGF0ZSAoNCAqICRzcGlubmVyLWFyYy10aW1lKVxuICAgICAgICAgICAgJGFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluIGluZmluaXRlIGJvdGgsXG4gICAgICAgIG1kbC1zcGlubmVyX19sYXllci0xLWZhZGUtaW4tb3V0ICg0ICogJHNwaW5uZXItYXJjLXRpbWUpXG4gICAgICAgICAgICAkYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LXNsb3ctaW4gaW5maW5pdGUgYm90aDtcbiAgfVxufVxuXG4ubWRsLXNwaW5uZXJfX2xheWVyLTIge1xuICBib3JkZXItY29sb3I6ICRzcGlubmVyLWNvbG9yLTI7XG5cbiAgLm1kbC1zcGlubmVyLS1zaW5nbGUtY29sb3IgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc3Bpbm5lci1zaW5nbGUtY29sb3I7XG4gIH1cblxuICAubWRsLXNwaW5uZXIuaXMtYWN0aXZlICYge1xuICAgIGFuaW1hdGlvbjpcbiAgICAgICAgbWRsLXNwaW5uZXJfX2ZpbGwtdW5maWxsLXJvdGF0ZSAoNCAqICRzcGlubmVyLWFyYy10aW1lKVxuICAgICAgICAgICAgJGFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluIGluZmluaXRlIGJvdGgsXG4gICAgICAgIG1kbC1zcGlubmVyX19sYXllci0yLWZhZGUtaW4tb3V0ICg0ICogJHNwaW5uZXItYXJjLXRpbWUpXG4gICAgICAgICAgICAkYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LXNsb3ctaW4gaW5maW5pdGUgYm90aDtcbiAgfVxufVxuXG4ubWRsLXNwaW5uZXJfX2xheWVyLTMge1xuICBib3JkZXItY29sb3I6ICRzcGlubmVyLWNvbG9yLTM7XG5cbiAgLm1kbC1zcGlubmVyLS1zaW5nbGUtY29sb3IgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc3Bpbm5lci1zaW5nbGUtY29sb3I7XG4gIH1cblxuICAubWRsLXNwaW5uZXIuaXMtYWN0aXZlICYge1xuICAgIGFuaW1hdGlvbjpcbiAgICAgICAgbWRsLXNwaW5uZXJfX2ZpbGwtdW5maWxsLXJvdGF0ZSAoNCAqICRzcGlubmVyLWFyYy10aW1lKVxuICAgICAgICAgICAgJGFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluIGluZmluaXRlIGJvdGgsXG4gICAgICAgIG1kbC1zcGlubmVyX19sYXllci0zLWZhZGUtaW4tb3V0ICg0ICogJHNwaW5uZXItYXJjLXRpbWUpXG4gICAgICAgICAgICAkYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LXNsb3ctaW4gaW5maW5pdGUgYm90aDtcbiAgfVxufVxuXG4ubWRsLXNwaW5uZXJfX2xheWVyLTQge1xuICBib3JkZXItY29sb3I6ICRzcGlubmVyLWNvbG9yLTQ7XG5cbiAgLm1kbC1zcGlubmVyLS1zaW5nbGUtY29sb3IgJiB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc3Bpbm5lci1zaW5nbGUtY29sb3I7XG4gIH1cblxuICAubWRsLXNwaW5uZXIuaXMtYWN0aXZlICYge1xuICAgIGFuaW1hdGlvbjpcbiAgICAgICAgbWRsLXNwaW5uZXJfX2ZpbGwtdW5maWxsLXJvdGF0ZSAoNCAqICRzcGlubmVyLWFyYy10aW1lKVxuICAgICAgICAgICAgJGFuaW1hdGlvbi1jdXJ2ZS1mYXN0LW91dC1zbG93LWluIGluZmluaXRlIGJvdGgsXG4gICAgICAgIG1kbC1zcGlubmVyX19sYXllci00LWZhZGUtaW4tb3V0ICg0ICogJHNwaW5uZXItYXJjLXRpbWUpXG4gICAgICAgICAgICAkYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LXNsb3ctaW4gaW5maW5pdGUgYm90aDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19maWxsLXVuZmlsbC1yb3RhdGUge1xuICAxMi41JSB7IHRyYW5zZm9ybTogcm90YXRlKDAuNSAqICRzcGlubmVyLWFyYy1zaXplKTsgIH1cbiAgMjUlICAgeyB0cmFuc2Zvcm06IHJvdGF0ZSgkc3Bpbm5lci1hcmMtc2l6ZSk7ICB9XG4gIDM3LjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoMS41ICogJHNwaW5uZXItYXJjLXNpemUpOyAgfVxuICA1MCUgICB7IHRyYW5zZm9ybTogcm90YXRlKDIgKiAkc3Bpbm5lci1hcmMtc2l6ZSk7ICB9XG4gIDYyLjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoMi41ICogJHNwaW5uZXItYXJjLXNpemUpOyAgfVxuICA3NSUgICB7IHRyYW5zZm9ybTogcm90YXRlKDMgKiAkc3Bpbm5lci1hcmMtc2l6ZSk7ICB9XG4gIDg3LjUlIHsgdHJhbnNmb3JtOiByb3RhdGUoMy41ICogJHNwaW5uZXItYXJjLXNpemUpOyB9XG4gIHRvICAgIHsgdHJhbnNmb3JtOiByb3RhdGUoNCAqICRzcGlubmVyLWFyYy1zaXplKTsgfVxufVxuXG4vKipcbiogSEFDSzogRXZlbiB0aG91Z2ggdGhlIGludGVudGlvbiBpcyB0byBoYXZlIHRoZSBjdXJyZW50IC5tZGwtc3Bpbm5lcl9fbGF5ZXItTlxuKiBhdCBgb3BhY2l0eTogMWAsIHdlIHNldCBpdCB0byBgb3BhY2l0eTogMC45OWAgaW5zdGVhZCBzaW5jZSB0aGlzIGZvcmNlcyBDaHJvbWVcbiogdG8gZG8gcHJvcGVyIHN1YnBpeGVsIHJlbmRlcmluZyBmb3IgdGhlIGVsZW1lbnRzIGJlaW5nIGFuaW1hdGVkLiBUaGlzIGlzXG4qIGVzcGVjaWFsbHkgdmlzaWJsZSBpbiBDaHJvbWUgMzkgb24gVWJ1bnR1IDE0LjA0LiBTZWU6XG4qXG4qIC0gaHR0cHM6Ly9naXRodWIuY29tL1BvbHltZXIvcGFwZXItc3Bpbm5lci9pc3N1ZXMvOVxuKiAtIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00MzYyNTVcbiovXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19sYXllci0xLWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDAuOTk7IH1cbiAgMjUlIHsgb3BhY2l0eTogMC45OTsgfVxuICAyNiUgeyBvcGFjaXR5OiAwOyB9XG4gIDg5JSB7IG9wYWNpdHk6IDA7IH1cbiAgOTAlIHsgb3BhY2l0eTogMC45OTsgfVxuICAxMDAlIHsgb3BhY2l0eTogMC45OTsgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19sYXllci0yLWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgMTUlIHsgb3BhY2l0eTogMDsgfVxuICAyNSUgeyBvcGFjaXR5OiAwLjk5OyB9XG4gIDUwJSB7IG9wYWNpdHk6IDAuOTk7IH1cbiAgNTElIHsgb3BhY2l0eTogMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19sYXllci0zLWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgNDAlIHsgb3BhY2l0eTogMDsgfVxuICA1MCUgeyBvcGFjaXR5OiAwLjk5OyB9XG4gIDc1JSB7IG9wYWNpdHk6IDAuOTk7IH1cbiAgNzYlIHsgb3BhY2l0eTogMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19sYXllci00LWZhZGUtaW4tb3V0IHtcbiAgZnJvbSB7IG9wYWNpdHk6IDA7IH1cbiAgNjUlIHsgb3BhY2l0eTogMDsgfVxuICA3NSUgeyBvcGFjaXR5OiAwLjk5OyB9XG4gIDkwJSB7IG9wYWNpdHk6IDAuOTk7IH1cbiAgMTAwJSB7IG9wYWNpdHk6IDA7IH1cbn1cblxuLyoqXG4qIFBhdGNoIHRoZSBnYXAgdGhhdCBhcHBlYXIgYmV0d2VlbiB0aGUgdHdvIGFkamFjZW50XG4qIGRpdi5tZGwtc3Bpbm5lcl9fY2lyY2xlLWNsaXBwZXIgd2hpbGUgdGhlIHNwaW5uZXIgaXMgcm90YXRpbmdcbiogKGFwcGVhcnMgb24gQ2hyb21lIDM4LCBTYWZhcmkgNy4xLCBhbmQgSUUgMTEpLlxuKlxuKiBVcGRhdGU6IHRoZSBnYXAgbm8gbG9uZ2VyIGFwcGVhcnMgb24gQ2hyb21lIHdoZW4gLm1kbC1zcGlubmVyX19sYXllci1OJ3Ncbiogb3BhY2l0eSBpcyAwLjk5LCBidXQgc3RpbGwgZG9lcyBvbiBTYWZhcmkgYW5kIElFLlxuKi9cbi5tZGwtc3Bpbm5lcl9fZ2FwLXBhdGNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDQ1JTtcbiAgd2lkdGg6IDEwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgJiAubWRsLXNwaW5uZXJfX2NpcmNsZSB7XG4gICAgd2lkdGg6IDEwMDAlO1xuICAgIGxlZnQ6IC00NTAlO1xuICB9XG59XG5cbi5tZGwtc3Bpbm5lcl9fY2lyY2xlLWNsaXBwZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgJi5tZGwtc3Bpbm5lcl9fbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAmLm1kbC1zcGlubmVyX19yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgJiAubWRsLXNwaW5uZXJfX2NpcmNsZSB7XG4gICAgd2lkdGg6IDIwMCU7XG4gIH1cbn1cblxuLm1kbC1zcGlubmVyX19jaXJjbGUge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci13aWR0aDogJHNwaW5uZXItc3Ryb2tlLXdpZHRoO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBub25lO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuXG4gIC5tZGwtc3Bpbm5lcl9fbGVmdCAmIHtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTI5ZGVnKTtcblxuICAgIC5tZGwtc3Bpbm5lci5pcy1hY3RpdmUgJiB7XG4gICAgICBhbmltYXRpb246IG1kbC1zcGlubmVyX19sZWZ0LXNwaW4gJHNwaW5uZXItYXJjLXRpbWVcbiAgICAgICAgICAkYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LXNsb3ctaW4gaW5maW5pdGUgYm90aDtcbiAgICB9XG4gIH1cblxuICAubWRsLXNwaW5uZXJfX3JpZ2h0ICYge1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMjlkZWcpO1xuXG4gICAgLm1kbC1zcGlubmVyLmlzLWFjdGl2ZSAmIHtcbiAgICAgIGFuaW1hdGlvbjogbWRsLXNwaW5uZXJfX3JpZ2h0LXNwaW4gJHNwaW5uZXItYXJjLXRpbWVcbiAgICAgICAgICAkYW5pbWF0aW9uLWN1cnZlLWZhc3Qtb3V0LXNsb3ctaW4gaW5maW5pdGUgYm90aDtcbiAgICB9XG4gIH1cbn1cblxuQGtleWZyYW1lcyBtZGwtc3Bpbm5lcl9fbGVmdC1zcGluIHtcbiAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKDEzMGRlZyk7IH1cbiAgNTAlIHsgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoMTMwZGVnKTsgfVxufVxuXG5Aa2V5ZnJhbWVzIG1kbC1zcGlubmVyX19yaWdodC1zcGluIHtcbiAgZnJvbSB7IHRyYW5zZm9ybTogcm90YXRlKC0xMzBkZWcpOyB9XG4gIDUwJSB7IHRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gIHRvIHsgdHJhbnNmb3JtOiByb3RhdGUoLTEzMGRlZyk7IH1cbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG4ubWRsLXN3aXRjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICB6LWluZGV4OiAxO1xuXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzd2l0Y2gtbGFiZWwtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgJi5pcy11cGdyYWRlZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAkc3dpdGNoLXRyYWNrLWxlbmd0aCAtIDhweDtcbiAgfVxuXG4gIC8vIGF2b2lkcyBibHVlIGJveCBhcm91bmQgc3dpdGNoXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm1kbC1zd2l0Y2hfX2lucHV0IHtcbiAgbGluZS1oZWlnaHQ6ICRzd2l0Y2gtbGFiZWwtaGVpZ2h0O1xuXG4gIC5tZGwtc3dpdGNoLmlzLXVwZ3JhZGVkICYge1xuICAgIC8vIEhpZGUgaW5wdXQgZWxlbWVudCwgd2hpbGUgc3RpbGwgbWFraW5nIGl0IHJlc3BvbmQgdG8gZm9jdXMuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cblxuLm1kbC1zd2l0Y2hfX3RyYWNrIHtcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1vZmYtdHJhY2stY29sb3I7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAkc3dpdGNoLXRyYWNrLXRvcDtcbiAgaGVpZ2h0OiAkc3dpdGNoLXRyYWNrLWhlaWdodDtcbiAgd2lkdGg6ICRzd2l0Y2gtdHJhY2stbGVuZ3RoO1xuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXRyYWNrLWhlaWdodDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLm1kbC1zd2l0Y2guaXMtY2hlY2tlZCAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXRyYWNrLWNvbG9yO1xuICB9XG5cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtc3dpdGNoLFxuICAubWRsLXN3aXRjaC5pcy1kaXNhYmxlZCAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWRpc2FibGVkLXRyYWNrLWNvbG9yO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxufVxuXG4ubWRsLXN3aXRjaF9fdGh1bWIge1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLW9mZi10aHVtYi1jb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6ICRzd2l0Y2gtdGh1bWItdG9wO1xuICBoZWlnaHQ6ICRzd2l0Y2gtdGh1bWItc2l6ZTtcbiAgd2lkdGg6ICRzd2l0Y2gtdGh1bWItc2l6ZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICBAaW5jbHVkZSBzaGFkb3ctMmRwKCk7XG5cbiAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoMC4yOHMpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0O1xuXG4gIC5tZGwtc3dpdGNoLmlzLWNoZWNrZWQgJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC10aHVtYi1jb2xvcjtcbiAgICBsZWZ0OiAkc3dpdGNoLXRyYWNrLWxlbmd0aCAtICRzd2l0Y2gtdGh1bWItc2l6ZTtcblxuICAgIEBpbmNsdWRlIHNoYWRvdy0zZHAoKTtcbiAgfVxuXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXN3aXRjaCxcbiAgLm1kbC1zd2l0Y2guaXMtZGlzYWJsZWQgJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1kaXNhYmxlZC10aHVtYi1jb2xvcjtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1kbC1zd2l0Y2hfX2ZvY3VzLWhlbHBlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcblxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtJHN3aXRjaC1oZWxwZXItc2l6ZSAvIDIsIC0kc3dpdGNoLWhlbHBlci1zaXplIC8gMik7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAkc3dpdGNoLWhlbHBlci1zaXplO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVscGVyLXNpemU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAubWRsLXN3aXRjaC5pcy1mb2N1c2VkICYge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggKCgkc3dpdGNoLXJpcHBsZS1zaXplIC0gJHN3aXRjaC1oZWxwZXItc2l6ZSkgLyAyKVxuICAgICAgICByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB9XG5cbiAgLm1kbC1zd2l0Y2guaXMtZm9jdXNlZC5pcy1jaGVja2VkICYge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwcHggKCgkc3dpdGNoLXJpcHBsZS1zaXplIC0gJHN3aXRjaC1oZWxwZXItc2l6ZSkgLyAyKVxuICAgICAgICAkc3dpdGNoLWZhZGVkLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2l0Y2gtZmFkZWQtY29sb3I7XG4gIH1cbn1cblxuLm1kbC1zd2l0Y2hfX2xhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogJHN3aXRjaC1sYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkc3dpdGNoLWxhYmVsLWhlaWdodDtcbiAgbWFyZ2luOiAwO1xuICBsZWZ0OiAyNHB4O1xuXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXN3aXRjaCxcbiAgLm1kbC1zd2l0Y2guaXMtZGlzYWJsZWQgJiB7XG4gICAgY29sb3I6ICRzd2l0Y2gtZGlzYWJsZWQtdGh1bWItY29sb3I7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi5tZGwtc3dpdGNoX19yaXBwbGUtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0oJHN3aXRjaC1yaXBwbGUtc2l6ZSAtICRzd2l0Y2gtbGFiZWwtaGVpZ2h0KSAvIDI7XG4gIGxlZnQ6ICRzd2l0Y2gtdGh1bWItc2l6ZSAvIDIgLSAkc3dpdGNoLXJpcHBsZS1zaXplIC8gMjtcblxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogJHN3aXRjaC1yaXBwbGUtc2l6ZTtcbiAgaGVpZ2h0OiAkc3dpdGNoLXJpcHBsZS1zaXplO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC13ZWJraXQtbWFzay1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCB3aGl0ZSwgYmxhY2spO1xuXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNDBzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogc3RlcC1lbmQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQ7XG5cbiAgJiAubWRsLXJpcHBsZSB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1jb2xvcjtcbiAgfVxuXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXN3aXRjaCxcbiAgLm1kbC1zd2l0Y2guaXMtZGlzYWJsZWQgJiB7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG5cbiAgZmllbGRzZXRbZGlzYWJsZWRdIC5tZGwtc3dpdGNoICYgLm1kbC1yaXBwbGUsXG4gIC5tZGwtc3dpdGNoLmlzLWRpc2FibGVkICYgLm1kbC1yaXBwbGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLm1kbC1zd2l0Y2guaXMtY2hlY2tlZCAmIHtcbiAgICBsZWZ0OiAkc3dpdGNoLXRyYWNrLWxlbmd0aCAtICRzd2l0Y2gtcmlwcGxlLXNpemUgLyAyIC1cbiAgICAgICAgJHN3aXRjaC10aHVtYi1zaXplIC8gMjtcbiAgfVxufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG5cbi5tZGwtdGFicyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLm1kbC10YWJzX190YWItYmFyIHtcbiAgICBkaXNwbGF5ICAgICAgICAgOiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uICA6IHJvdztcbiAgICBqdXN0aWZ5LWNvbnRlbnQgOiBjZW50ZXI7IC8vIOKHvlxuICAgIGFsaWduLWNvbnRlbnQgICA6IHNwYWNlLWJldHdlZW47IC8vIHx8XG4gICAgYWxpZ24taXRlbXMgICAgIDogZmxleC1zdGFydDsgLy8g4oaTXG5cbiAgICBoZWlnaHQgICAgICAgICAgOiA0OHB4O1xuICAgIHBhZGRpbmcgICAgICAgICA6IDAgMCAwIDA7XG4gICAgbWFyZ2luICAgICAgICAgIDogMDtcbiAgICBib3JkZXItYm90dG9tICAgOiAxcHggc29saWQgJHRhYi1ib3JkZXItY29sb3I7XG59XG5cbi5tZGwtdGFic19fdGFiIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMjRweCAwIDI0cHg7XG5cbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBoZWlnaHQ6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiA0OHB4O1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAkbGF5b3V0LXRhYi1mb250LXNpemU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgY29sb3I6ICR0YWItdGV4dC1jb2xvcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAubWRsLXRhYnMuaXMtdXBncmFkZWQgJi5pcy1hY3RpdmUge1xuICAgIGNvbG9yOiAkdGFiLWFjdGl2ZS10ZXh0LWNvbG9yO1xuICB9XG5cbiAgLm1kbC10YWJzLmlzLXVwZ3JhZGVkICYuaXMtYWN0aXZlOmFmdGVyIHtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBib3R0b206IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQ6ICR0YWItaGlnaGxpZ2h0LWNvbG9yO1xuICAgIGFuaW1hdGlvbjogYm9yZGVyLWV4cGFuZCAwLjJzIGN1YmljLWJlemllcigwLjQsIDAuMCwgMC40LCAxKSAwLjAxcyBhbHRlcm5hdGUgZm9yd2FyZHM7XG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGN1YmljLWJlemllcigwLjQsIDAuMCwgMSwgMSk7XG4gIH1cblxuICAmIC5tZGwtdGFic19fcmlwcGxlLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBsZWZ0OiAwcHg7XG4gICAgdG9wOiAwcHg7XG4gICAgei1pbmRleDogMTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJiAubWRsLXJpcHBsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWhpZ2hsaWdodC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLm1kbC10YWJzX19wYW5lbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC5tZGwtdGFicy5pcy11cGdyYWRlZCAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLm1kbC10YWJzLmlzLXVwZ3JhZGVkICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvcmRlci1leHBhbmQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB3aWR0aDogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbkBpbXBvcnQgXCIuLi92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9taXhpbnNcIjtcblxuLy8gVGhlIGNvbnRhaW5lciBmb3IgdGhlIHdob2xlIGNvbXBvbmVudC5cbi5tZGwtdGV4dGZpZWxkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6ICRpbnB1dC10ZXh0LWZvbnQtc2l6ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMzAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAkaW5wdXQtdGV4dC12ZXJ0aWNhbC1zcGFjaW5nIDA7XG5cbiAgLy8gQWxpZ24gYnV0dG9ucywgaWYgdXNlZC5cbiAgJiAubWRsLWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogJGlucHV0LXRleHQtdmVydGljYWwtc3BhY2luZztcbiAgfVxufVxuXG4vLyBPcHRpb25hbCBjbGFzcyB0byBhbGlnbiByaWdodC5cbi5tZGwtdGV4dGZpZWxkLS1hbGlnbi1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4vLyBPcHRpb25hbCBjbGFzcyB0byBkaXNwbGF5IGF0IGZ1bGwgd2lkdGguXG4ubWRsLXRleHRmaWVsZC0tZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBPcHRpb25hbCBjbGFzcyB0byBtYWtlIHRoZSB0ZXh0IGZpZWxkIGV4cGFuZGFibGUuXG4ubWRsLXRleHRmaWVsZC0tZXhwYW5kYWJsZSB7XG4gIG1pbi13aWR0aDogJGlucHV0LXRleHQtYnV0dG9uLXNpemU7XG4gIHdpZHRoOiBhdXRvO1xuICBtaW4taGVpZ2h0OiAkaW5wdXQtdGV4dC1idXR0b24tc2l6ZTtcbiAgXG4gIC8vIEFsaWduIGljb24gYnV0dG9uXG4gIC5tZGwtYnV0dG9uLS1pY29uIHtcbiAgICB0b3A6ICRpbnB1dC10ZXh0LWV4cGFuZGFibGUtaWNvbi10b3A7XG4gIH1cbn1cblxuLy8gU3R5bGluZyBmb3IgdGhlIGlucHV0IGVsZW1lbnQuXG4ubWRsLXRleHRmaWVsZF9faW5wdXQge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkaW5wdXQtdGV4dC1ib3R0b20tYm9yZGVyLWNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkaW5wdXQtdGV4dC1mb250LXNpemU7XG4gIGZvbnQtZmFtaWx5OiAkcGVyZm9ybWFuY2VfZm9udDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAkaW5wdXQtdGV4dC1wYWRkaW5nIDA7XG4gIHdpZHRoOiAkaW5wdXQtdGV4dC13aWR0aDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJlt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgfVxuXG4gICZbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgJlt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLm1kbC10ZXh0ZmllbGQuaXMtZm9jdXNlZCAmIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgLm1kbC10ZXh0ZmllbGQuaXMtaW52YWxpZCAmIHtcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC10ZXh0LWVycm9yLWNvbG9yO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cblxuICBmaWVsZHNldFtkaXNhYmxlZF0gLm1kbC10ZXh0ZmllbGQgJixcbiAgLm1kbC10ZXh0ZmllbGQuaXMtZGlzYWJsZWQgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkaW5wdXQtdGV4dC1kaXNhYmxlZC1jb2xvcjtcbiAgICBjb2xvcjogJGlucHV0LXRleHQtZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgfVxufVxuXG4ubWRsLXRleHRmaWVsZCB0ZXh0YXJlYS5tZGwtdGV4dGZpZWxkX19pbnB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBTdHlsaW5nIGZvciB0aGUgbGFiZWwgLyBmbG9hdGluZyBsYWJlbC5cbi5tZGwtdGV4dGZpZWxkX19sYWJlbCB7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6ICRpbnB1dC10ZXh0LWxhYmVsLWNvbG9yO1xuICBmb250LXNpemU6ICRpbnB1dC10ZXh0LWZvbnQtc2l6ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0b3A6ICgkaW5wdXQtdGV4dC1wYWRkaW5nICsgJGlucHV0LXRleHQtdmVydGljYWwtc3BhY2luZyk7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gIC5tZGwtdGV4dGZpZWxkLmlzLWRpcnR5ICYsXG4gIC5tZGwtdGV4dGZpZWxkLmhhcy1wbGFjZWhvbGRlciAmIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBGbG9hdGluZyBMYWJlbFxuICAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwgJiB7XG4gICAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcbiAgfVxuXG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5oYXMtcGxhY2Vob2xkZXIgJiB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAubWRsLXRleHRmaWVsZCAmLFxuICAubWRsLXRleHRmaWVsZC5pcy1kaXNhYmxlZC5pcy1kaXNhYmxlZCAmIHtcbiAgICBjb2xvcjogJGlucHV0LXRleHQtZGlzYWJsZWQtdGV4dC1jb2xvcjtcbiAgfVxuXG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1mb2N1c2VkICYsXG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1kaXJ0eSAmLFxuICAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwuaGFzLXBsYWNlaG9sZGVyICYge1xuICAgIGNvbG9yOiAkaW5wdXQtdGV4dC1oaWdobGlnaHQtY29sb3I7XG4gICAgZm9udC1zaXplIDogJGlucHV0LXRleHQtZmxvYXRpbmctbGFiZWwtZm9udHNpemU7XG4gICAgdG9wOiAkaW5wdXQtdGV4dC12ZXJ0aWNhbC1zcGFjaW5nIC0gKCRpbnB1dC10ZXh0LWZsb2F0aW5nLWxhYmVsLWZvbnRzaXplICsgJGlucHV0LXRleHQtcGFkZGluZyk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuXG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5pcy1mb2N1c2VkIC5tZGwtdGV4dGZpZWxkX19leHBhbmRhYmxlLWhvbGRlciAmLFxuICAubWRsLXRleHRmaWVsZC0tZmxvYXRpbmctbGFiZWwuaXMtZGlydHkgLm1kbC10ZXh0ZmllbGRfX2V4cGFuZGFibGUtaG9sZGVyICYsXG4gIC5tZGwtdGV4dGZpZWxkLS1mbG9hdGluZy1sYWJlbC5oYXMtcGxhY2Vob2xkZXIgLm1kbC10ZXh0ZmllbGRfX2V4cGFuZGFibGUtaG9sZGVyICYge1xuICAgIHRvcDogLSgkaW5wdXQtdGV4dC1mbG9hdGluZy1sYWJlbC1mb250c2l6ZSArICRpbnB1dC10ZXh0LXBhZGRpbmcpO1xuICB9XG5cbiAgLm1kbC10ZXh0ZmllbGQtLWZsb2F0aW5nLWxhYmVsLmlzLWludmFsaWQgJiB7XG4gICAgY29sb3I6ICRpbnB1dC10ZXh0LWVycm9yLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGlucHV0LXRleHQtZmxvYXRpbmctbGFiZWwtZm9udHNpemU7XG4gIH1cblxuICAvLyBUaGUgYWZ0ZXIgbGFiZWwgaXMgdGhlIGNvbG9yZWQgdW5kZXJsaW5lIGZvciB0aGUgVGV4dEZpZWxkLlxuICAmOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtdGV4dC1oaWdobGlnaHQtY29sb3I7XG4gICAgYm90dG9tOiAkaW5wdXQtdGV4dC12ZXJ0aWNhbC1zcGFjaW5nO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGxlZnQ6IDQ1JTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgbWF0ZXJpYWwtYW5pbWF0aW9uLWRlZmF1bHQoKTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwcHg7XG4gIH1cblxuICAubWRsLXRleHRmaWVsZC5pcy1mb2N1c2VkICY6YWZ0ZXIge1xuICAgIGxlZnQ6IDA7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5tZGwtdGV4dGZpZWxkLmlzLWludmFsaWQgJjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LXRleHQtZXJyb3ItY29sb3I7XG4gIH1cbn1cblxuLy8gVGV4dEZpZWxkIEVycm9yLlxuLm1kbC10ZXh0ZmllbGRfX2Vycm9yIHtcbiAgY29sb3I6ICRpbnB1dC10ZXh0LWVycm9yLWNvbG9yO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQtc2l6ZTogJGlucHV0LXRleHQtZmxvYXRpbmctbGFiZWwtZm9udHNpemU7XG4gIG1hcmdpbi10b3A6IDNweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAubWRsLXRleHRmaWVsZC5pcy1pbnZhbGlkICYge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLy8gRXhwYW5kYWJsZSBIb2xkZXIuXG4ubWRsLXRleHRmaWVsZF9fZXhwYW5kYWJsZS1ob2xkZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWxlZnQ6ICRpbnB1dC10ZXh0LWJ1dHRvbi1zaXplO1xuXG4gIEBpbmNsdWRlIG1hdGVyaWFsLWFuaW1hdGlvbi1kZWZhdWx0KCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAvLyBTYWZhcmkgKHBvc3NpYmx5IG90aGVycykgbmVlZCB0byBiZSBjb252aW5jZWQgdGhhdCB0aGlzIGZpZWxkIGlzIGFjdHVhbGx5XG4gIC8vIHZpc2libGUsIG90aGVyd2lzZSBpdCBjYW5ub3QgYmUgdGFiYmVkIHRvIG5vciBmb2N1c2VkIHZpYSBhIDxsYWJlbD4uXG4gIC8vIFRPRE86IEluIHNvbWUgY2FzZXMgKFJldGluYSBkaXNwbGF5cyksIHRoaXMgaXMgYmlnIGVub3VnaCB0byByZW5kZXIgdGhlXG4gIC8vIGlubmVyIGVsZW1lbnQgOihcbiAgbWF4LXdpZHRoOiAwLjFweDtcblxuICAubWRsLXRleHRmaWVsZC5pcy1mb2N1c2VkICYsIC5tZGwtdGV4dGZpZWxkLmlzLWRpcnR5ICYge1xuICAgIC8vIFRoaXMgaXMgYW4gdW5mb3J0dW5hdGUgaGFjay4gQW5pbWF0aW5nIGJldHdlZW4gd2lkdGhzIGluIHBlcmNlbnQgKCUpXG4gICAgLy8gaW4gbWFueSBicm93c2VycyAoQ2hyb21lLCBGaXJlZm94KSBvbmx5IGFuaW1hdGVzIHRoZSBpbm5lciB2aXN1YWwgc3R5bGVcbiAgICAvLyBvZiB0aGUgaW5wdXQgLSB0aGUgb3V0ZXIgYm91bmRpbmcgYm94IHN0aWxsICdqdW1wcycuXG4gICAgLy8gVGh1cyBhc3N1bWUgYSBzZW5zaWJsZSBtYXhpbXVtLCBhbmQgYW5pbWF0ZSB0by9mcm9tIHRoYXQgdmFsdWUuXG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgfVxuICAubWRsLXRleHRmaWVsZF9fbGFiZWw6YWZ0ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4ubWRsLXRvb2x0aXAge1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICR0b29sdGlwLXRleHQtY29sb3I7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICBtYXgtd2lkdGg6IDE3MHB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogLTUwMHB4O1xuICBsZWZ0OiAtNTAwcHg7XG4gIHBhZGRpbmc6IDhweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLm1kbC10b29sdGlwLmlzLWFjdGl2ZSB7XG4gIGFuaW1hdGlvbjogcHVsc2UgMjAwbXMgJGFuaW1hdGlvbi1jdXJ2ZS1saW5lYXItb3V0LXNsb3ctaW4gZm9yd2FyZHM7XG59XG5cbi5tZGwtdG9vbHRpcC0tbGFyZ2Uge1xuICBsaW5lLWhlaWdodDogMTRweDtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemUtbGFyZ2U7XG4gIHBhZGRpbmc6IDE2cHg7XG59XG5cbkBrZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIDUwJSB7XG4gICAgLy8gRml4ZXMgYSB3ZWlyZCBidWcgd2l0aCB0aGUgaW50ZXJhY3Rpb24gYmV0d2VlbiBTYWZhcmkgYW5kIHRoZSByZXN1bHQgb2ZcbiAgICAvLyB0aGUgU0FTUyBjb21waWxhdGlvbiBmb3IgdGhlIGFuaW1hdGlvbi5cbiAgICAvLyBFc3NlbnRpYWxseSwgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCBcIjUwJVwiIGFuZCBcIjEwMCVcIiBkb24ndCBnZXQgbWVyZ2VkXG4gICAgLy8gaW50byBhIHNpbmdsZSBcIjUwJSwgMTAwJVwiIGVudHJ5LCBzbyB3ZSBuZWVkIHRvIGF2b2lkIHRoZW0gaGF2aW5nIGFueVxuICAgIC8vIG1hdGNoaW5nIHByb3BlcnRpZXMuXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk5KTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuIiwiLyoqXG4gKiBDb3B5cmlnaHQgMjAxNSBHb29nbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL21peGluc1wiO1xuXG4ubWRsLXNoYWRvdy0tMmRwIHtcbiAgQGluY2x1ZGUgc2hhZG93LTJkcCgpO1xufVxuXG4ubWRsLXNoYWRvdy0tM2RwIHtcbiAgQGluY2x1ZGUgc2hhZG93LTNkcCgpO1xufVxuXG4ubWRsLXNoYWRvdy0tNGRwIHtcbiAgQGluY2x1ZGUgc2hhZG93LTRkcCgpO1xufVxuXG4ubWRsLXNoYWRvdy0tNmRwIHtcbiAgQGluY2x1ZGUgc2hhZG93LTZkcCgpO1xufVxuXG4ubWRsLXNoYWRvdy0tOGRwIHtcbiAgQGluY2x1ZGUgc2hhZG93LThkcCgpO1xufVxuXG4ubWRsLXNoYWRvdy0tMTZkcCB7XG4gIEBpbmNsdWRlIHNoYWRvdy0xNmRwKCk7XG59XG5cbi5tZGwtc2hhZG93LS0yNGRwIHtcbiAgQGluY2x1ZGUgc2hhZG93LTI0ZHAoKTtcbn1cbiIsIi8qKlxuICogQ29weXJpZ2h0IDIwMTUgR29vZ2xlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbi8qXG4qIE5PVEU6IFNvbWUgcnVsZXMgaGVyZSBhcmUgYXBwbGllZCB1c2luZyBkdXBsaWNhdGUgc2VsZWN0b3JzLlxuKiBUaGlzIGlzIG9uIHB1cnBvc2UgdG8gaW5jcmVhc2UgdGhlaXIgc3BlY2lmaWNpdHkgd2hlbiBhcHBsaWVkLlxuKiBGb3IgZXhhbXBsZTogYC5tZGwtY2VsbC0tMS1jb2wtcGhvbmUubWRsLWNlbGwtLTEtY29sLXBob25lYFxuKi9cblxuQGltcG9ydCBcIi4uL3ZhcmlhYmxlc1wiO1xuXG4ubWRsLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICBtYXJnaW46IDAgYXV0byAwIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuXG4gICYubWRsLWdyaWQtLW5vLXNwYWNpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLm1kbC1jZWxsIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4ubWRsLWNlbGwtLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG5cbi5tZGwtY2VsbC0tbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xufVxuXG4ubWRsLWNlbGwtLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kO1xufVxuXG4ubWRsLWNlbGwtLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4ubWRsLWdyaWQubWRsLWdyaWQtLW5vLXNwYWNpbmcgPiAubWRsLWNlbGwge1xuICBtYXJnaW46IDA7XG59XG5cbi8vIERlZmluZSBvcmRlciBvdmVycmlkZSBjbGFzc2VzLlxuQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1tYXgtY29sdW1ucyB7XG4gIC5tZGwtY2VsbC0tb3JkZXItI3skaX0ge1xuICAgIG9yZGVyOiAkaTtcbiAgfVxufVxuXG5cbi8vIE1peGlucyBmb3Igd2lkdGggY2FsY3VsYXRpb24uXG5AbWl4aW4gcGFydGlhbC1zaXplKCRzaXplLCAkY29sdW1ucywgJGd1dHRlcikge1xuICB3aWR0aDogY2FsYygjeygoJHNpemUgLyAkY29sdW1ucykgKiAxMDApK1wiJVwifSAtICN7JGd1dHRlcn0pO1xuXG4gIC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+ICYge1xuICAgIHdpZHRoOiAjeygoJHNpemUgLyAkY29sdW1ucykgKiAxMDApK1wiJVwifTtcbiAgfVxufVxuXG5AbWl4aW4gZnVsbC1zaXplKCRndXR0ZXIpIHtcbiAgQGluY2x1ZGUgcGFydGlhbC1zaXplKDEsIDEsICRndXR0ZXIpO1xufVxuXG5AbWl4aW4gb2Zmc2V0LXNpemUoJHNpemUsICRjb2x1bW5zLCAkZ3V0dGVyKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKCN7KCgkc2l6ZSAvICRjb2x1bW5zKSAqIDEwMCkrXCIlXCJ9ICsgI3skZ3V0dGVyIC8gMn0pO1xuXG4gIC5tZGwtZ3JpZC5tZGwtZ3JpZC0tbm8tc3BhY2luZyA+ICYge1xuICAgIG1hcmdpbi1sZWZ0OiAjeygoJHNpemUgLyAkY29sdW1ucykgKiAxMDApK1wiJVwifTtcbiAgfVxufVxuXG5cblxuLy8vLy8vLy8vLyBQaG9uZSAvLy8vLy8vLy8vXG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkZ3JpZC10YWJsZXQtYnJlYWtwb2ludCAtIDEpIHtcbiAgLm1kbC1ncmlkIHtcbiAgICBwYWRkaW5nOiAkZ3JpZC1waG9uZS1tYXJnaW4gLSAoJGdyaWQtcGhvbmUtZ3V0dGVyIC8gMik7XG4gIH1cblxuICAubWRsLWNlbGwge1xuICAgIG1hcmdpbjogJGdyaWQtcGhvbmUtZ3V0dGVyIC8gMjtcbiAgICBAaW5jbHVkZSBwYXJ0aWFsLXNpemUoJGdyaWQtY2VsbC1kZWZhdWx0LWNvbHVtbnMsICRncmlkLXBob25lLWNvbHVtbnMsXG4gICAgICAgICRncmlkLXBob25lLWd1dHRlcik7XG4gIH1cblxuICAubWRsLWNlbGwtLWhpZGUtcGhvbmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC8vIERlZmluZSBvcmRlciBvdmVycmlkZSBjbGFzc2VzLlxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLW1heC1jb2x1bW5zIHtcbiAgICAubWRsLWNlbGwtLW9yZGVyLSN7JGl9LXBob25lLm1kbC1jZWxsLS1vcmRlci0jeyRpfS1waG9uZSB7XG4gICAgICBvcmRlcjogJGk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5lIHBhcnRpYWwgc2l6ZXMgZm9yIGNvbHVtbk51bWJlciA8IHRvdGFsQ29sdW1ucy5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGdyaWQtcGhvbmUtY29sdW1ucyAtIDEpIHtcbiAgICAubWRsLWNlbGwtLSN7JGl9LWNvbCxcbiAgICAubWRsLWNlbGwtLSN7JGl9LWNvbC1waG9uZS5tZGwtY2VsbC0tI3skaX0tY29sLXBob25lIHtcbiAgICAgIEBpbmNsdWRlIHBhcnRpYWwtc2l6ZSgkaSwgJGdyaWQtcGhvbmUtY29sdW1ucywgJGdyaWQtcGhvbmUtZ3V0dGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbmUgMTAwJSBmb3IgZXZlcnl0aGluZyBlbHNlLlxuICBAZm9yICRpIGZyb20gJGdyaWQtcGhvbmUtY29sdW1ucyB0aHJvdWdoICRncmlkLWRlc2t0b3AtY29sdW1ucyB7XG4gICAgLm1kbC1jZWxsLS0jeyRpfS1jb2wsXG4gICAgLm1kbC1jZWxsLS0jeyRpfS1jb2wtcGhvbmUubWRsLWNlbGwtLSN7JGl9LWNvbC1waG9uZSB7XG4gICAgICBAaW5jbHVkZSBmdWxsLXNpemUoJGdyaWQtcGhvbmUtZ3V0dGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbmUgdmFsaWQgcGhvbmUgb2Zmc2V0cy5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGdyaWQtcGhvbmUtY29sdW1ucyAtIDEpIHtcbiAgICAubWRsLWNlbGwtLSN7JGl9LW9mZnNldCxcbiAgICAubWRsLWNlbGwtLSN7JGl9LW9mZnNldC1waG9uZS5tZGwtY2VsbC0tI3skaX0tb2Zmc2V0LXBob25lIHtcbiAgICAgIEBpbmNsdWRlIG9mZnNldC1zaXplKCRpLCAkZ3JpZC1waG9uZS1jb2x1bW5zLCAkZ3JpZC1waG9uZS1ndXR0ZXIpO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8gVGFibGV0IC8vLy8vLy8vLy9cblxuQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLXRhYmxldC1icmVha3BvaW50KSBhbmQgKG1heC13aWR0aDogJGdyaWQtZGVza3RvcC1icmVha3BvaW50IC0gMSkge1xuICAubWRsLWdyaWQge1xuICAgIHBhZGRpbmc6ICRncmlkLXRhYmxldC1tYXJnaW4gLSAoJGdyaWQtdGFibGV0LWd1dHRlciAvIDIpO1xuICB9XG5cbiAgLm1kbC1jZWxsIHtcbiAgICBtYXJnaW46ICRncmlkLXRhYmxldC1ndXR0ZXIgLyAyO1xuICAgIEBpbmNsdWRlIHBhcnRpYWwtc2l6ZSgkZ3JpZC1jZWxsLWRlZmF1bHQtY29sdW1ucywgJGdyaWQtdGFibGV0LWNvbHVtbnMsXG4gICAgICAgICRncmlkLXRhYmxldC1ndXR0ZXIpO1xuICB9XG5cbiAgLm1kbC1jZWxsLS1oaWRlLXRhYmxldCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLy8gRGVmaW5lIG9yZGVyIG92ZXJyaWRlIGNsYXNzZXMuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtbWF4LWNvbHVtbnMge1xuICAgIC5tZGwtY2VsbC0tb3JkZXItI3skaX0tdGFibGV0Lm1kbC1jZWxsLS1vcmRlci0jeyRpfS10YWJsZXQge1xuICAgICAgb3JkZXI6ICRpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluZSBwYXJ0aWFsIHNpemVzIGZvciBjb2x1bW5OdW1iZXIgPCB0b3RhbENvbHVtbnMuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRncmlkLXRhYmxldC1jb2x1bW5zIC0gMSkge1xuICAgIC5tZGwtY2VsbC0tI3skaX0tY29sLFxuICAgIC5tZGwtY2VsbC0tI3skaX0tY29sLXRhYmxldC5tZGwtY2VsbC0tI3skaX0tY29sLXRhYmxldCB7XG4gICAgICBAaW5jbHVkZSBwYXJ0aWFsLXNpemUoJGksICRncmlkLXRhYmxldC1jb2x1bW5zLCAkZ3JpZC10YWJsZXQtZ3V0dGVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbmUgMTAwJSBmb3IgZXZlcnl0aGluZyBlbHNlLlxuICBAZm9yICRpIGZyb20gJGdyaWQtdGFibGV0LWNvbHVtbnMgdGhyb3VnaCAkZ3JpZC1kZXNrdG9wLWNvbHVtbnMge1xuICAgIC5tZGwtY2VsbC0tI3skaX0tY29sLFxuICAgIC5tZGwtY2VsbC0tI3skaX0tY29sLXRhYmxldC5tZGwtY2VsbC0tI3skaX0tY29sLXRhYmxldCB7XG4gICAgICBAaW5jbHVkZSBmdWxsLXNpemUoJGdyaWQtdGFibGV0LWd1dHRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5lIHZhbGlkIHRhYmxldCBvZmZzZXRzLlxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkZ3JpZC10YWJsZXQtY29sdW1ucyAtIDEpIHtcbiAgICAubWRsLWNlbGwtLSN7JGl9LW9mZnNldCxcbiAgICAubWRsLWNlbGwtLSN7JGl9LW9mZnNldC10YWJsZXQubWRsLWNlbGwtLSN7JGl9LW9mZnNldC10YWJsZXQge1xuICAgICAgQGluY2x1ZGUgb2Zmc2V0LXNpemUoJGksICRncmlkLXRhYmxldC1jb2x1bW5zLCAkZ3JpZC10YWJsZXQtZ3V0dGVyKTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLy8vLy8vLy8vIERlc2t0b3AgLy8vLy8vLy8vL1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZGVza3RvcC1icmVha3BvaW50KSB7XG4gIC5tZGwtZ3JpZCB7XG4gICAgcGFkZGluZzogJGdyaWQtZGVza3RvcC1tYXJnaW4gLSAoJGdyaWQtZGVza3RvcC1ndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIC5tZGwtY2VsbCB7XG4gICAgbWFyZ2luOiAkZ3JpZC1kZXNrdG9wLWd1dHRlciAvIDI7XG4gICAgQGluY2x1ZGUgcGFydGlhbC1zaXplKCRncmlkLWNlbGwtZGVmYXVsdC1jb2x1bW5zLCAkZ3JpZC1kZXNrdG9wLWNvbHVtbnMsXG4gICAgICAgICRncmlkLWRlc2t0b3AtZ3V0dGVyKTtcbiAgfVxuXG4gIC5tZGwtY2VsbC0taGlkZS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAvLyBEZWZpbmUgb3JkZXIgb3ZlcnJpZGUgY2xhc3Nlcy5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1tYXgtY29sdW1ucyB7XG4gICAgLm1kbC1jZWxsLS1vcmRlci0jeyRpfS1kZXNrdG9wLm1kbC1jZWxsLS1vcmRlci0jeyRpfS1kZXNrdG9wIHtcbiAgICAgIG9yZGVyOiAkaTtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbmUgcGFydGlhbCBzaXplcyBmb3IgYWxsIG51bWJlcnMgb2YgY29sdW1ucy5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1kZXNrdG9wLWNvbHVtbnMge1xuICAgIC5tZGwtY2VsbC0tI3skaX0tY29sLFxuICAgIC5tZGwtY2VsbC0tI3skaX0tY29sLWRlc2t0b3AubWRsLWNlbGwtLSN7JGl9LWNvbC1kZXNrdG9wIHtcbiAgICAgIEBpbmNsdWRlIHBhcnRpYWwtc2l6ZSgkaSwgJGdyaWQtZGVza3RvcC1jb2x1bW5zLCAkZ3JpZC1kZXNrdG9wLWd1dHRlcik7XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmaW5lIHZhbGlkIGRlc2t0b3Agb2Zmc2V0cy5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAoJGdyaWQtZGVza3RvcC1jb2x1bW5zIC0gMSkge1xuICAgIC5tZGwtY2VsbC0tI3skaX0tb2Zmc2V0LFxuICAgIC5tZGwtY2VsbC0tI3skaX0tb2Zmc2V0LWRlc2t0b3AubWRsLWNlbGwtLSN7JGl9LW9mZnNldC1kZXNrdG9wIHtcbiAgICAgIEBpbmNsdWRlIG9mZnNldC1zaXplKCRpLCAkZ3JpZC1kZXNrdG9wLWNvbHVtbnMsICRncmlkLWRlc2t0b3AtZ3V0dGVyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIVxuICogQm9vdHN0cmFwIHYzLjMuNyAoaHR0cDovL2dldGJvb3RzdHJhcC5jb20pXG4gKiBDb3B5cmlnaHQgMjAxMS0yMDE2IFR3aXR0ZXIsIEluYy5cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG4gKi9cblxuLy8gQ29yZSB2YXJpYWJsZXMgYW5kIG1peGluc1xuQGltcG9ydCBcImJvb3RzdHJhcC92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbWl4aW5zXCI7XG5cbi8vIFJlc2V0IGFuZCBkZXBlbmRlbmNpZXNcbkBpbXBvcnQgXCJib290c3RyYXAvbm9ybWFsaXplXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3ByaW50XCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2dseXBoaWNvbnNcIjtcblxuLy8gQ29yZSBDU1NcbkBpbXBvcnQgXCJib290c3RyYXAvc2NhZmZvbGRpbmdcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdHlwZVwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9jb2RlXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2dyaWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvdGFibGVzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Zvcm1zXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2J1dHRvbnNcIjtcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcImJvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9uc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9kcm9wZG93bnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYnV0dG9uLWdyb3Vwc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9pbnB1dC1ncm91cHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvbmF2c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9uYXZiYXJcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYnJlYWRjcnVtYnNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcGFnaW5hdGlvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wYWdlclwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9sYWJlbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvYmFkZ2VzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2p1bWJvdHJvblwiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90aHVtYm5haWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2FsZXJ0c1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC9wcm9ncmVzcy1iYXJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL21lZGlhXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcGFuZWxzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3Jlc3BvbnNpdmUtZW1iZWRcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvd2VsbHNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvY2xvc2VcIjtcblxuLy8gQ29tcG9uZW50cyB3LyBKYXZhU2NyaXB0XG5AaW1wb3J0IFwiYm9vdHN0cmFwL21vZGFsc1wiO1xuQGltcG9ydCBcImJvb3RzdHJhcC90b29sdGlwXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL3BvcG92ZXJzXCI7XG5AaW1wb3J0IFwiYm9vdHN0cmFwL2Nhcm91c2VsXCI7XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuQGltcG9ydCBcImJvb3RzdHJhcC91dGlsaXRpZXNcIjtcbkBpbXBvcnQgXCJib290c3RyYXAvcmVzcG9uc2l2ZS11dGlsaXRpZXNcIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLy9cbi8vIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4vLyAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuLy8gICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuLy9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvLyAxXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuLy9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuLy8gYW5kIEZpcmVmb3guXG4vLyBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuLy9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuLy8gMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuLy9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyAxXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLy8gMlxufVxuXG4vL1xuLy8gUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbi8vIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4vL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4vLyBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4vL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLy8gTGlua3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbi8vXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLy9cbi8vIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbi8vIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbi8vXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vL1xuLy8gQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuLy8gY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLy9cbi8vIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4vL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vXG4vLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4vL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8vXG4vLyBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbi8vXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gR3JvdXBpbmcgY29udGVudFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuLy9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbi8vXG5cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8vIEZvcm1zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbi8vIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbi8vXG5cbi8vXG4vLyAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4vLyAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbi8vXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAxXG4gIGZvbnQ6IGluaGVyaXQ7IC8vIDJcbiAgbWFyZ2luOiAwOyAvLyAzXG59XG5cbi8vXG4vLyBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuLy8gQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbi8vIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4vLyBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4vL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLy9cbi8vIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4vLyAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbi8vIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbi8vIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4vLyAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4vL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8vIDFcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gMlxuICBjdXJzb3I6IHBvaW50ZXI7IC8vIDNcbn1cblxuLy9cbi8vIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4vL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4vL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbi8vIHRoZSBVQSBzdHlsZXNoZWV0LlxuLy9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vL1xuLy8gSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuLy8gRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbi8vXG4vLyAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuLy8gMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbi8vXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbi8vIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4vLyBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4vL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy9cbi8vIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy8gMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLy8gMVxuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8yXG59XG5cbi8vXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbi8vIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbi8vXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuLy9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8vXG4vLyAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4vLyAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4vL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8vIDFcbiAgcGFkZGluZzogMDsgLy8gMlxufVxuXG4vL1xuLy8gUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbi8vXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8vXG4vLyBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4vLyBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbi8vXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbi8vXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLyohIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvc3JjL2Nzcy9tYWluLmNzcyAqL1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUHJpbnQgc3R5bGVzLlxuLy8gSW5saW5lZCB0byBhdm9pZCB0aGUgYWRkaXRpb25hbCBIVFRQIHJlcXVlc3Q6IGg1YnAuY29tL3Jcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtZWRpYSBwcmludCB7XG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgLy8gQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vc1xuICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSxcbiAgICBhOnZpc2l0ZWQge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICBhW2hyZWZdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgfVxuXG4gICAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAvLyBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIsXG4gICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLy8gaDVicC5jb20vdFxuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIEJvb3RzdHJhcCBjb21wb25lbnRzXG4gICAgLm5hdmJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5idG4sXG4gICAgLmRyb3B1cCA+IC5idG4ge1xuICAgICAgICA+IC5jYXJldCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICB9XG5cbiAgICAudGFibGUge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdGQsXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAudGFibGUtYm9yZGVyZWQge1xuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgZW5kXG59XG4iLCIvL1xuLy8gR2x5cGhpY29ucyBmb3IgQm9vdHN0cmFwXG4vL1xuLy8gU2luY2UgaWNvbnMgYXJlIGZvbnRzLCB0aGV5IGNhbiBiZSBwbGFjZWQgYW55d2hlcmUgdGV4dCBpcyBwbGFjZWQgYW5kIGFyZVxuLy8gdGh1cyBhdXRvbWF0aWNhbGx5IHNpemVkIHRvIG1hdGNoIHRoZSBzdXJyb3VuZGluZyBjaGlsZC4gVG8gdXNlLCBjcmVhdGUgYW5cbi8vIGlubGluZSBlbGVtZW50IHdpdGggdGhlIGFwcHJvcHJpYXRlIGNsYXNzZXMsIGxpa2Ugc286XG4vL1xuLy8gPGEgaHJlZj1cIiNcIj48c3BhbiBjbGFzcz1cImdseXBoaWNvbiBnbHlwaGljb24tc3RhclwiPjwvc3Bhbj4gU3RhcjwvYT5cblxuQGF0LXJvb3Qge1xuICAvLyBJbXBvcnQgdGhlIGZvbnRzXG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICAgIHNyYzogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uZW90JyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uZW90JykpO1xuICAgIHNyYzogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0uZW90PyNpZWZpeCcpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LmVvdD8jaWVmaXgnKSkgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxuICAgICAgICAgdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtZm9udC1wYXRoKCcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0ud29mZjInKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS53b2ZmMicpKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgICB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS53b2ZmJyksICcjeyRpY29uLWZvbnQtcGF0aH0jeyRpY29uLWZvbnQtbmFtZX0ud29mZicpKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICAgIHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWZvbnQtcGF0aCgnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LnR0ZicpLCAnI3skaWNvbi1mb250LXBhdGh9I3skaWNvbi1mb250LW5hbWV9LnR0ZicpKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgICAgICB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1mb250LXBhdGgoJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5zdmcjI3skaWNvbi1mb250LXN2Zy1pZH0nKSwgJyN7JGljb24tZm9udC1wYXRofSN7JGljb24tZm9udC1uYW1lfS5zdmcjI3skaWNvbi1mb250LXN2Zy1pZH0nKSkgZm9ybWF0KCdzdmcnKTtcbiAgfVxufVxuXG4vLyBDYXRjaGFsbCBiYXNlY2xhc3Ncbi5nbHlwaGljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29ucyBIYWxmbGluZ3MnO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLy8gSW5kaXZpZHVhbCBpY29uc1xuLmdseXBoaWNvbi1hc3RlcmlzayAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMDAyYVwiOyB9IH1cbi5nbHlwaGljb24tcGx1cyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDAwMmJcIjsgfSB9XG4uZ2x5cGhpY29uLWV1cm8sXG4uZ2x5cGhpY29uLWV1ciAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGFjXCI7IH0gfVxuLmdseXBoaWNvbi1taW51cyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjIxMlwiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI2MDFcIjsgfSB9XG4uZ2x5cGhpY29uLWVudmVsb3BlICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyNzA5XCI7IH0gfVxuLmdseXBoaWNvbi1wZW5jaWwgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjcwZlwiOyB9IH1cbi5nbHlwaGljb24tZ2xhc3MgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDFcIjsgfSB9XG4uZ2x5cGhpY29uLW11c2ljICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDAyXCI7IH0gfVxuLmdseXBoaWNvbi1zZWFyY2ggICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwM1wiOyB9IH1cbi5nbHlwaGljb24taGVhcnQgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDVcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXIgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA2XCI7IH0gfVxuLmdseXBoaWNvbi1zdGFyLWVtcHR5ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAwN1wiOyB9IH1cbi5nbHlwaGljb24tdXNlciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMDhcIjsgfSB9XG4uZ2x5cGhpY29uLWZpbG0gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDA5XCI7IH0gfVxuLmdseXBoaWNvbi10aC1sYXJnZSAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxMFwiOyB9IH1cbi5nbHlwaGljb24tdGggICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTFcIjsgfSB9XG4uZ2x5cGhpY29uLXRoLWxpc3QgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDEyXCI7IH0gfVxuLmdseXBoaWNvbi1vayAgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxM1wiOyB9IH1cbi5nbHlwaGljb24tcmVtb3ZlICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTRcIjsgfSB9XG4uZ2x5cGhpY29uLXpvb20taW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE1XCI7IH0gfVxuLmdseXBoaWNvbi16b29tLW91dCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxNlwiOyB9IH1cbi5nbHlwaGljb24tb2ZmICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMTdcIjsgfSB9XG4uZ2x5cGhpY29uLXNpZ25hbCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDE4XCI7IH0gfVxuLmdseXBoaWNvbi1jb2cgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAxOVwiOyB9IH1cbi5nbHlwaGljb24tdHJhc2ggICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjBcIjsgfSB9XG4uZ2x5cGhpY29uLWhvbWUgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDIxXCI7IH0gfVxuLmdseXBoaWNvbi1maWxlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyMlwiOyB9IH1cbi5nbHlwaGljb24tdGltZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjNcIjsgfSB9XG4uZ2x5cGhpY29uLXJvYWQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI0XCI7IH0gfVxuLmdseXBoaWNvbi1kb3dubG9hZC1hbHQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyNVwiOyB9IH1cbi5nbHlwaGljb24tZG93bmxvYWQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjZcIjsgfSB9XG4uZ2x5cGhpY29uLXVwbG9hZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDI3XCI7IH0gfVxuLmdseXBoaWNvbi1pbmJveCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAyOFwiOyB9IH1cbi5nbHlwaGljb24tcGxheS1jaXJjbGUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMjlcIjsgfSB9XG4uZ2x5cGhpY29uLXJlcGVhdCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMwXCI7IH0gfVxuLmdseXBoaWNvbi1yZWZyZXNoICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzMVwiOyB9IH1cbi5nbHlwaGljb24tbGlzdC1hbHQgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWxvY2sgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDMzXCI7IH0gfVxuLmdseXBoaWNvbi1mbGFnICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzNFwiOyB9IH1cbi5nbHlwaGljb24taGVhZHBob25lcyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzVcIjsgfSB9XG4uZ2x5cGhpY29uLXZvbHVtZS1vZmYgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM2XCI7IH0gfVxuLmdseXBoaWNvbi12b2x1bWUtZG93biAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTAzN1wiOyB9IH1cbi5nbHlwaGljb24tdm9sdW1lLXVwICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwMzhcIjsgfSB9XG4uZ2x5cGhpY29uLXFyY29kZSAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDM5XCI7IH0gfVxuLmdseXBoaWNvbi1iYXJjb2RlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0MFwiOyB9IH1cbi5nbHlwaGljb24tdGFnICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXRhZ3MgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQyXCI7IH0gfVxuLmdseXBoaWNvbi1ib29rICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0M1wiOyB9IH1cbi5nbHlwaGljb24tYm9va21hcmsgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDRcIjsgfSB9XG4uZ2x5cGhpY29uLXByaW50ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ1XCI7IH0gfVxuLmdseXBoaWNvbi1jYW1lcmEgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0NlwiOyB9IH1cbi5nbHlwaGljb24tZm9udCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNDdcIjsgfSB9XG4uZ2x5cGhpY29uLWJvbGQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDQ4XCI7IH0gfVxuLmdseXBoaWNvbi1pdGFsaWMgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA0OVwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1oZWlnaHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTBcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtd2lkdGggICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDUxXCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1sZWZ0ICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1MlwiOyB9IH1cbi5nbHlwaGljb24tYWxpZ24tY2VudGVyICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTNcIjsgfSB9XG4uZ2x5cGhpY29uLWFsaWduLXJpZ2h0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU0XCI7IH0gfVxuLmdseXBoaWNvbi1hbGlnbi1qdXN0aWZ5ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1NVwiOyB9IH1cbi5nbHlwaGljb24tbGlzdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTZcIjsgfSB9XG4uZ2x5cGhpY29uLWluZGVudC1sZWZ0ICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDU3XCI7IH0gfVxuLmdseXBoaWNvbi1pbmRlbnQtcmlnaHQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA1OFwiOyB9IH1cbi5nbHlwaGljb24tZmFjZXRpbWUtdmlkZW8gICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNTlcIjsgfSB9XG4uZ2x5cGhpY29uLXBpY3R1cmUgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDYwXCI7IH0gfVxuLmdseXBoaWNvbi1tYXAtbWFya2VyICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2MlwiOyB9IH1cbi5nbHlwaGljb24tYWRqdXN0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjNcIjsgfSB9XG4uZ2x5cGhpY29uLXRpbnQgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY0XCI7IH0gfVxuLmdseXBoaWNvbi1lZGl0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2NVwiOyB9IH1cbi5nbHlwaGljb24tc2hhcmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjZcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZWNrICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDY3XCI7IH0gfVxuLmdseXBoaWNvbi1tb3ZlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA2OFwiOyB9IH1cbi5nbHlwaGljb24tc3RlcC1iYWNrd2FyZCAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNjlcIjsgfSB9XG4uZ2x5cGhpY29uLWZhc3QtYmFja3dhcmQgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDcwXCI7IH0gfVxuLmdseXBoaWNvbi1iYWNrd2FyZCAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3MVwiOyB9IH1cbi5nbHlwaGljb24tcGxheSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzJcIjsgfSB9XG4uZ2x5cGhpY29uLXBhdXNlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDczXCI7IH0gfVxuLmdseXBoaWNvbi1zdG9wICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3NFwiOyB9IH1cbi5nbHlwaGljb24tZm9yd2FyZCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzVcIjsgfSB9XG4uZ2x5cGhpY29uLWZhc3QtZm9yd2FyZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc2XCI7IH0gfVxuLmdseXBoaWNvbi1zdGVwLWZvcndhcmQgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA3N1wiOyB9IH1cbi5nbHlwaGljb24tZWplY3QgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwNzhcIjsgfSB9XG4uZ2x5cGhpY29uLWNoZXZyb24tbGVmdCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDc5XCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4MFwiOyB9IH1cbi5nbHlwaGljb24tcGx1cy1zaWduICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODFcIjsgfSB9XG4uZ2x5cGhpY29uLW1pbnVzLXNpZ24gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDgyXCI7IH0gfVxuLmdseXBoaWNvbi1yZW1vdmUtc2lnbiAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4M1wiOyB9IH1cbi5nbHlwaGljb24tb2stc2lnbiAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODRcIjsgfSB9XG4uZ2x5cGhpY29uLXF1ZXN0aW9uLXNpZ24gICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg1XCI7IH0gfVxuLmdseXBoaWNvbi1pbmZvLXNpZ24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4NlwiOyB9IH1cbi5nbHlwaGljb24tc2NyZWVuc2hvdCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwODdcIjsgfSB9XG4uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGUgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDg4XCI7IH0gfVxuLmdseXBoaWNvbi1vay1jaXJjbGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA4OVwiOyB9IH1cbi5nbHlwaGljb24tYmFuLWNpcmNsZSAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTBcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LWxlZnQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDkxXCI7IH0gfVxuLmdseXBoaWNvbi1hcnJvdy1yaWdodCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5MlwiOyB9IH1cbi5nbHlwaGljb24tYXJyb3ctdXAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTNcIjsgfSB9XG4uZ2x5cGhpY29uLWFycm93LWRvd24gICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk0XCI7IH0gfVxuLmdseXBoaWNvbi1zaGFyZS1hbHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTA5NVwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLWZ1bGwgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUwOTZcIjsgfSB9XG4uZ2x5cGhpY29uLXJlc2l6ZS1zbWFsbCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMDk3XCI7IH0gfVxuLmdseXBoaWNvbi1leGNsYW1hdGlvbi1zaWduICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwMVwiOyB9IH1cbi5nbHlwaGljb24tZ2lmdCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDJcIjsgfSB9XG4uZ2x5cGhpY29uLWxlYWYgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTAzXCI7IH0gfVxuLmdseXBoaWNvbi1maXJlICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwNFwiOyB9IH1cbi5nbHlwaGljb24tZXllLW9wZW4gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDVcIjsgfSB9XG4uZ2x5cGhpY29uLWV5ZS1jbG9zZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA2XCI7IH0gfVxuLmdseXBoaWNvbi13YXJuaW5nLXNpZ24gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEwN1wiOyB9IH1cbi5nbHlwaGljb24tcGxhbmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMDhcIjsgfSB9XG4uZ2x5cGhpY29uLWNhbGVuZGFyICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTA5XCI7IH0gfVxuLmdseXBoaWNvbi1yYW5kb20gICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExMFwiOyB9IH1cbi5nbHlwaGljb24tY29tbWVudCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTFcIjsgfSB9XG4uZ2x5cGhpY29uLW1hZ25ldCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTEyXCI7IH0gfVxuLmdseXBoaWNvbi1jaGV2cm9uLXVwICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExM1wiOyB9IH1cbi5nbHlwaGljb24tY2hldnJvbi1kb3duICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTRcIjsgfSB9XG4uZ2x5cGhpY29uLXJldHdlZXQgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE1XCI7IH0gfVxuLmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExNlwiOyB9IH1cbi5nbHlwaGljb24tZm9sZGVyLWNsb3NlICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMTdcIjsgfSB9XG4uZ2x5cGhpY29uLWZvbGRlci1vcGVuICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTE4XCI7IH0gfVxuLmdseXBoaWNvbi1yZXNpemUtdmVydGljYWwgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTExOVwiOyB9IH1cbi5nbHlwaGljb24tcmVzaXplLWhvcml6b250YWwgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjBcIjsgfSB9XG4uZ2x5cGhpY29uLWhkZCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTIxXCI7IH0gfVxuLmdseXBoaWNvbi1idWxsaG9ybiAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyMlwiOyB9IH1cbi5nbHlwaGljb24tYmVsbCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjNcIjsgfSB9XG4uZ2x5cGhpY29uLWNlcnRpZmljYXRlICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI0XCI7IH0gfVxuLmdseXBoaWNvbi10aHVtYnMtdXAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyNVwiOyB9IH1cbi5nbHlwaGljb24tdGh1bWJzLWRvd24gICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjZcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtcmlnaHQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTI3XCI7IH0gfVxuLmdseXBoaWNvbi1oYW5kLWxlZnQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEyOFwiOyB9IH1cbi5nbHlwaGljb24taGFuZC11cCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMjlcIjsgfSB9XG4uZ2x5cGhpY29uLWhhbmQtZG93biAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMwXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctcmlnaHQgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzMVwiOyB9IH1cbi5nbHlwaGljb24tY2lyY2xlLWFycm93LWxlZnQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzJcIjsgfSB9XG4uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy11cCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTMzXCI7IH0gfVxuLmdseXBoaWNvbi1jaXJjbGUtYXJyb3ctZG93biAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzNFwiOyB9IH1cbi5nbHlwaGljb24tZ2xvYmUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzVcIjsgfSB9XG4uZ2x5cGhpY29uLXdyZW5jaCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM2XCI7IH0gfVxuLmdseXBoaWNvbi10YXNrcyAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTEzN1wiOyB9IH1cbi5nbHlwaGljb24tZmlsdGVyICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxMzhcIjsgfSB9XG4uZ2x5cGhpY29uLWJyaWVmY2FzZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTM5XCI7IH0gfVxuLmdseXBoaWNvbi1mdWxsc2NyZWVuICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0MFwiOyB9IH1cbi5nbHlwaGljb24tZGFzaGJvYXJkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDFcIjsgfSB9XG4uZ2x5cGhpY29uLXBhcGVyY2xpcCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQyXCI7IH0gfVxuLmdseXBoaWNvbi1oZWFydC1lbXB0eSAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0M1wiOyB9IH1cbi5nbHlwaGljb24tbGluayAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDRcIjsgfSB9XG4uZ2x5cGhpY29uLXBob25lICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ1XCI7IH0gfVxuLmdseXBoaWNvbi1wdXNocGluICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE0NlwiOyB9IH1cbi5nbHlwaGljb24tdXNkICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNDhcIjsgfSB9XG4uZ2x5cGhpY29uLWdicCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTQ5XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1MFwiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1hbHBoYWJldCAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTFcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQtYWx0ICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTUyXCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1M1wiOyB9IH1cbi5nbHlwaGljb24tc29ydC1ieS1vcmRlci1hbHQgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTRcIjsgfSB9XG4uZ2x5cGhpY29uLXNvcnQtYnktYXR0cmlidXRlcyAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU1XCI7IH0gfVxuLmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0IHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1NlwiOyB9IH1cbi5nbHlwaGljb24tdW5jaGVja2VkICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNTdcIjsgfSB9XG4uZ2x5cGhpY29uLWV4cGFuZCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTU4XCI7IH0gfVxuLmdseXBoaWNvbi1jb2xsYXBzZS1kb3duICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE1OVwiOyB9IH1cbi5nbHlwaGljb24tY29sbGFwc2UtdXAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjBcIjsgfSB9XG4uZ2x5cGhpY29uLWxvZy1pbiAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTYxXCI7IH0gfVxuLmdseXBoaWNvbi1mbGFzaCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2MlwiOyB9IH1cbi5nbHlwaGljb24tbG9nLW91dCAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjNcIjsgfSB9XG4uZ2x5cGhpY29uLW5ldy13aW5kb3cgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY0XCI7IH0gfVxuLmdseXBoaWNvbi1yZWNvcmQgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2NVwiOyB9IH1cbi5nbHlwaGljb24tc2F2ZSAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjZcIjsgfSB9XG4uZ2x5cGhpY29uLW9wZW4gICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTY3XCI7IH0gfVxuLmdseXBoaWNvbi1zYXZlZCAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE2OFwiOyB9IH1cbi5nbHlwaGljb24taW1wb3J0ICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNjlcIjsgfSB9XG4uZ2x5cGhpY29uLWV4cG9ydCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTcwXCI7IH0gfVxuLmdseXBoaWNvbi1zZW5kICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3MVwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LWRpc2sgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzJcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1zYXZlZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTczXCI7IH0gfVxuLmdseXBoaWNvbi1mbG9wcHktcmVtb3ZlICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3NFwiOyB9IH1cbi5nbHlwaGljb24tZmxvcHB5LXNhdmUgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzVcIjsgfSB9XG4uZ2x5cGhpY29uLWZsb3BweS1vcGVuICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc2XCI7IH0gfVxuLmdseXBoaWNvbi1jcmVkaXQtY2FyZCAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE3N1wiOyB9IH1cbi5nbHlwaGljb24tdHJhbnNmZXIgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxNzhcIjsgfSB9XG4uZ2x5cGhpY29uLWN1dGxlcnkgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTc5XCI7IH0gfVxuLmdseXBoaWNvbi1oZWFkZXIgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4MFwiOyB9IH1cbi5nbHlwaGljb24tY29tcHJlc3NlZCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODFcIjsgfSB9XG4uZ2x5cGhpY29uLWVhcnBob25lICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTgyXCI7IH0gfVxuLmdseXBoaWNvbi1waG9uZS1hbHQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4M1wiOyB9IH1cbi5nbHlwaGljb24tdG93ZXIgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODRcIjsgfSB9XG4uZ2x5cGhpY29uLXN0YXRzICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg1XCI7IH0gfVxuLmdseXBoaWNvbi1zZC12aWRlbyAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4NlwiOyB9IH1cbi5nbHlwaGljb24taGQtdmlkZW8gICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxODdcIjsgfSB9XG4uZ2x5cGhpY29uLXN1YnRpdGxlcyAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTg4XCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC1zdGVyZW8gICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE4OVwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtZG9sYnkgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTBcIjsgfSB9XG4uZ2x5cGhpY29uLXNvdW5kLTUtMSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTkxXCI7IH0gfVxuLmdseXBoaWNvbi1zb3VuZC02LTEgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5MlwiOyB9IH1cbi5nbHlwaGljb24tc291bmQtNy0xICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTNcIjsgfSB9XG4uZ2x5cGhpY29uLWNvcHlyaWdodC1tYXJrICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk0XCI7IH0gfVxuLmdseXBoaWNvbi1yZWdpc3RyYXRpb24tbWFyayAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5NVwiOyB9IH1cbi5nbHlwaGljb24tY2xvdWQtZG93bmxvYWQgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUxOTdcIjsgfSB9XG4uZ2x5cGhpY29uLWNsb3VkLXVwbG9hZCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMTk4XCI7IH0gfVxuLmdseXBoaWNvbi10cmVlLWNvbmlmZXIgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTE5OVwiOyB9IH1cbi5nbHlwaGljb24tdHJlZS1kZWNpZHVvdXMgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDBcIjsgfSB9XG4uZ2x5cGhpY29uLWNkICAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjAxXCI7IH0gfVxuLmdseXBoaWNvbi1zYXZlLWZpbGUgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwMlwiOyB9IH1cbi5nbHlwaGljb24tb3Blbi1maWxlICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDNcIjsgfSB9XG4uZ2x5cGhpY29uLWxldmVsLXVwICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA0XCI7IH0gfVxuLmdseXBoaWNvbi1jb3B5ICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIwNVwiOyB9IH1cbi5nbHlwaGljb24tcGFzdGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMDZcIjsgfSB9XG4vLyBUaGUgZm9sbG93aW5nIDIgR2x5cGhpY29ucyBhcmUgb21pdHRlZCBmb3IgdGhlIHRpbWUgYmVpbmcgYmVjYXVzZVxuLy8gdGhleSBjdXJyZW50bHkgdXNlIFVuaWNvZGUgY29kZXBvaW50cyB0aGF0IGFyZSBvdXRzaWRlIHRoZVxuLy8gQmFzaWMgTXVsdGlsaW5ndWFsIFBsYW5lIChCTVApLiBPbGRlciBidWdneSB2ZXJzaW9ucyBvZiBXZWJLaXQgY2FuJ3QgaGFuZGxlXG4vLyBub24tQk1QIGNvZGVwb2ludHMgaW4gQ1NTIHN0cmluZyBlc2NhcGVzLCBhbmQgdGh1cyBjYW4ndCBkaXNwbGF5IHRoZXNlIHR3byBpY29ucy5cbi8vIE5vdGFibHksIHRoZSBidWcgYWZmZWN0cyBzb21lIG9sZGVyIHZlcnNpb25zIG9mIHRoZSBBbmRyb2lkIEJyb3dzZXIuXG4vLyBNb3JlIGluZm86IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTAxMDZcbi8vIC5nbHlwaGljb24tZG9vciAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDFmNmFhXCI7IH0gfVxuLy8gLmdseXBoaWNvbi1rZXkgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMWY1MTFcIjsgfSB9XG4uZ2x5cGhpY29uLWFsZXJ0ICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjA5XCI7IH0gfVxuLmdseXBoaWNvbi1lcXVhbGl6ZXIgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxMFwiOyB9IH1cbi5nbHlwaGljb24ta2luZyAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTFcIjsgfSB9XG4uZ2x5cGhpY29uLXF1ZWVuICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjEyXCI7IH0gfVxuLmdseXBoaWNvbi1wYXduICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxM1wiOyB9IH1cbi5nbHlwaGljb24tYmlzaG9wICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMTRcIjsgfSB9XG4uZ2x5cGhpY29uLWtuaWdodCAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE1XCI7IH0gfVxuLmdseXBoaWNvbi1iYWJ5LWZvcm11bGEgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxNlwiOyB9IH1cbi5nbHlwaGljb24tdGVudCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDI2ZmFcIjsgfSB9XG4uZ2x5cGhpY29uLWJsYWNrYm9hcmQgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjE4XCI7IH0gfVxuLmdseXBoaWNvbi1iZWQgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIxOVwiOyB9IH1cbi5nbHlwaGljb24tYXBwbGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGY4ZmZcIjsgfSB9XG4uZ2x5cGhpY29uLWVyYXNlICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjIxXCI7IH0gfVxuLmdseXBoaWNvbi1ob3VyZ2xhc3MgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMjMxYlwiOyB9IH1cbi5nbHlwaGljb24tbGFtcCAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjNcIjsgfSB9XG4uZ2x5cGhpY29uLWR1cGxpY2F0ZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI0XCI7IH0gfVxuLmdseXBoaWNvbi1waWdneS1iYW5rICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyNVwiOyB9IH1cbi5nbHlwaGljb24tc2Npc3NvcnMgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjZcIjsgfSB9XG4uZ2x5cGhpY29uLWJpdGNvaW4gICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjI3XCI7IH0gfVxuLmdseXBoaWNvbi1idGMgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIyN1wiOyB9IH1cbi5nbHlwaGljb24teGJ0ICAgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMjdcIjsgfSB9XG4uZ2x5cGhpY29uLXllbiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwwMGE1XCI7IH0gfVxuLmdseXBoaWNvbi1qcHkgICAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcMDBhNVwiOyB9IH1cbi5nbHlwaGljb24tcnVibGUgICAgICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXDIwYmRcIjsgfSB9XG4uZ2x5cGhpY29uLXJ1YiAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFwyMGJkXCI7IH0gfVxuLmdseXBoaWNvbi1zY2FsZSAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzMFwiOyB9IH1cbi5nbHlwaGljb24taWNlLWxvbGx5ICAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzFcIjsgfSB9XG4uZ2x5cGhpY29uLWljZS1sb2xseS10YXN0ZWQgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjMyXCI7IH0gfVxuLmdseXBoaWNvbi1lZHVjYXRpb24gICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzM1wiOyB9IH1cbi5nbHlwaGljb24tb3B0aW9uLWhvcml6b250YWwgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzRcIjsgfSB9XG4uZ2x5cGhpY29uLW9wdGlvbi12ZXJ0aWNhbCAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM1XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LWhhbWJ1cmdlciAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzNlwiOyB9IH1cbi5nbHlwaGljb24tbW9kYWwtd2luZG93ICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyMzdcIjsgfSB9XG4uZ2x5cGhpY29uLW9pbCAgICAgICAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjM4XCI7IH0gfVxuLmdseXBoaWNvbi1ncmFpbiAgICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTIzOVwiOyB9IH1cbi5nbHlwaGljb24tc3VuZ2xhc3NlcyAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDBcIjsgfSB9XG4uZ2x5cGhpY29uLXRleHQtc2l6ZSAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQxXCI7IH0gfVxuLmdseXBoaWNvbi10ZXh0LWNvbG9yICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0MlwiOyB9IH1cbi5nbHlwaGljb24tdGV4dC1iYWNrZ3JvdW5kICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDNcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi10b3AgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ0XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tYm90dG9tICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0NVwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLWhvcml6b250YWx7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDZcIjsgfSB9XG4uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi1sZWZ0ICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjQ3XCI7IH0gfVxuLmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdmVydGljYWwgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI0OFwiOyB9IH1cbi5nbHlwaGljb24tb2JqZWN0LWFsaWduLXJpZ2h0ICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNDlcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXJpZ2h0ICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUwXCI7IH0gfVxuLmdseXBoaWNvbi10cmlhbmdsZS1sZWZ0ICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1MVwiOyB9IH1cbi5nbHlwaGljb24tdHJpYW5nbGUtYm90dG9tICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTJcIjsgfSB9XG4uZ2x5cGhpY29uLXRyaWFuZ2xlLXRvcCAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjUzXCI7IH0gfVxuLmdseXBoaWNvbi1jb25zb2xlICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1NFwiOyB9IH1cbi5nbHlwaGljb24tc3VwZXJzY3JpcHQgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNTVcIjsgfSB9XG4uZ2x5cGhpY29uLXN1YnNjcmlwdCAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU2XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LWxlZnQgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI1N1wiOyB9IH1cbi5nbHlwaGljb24tbWVudS1yaWdodCAgICAgICAgICAgICB7ICY6YmVmb3JlIHsgY29udGVudDogXCJcXGUyNThcIjsgfSB9XG4uZ2x5cGhpY29uLW1lbnUtZG93biAgICAgICAgICAgICAgeyAmOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlMjU5XCI7IH0gfVxuLmdseXBoaWNvbi1tZW51LXVwICAgICAgICAgICAgICAgIHsgJjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTI2MFwiOyB9IH1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXG4vLyBGb3IgcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmdcbioge1xuICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuXG4vLyBCb2R5IHJlc2V0XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbn1cblxuLy8gUmVzZXQgZm9udHMgZm9yIHJlbGV2YW50IGVsZW1lbnRzXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5cblxuLy8gTGlua3NcblxuYSB7XG4gIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSB0YWItZm9jdXM7XG4gIH1cbn1cblxuXG4vLyBGaWd1cmVzXG4vL1xuLy8gV2UgcmVzZXQgdGhpcyBoZXJlIGJlY2F1c2UgcHJldmlvdXNseSBOb3JtYWxpemUgaGFkIG5vIGBmaWd1cmVgIG1hcmdpbnMuIFRoaXNcbi8vIGVuc3VyZXMgd2UgZG9uJ3QgYnJlYWsgYW55b25lJ3MgdXNlIG9mIHRoZSBlbGVtZW50LlxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gSW1hZ2VzXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLmltZy1yZXNwb25zaXZlIHtcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmU7XG59XG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG5cbi8vIEltYWdlIHRodW1ibmFpbHNcbi8vXG4vLyBIZWFkcyB1cCEgVGhpcyBpcyBtaXhpbi1lZCBpbnRvIHRodW1ibmFpbHMubGVzcyBmb3IgYC50aHVtYm5haWxgLlxuLmltZy10aHVtYm5haWwge1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgQGluY2x1ZGUgaW1nLXJlc3BvbnNpdmUoaW5saW5lLWJsb2NrKTtcbn1cblxuLy8gUGVyZmVjdCBjaXJjbGVcbi5pbWctY2lyY2xlIHtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyAvLyBzZXQgcmFkaXVzIGluIHBlcmNlbnRzXG59XG5cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuXG5ociB7XG4gIG1hcmdpbi10b3A6ICAgICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkaHItYm9yZGVyO1xufVxuXG5cbi8vIE9ubHkgZGlzcGxheSBjb250ZW50IHRvIHNjcmVlbiByZWFkZXJzXG4vL1xuLy8gU2VlOiBodHRwOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnRcblxuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTMvTk9URS1XQ0FHMjAtVEVDSFMtMjAxMzA5MDUvRzFcbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjbGlwOiBhdXRvO1xuICB9XG59XG5cblxuLy8gaU9TIFwiY2xpY2thYmxlIGVsZW1lbnRzXCIgZml4IGZvciByb2xlPVwiYnV0dG9uXCJcbi8vXG4vLyBGaXhlcyBcImNsaWNrYWJpbGl0eVwiIGlzc3VlIChhbmQgbW9yZSBnZW5lcmFsbHksIHRoZSBmaXJpbmcgb2YgZXZlbnRzIHN1Y2ggYXMgZm9jdXMgYXMgd2VsbClcbi8vIGZvciB0cmFkaXRpb25hbGx5IG5vbi1mb2N1c2FibGUgZWxlbWVudHMgd2l0aCByb2xlPVwiYnV0dG9uXCJcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsIi8vIFZlbmRvciBQcmVmaXhlc1xuLy9cbi8vIEFsbCB2ZW5kb3IgbWl4aW5zIGFyZSBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBkdWUgdG8gdGhlIGludHJvZHVjdGlvbiBvZlxuLy8gQXV0b3ByZWZpeGVyIGluIG91ciBHcnVudGZpbGUuIFRoZXkgaGF2ZSBiZWVuIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24oJGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogJGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246ICRhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiAkYW5pbWF0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1uYW1lKCRuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6ICRuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAkbmFtZTtcbn1cbkBtaXhpbiBhbmltYXRpb24tZHVyYXRpb24oJGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG59XG5AbWl4aW4gYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nLWZ1bmN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1kZWxheSgkZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6ICRkZWxheTtcbn1cbkBtaXhpbiBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50KCRpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAkaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6ICRpdGVyYXRpb24tY291bnQ7XG59XG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuQG1peGluIGFuaW1hdGlvbi1maWxsLW1vZGUoJGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6ICRmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogJGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuQG1peGluIGJhY2tmYWNlLXZpc2liaWxpdHkoJHZpc2liaWxpdHkpIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbiAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiAkdmlzaWJpbGl0eTtcbn1cblxuLy8gRHJvcCBzaGFkb3dzXG4vL1xuLy8gTm90ZTogRGVwcmVjYXRlZCBgLmJveC1zaGFkb3coKWAgYXMgb2YgdjMuMS4wIHNpbmNlIGFsbCBvZiBCb290c3RyYXAnc1xuLy8gc3VwcG9ydGVkIGJyb3dzZXJzIHRoYXQgaGF2ZSBib3ggc2hhZG93IGNhcGFiaWxpdGllcyBub3cgc3VwcG9ydCBpdC5cblxuQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICAtd2Via2l0LWJveC1zaGFkb3c6ICRzaGFkb3c7IC8vIGlPUyA8NC4zICYgQW5kcm9pZCA8NC4xXG4gICAgICAgICAgYm94LXNoYWRvdzogJHNoYWRvdztcbn1cblxuLy8gQm94IHNpemluZ1xuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG5AbWl4aW4gY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6ICRjb2x1bW4tY291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiAkY29sdW1uLWNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogJGNvbHVtbi1jb3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiAkY29sdW1uLWdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbkBtaXhpbiBoeXBoZW5zKCRtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiAkbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiAkbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiAkbW9kZTsgLy8gSUUxMCtcbiAgICAgICAtby1oeXBoZW5zOiAkbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiAkbW9kZTtcbn1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dFxuQG1peGluIHBsYWNlaG9sZGVyKCRjb2xvcjogJGlucHV0LWNvbG9yLXBsYWNlaG9sZGVyKSB7XG4gIC8vIEZpcmVmb3hcbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAxOyAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNlxuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRjb2xvcjsgfSAvLyBJbnRlcm5ldCBFeHBsb3JlciAxMCtcbiAgJjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciAgeyBjb2xvcjogJGNvbG9yOyB9IC8vIFNhZmFyaSBhbmQgQ2hyb21lXG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuQG1peGluIHNjYWxlKCRyYXRpby4uLikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgkcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoJHJhdGlvKTtcbn1cblxuQG1peGluIHNjYWxlWCgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgkcmF0aW8pO1xufVxuQG1peGluIHNjYWxlWSgkcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKCRyYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoJHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgkcmF0aW8pO1xufVxuQG1peGluIHNrZXcoJHgsICR5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgkeCkgc2tld1koJHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goJHgpIHNrZXdZKCR5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKCR4KSBza2V3WSgkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlKCR4LCAkeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHgsICR5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkeCwgJHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKCR4LCAkeSk7XG59XG5AbWl4aW4gdHJhbnNsYXRlM2QoJHgsICR5LCAkeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHgsICR5LCAkeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkeCwgJHksICR6KTtcbn1cbkBtaXhpbiByb3RhdGUoJGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoJGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKCRkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWCgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWCgkZGVncmVlcyk7XG59XG5AbWl4aW4gcm90YXRlWSgkZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKCRkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoJGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWSgkZGVncmVlcyk7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6ICRwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiAkcGVyc3BlY3RpdmU7XG59XG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCRwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogJHBlcnNwZWN0aXZlO1xufVxuQG1peGluIHRyYW5zZm9ybS1vcmlnaW4oJG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuQG1peGluIHRyYW5zaXRpb24oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5KCR0cmFuc2l0aW9uLXByb3BlcnR5Li4uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogJHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSgkdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICR0cmFuc2l0aW9uLWRlbGF5O1xufVxuQG1peGluIHRyYW5zaXRpb24tZHVyYXRpb24oJHRyYW5zaXRpb24tZHVyYXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbkBtaXhpbiB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigkdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmctZnVuY3Rpb247XG59XG5AbWl4aW4gdHJhbnNpdGlvbi10cmFuc2Zvcm0oJHRyYW5zaXRpb24uLi4pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gJHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICR0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuQG1peGluIHVzZXItc2VsZWN0KCRzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogJHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogJHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogJHNlbGVjdDtcbn1cbiIsIiRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXI6IGZhbHNlICFkZWZhdWx0O1xuLy9cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLz09IENvbG9yc1xuLy9cbi8vIyMgR3JheSBhbmQgYnJhbmQgY29sb3JzIGZvciB1c2UgYWNyb3NzIEJvb3RzdHJhcC5cblxuJGdyYXktYmFzZTogICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kZ3JheS1kYXJrZXI6ICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCAxMy41JSkgIWRlZmF1bHQ7IC8vICMyMjJcbiRncmF5LWRhcms6ICAgICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDIwJSkgIWRlZmF1bHQ7ICAgLy8gIzMzM1xuJGdyYXk6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktYmFzZSwgMzMuNSUpICFkZWZhdWx0OyAvLyAjNTU1XG4kZ3JheS1saWdodDogICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1iYXNlLCA0Ni43JSkgIWRlZmF1bHQ7IC8vICM3NzdcbiRncmF5LWxpZ2h0ZXI6ICAgICAgICAgICBsaWdodGVuKCRncmF5LWJhc2UsIDkzLjUlKSAhZGVmYXVsdDsgLy8gI2VlZVxuXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICBkYXJrZW4oIzQyOGJjYSwgNi41JSkgIWRlZmF1bHQ7IC8vICMzMzdhYjdcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICM1Y2I4NWMgIWRlZmF1bHQ7XG4kYnJhbmQtaW5mbzogICAgICAgICAgICAjNWJjMGRlICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgI2YwYWQ0ZSAhZGVmYXVsdDtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAgICNkOTUzNGYgIWRlZmF1bHQ7XG5cblxuLy89PSBTY2FmZm9sZGluZ1xuLy9cbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGJvZHk+YC5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCB0ZXh0IGNvbG9yIG9uIGA8Ym9keT5gLlxuJHRleHQtY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgdGV4dHVhbCBsaW5rIGNvbG9yLlxuJGxpbmstY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuLy8qKiBMaW5rIGhvdmVyIGRlY29yYXRpb24uXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cblxuLy89PSBUeXBvZ3JhcGh5XG4vL1xuLy8jIyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZiAhZGVmYXVsdDtcbi8vKiogRGVmYXVsdCBtb25vc3BhY2UgZm9udHMgZm9yIGA8Y29kZT5gLCBgPGtiZD5gLCBhbmQgYDxwcmU+YC5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDAuODUpKSAhZGVmYXVsdDsgLy8gfjEycHhcblxuJGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoJGZvbnQtc2l6ZS1iYXNlICogMi42KSkgIWRlZmF1bHQ7IC8vIH4zNnB4XG4kZm9udC1zaXplLWgyOiAgICAgICAgICAgIGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAyLjE1KSkgIWRlZmF1bHQ7IC8vIH4zMHB4XG4kZm9udC1zaXplLWgzOiAgICAgICAgICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuNykpICFkZWZhdWx0OyAvLyB+MjRweFxuJGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLWg1OiAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRmb250LXNpemUtaDY6ICAgICAgICAgICAgY2VpbCgoJGZvbnQtc2l6ZS1iYXNlICogMC44NSkpICFkZWZhdWx0OyAvLyB+MTJweFxuXG4vLyoqIFVuaXQtbGVzcyBgbGluZS1oZWlnaHRgIGZvciB1c2UgaW4gY29tcG9uZW50cyBsaWtlIGJ1dHRvbnMuXG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgIDEuNDI4NTcxNDI5ICFkZWZhdWx0OyAvLyAyMC8xNFxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cbiRsaW5lLWhlaWdodC1jb21wdXRlZDogICAgZmxvb3IoKCRmb250LXNpemUtYmFzZSAqICRsaW5lLWhlaWdodC1iYXNlKSkgIWRlZmF1bHQ7IC8vIH4yMHB4XG5cbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgaW5oZXJpdCAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LXdlaWdodDogICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG5cblxuLy89PSBJY29ub2dyYXBoeVxuLy9cbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cblxuLy8qKiBMb2FkIGZvbnRzIGZyb20gdGhpcyBkaXJlY3RvcnkuXG5cbi8vIFtjb252ZXJ0ZXJdIElmICRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIgaWYgdXNlZCwgcHJvdmlkZSBwYXRoIHJlbGF0aXZlIHRvIHRoZSBhc3NldHMgbG9hZCBwYXRoLlxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBiZWNhdXNlIHNvbWUgYXNzZXQgaGVscGVycywgc3VjaCBhcyBTcHJvY2tldHMsIGRvIG5vdCB3b3JrIHdpdGggZmlsZS1yZWxhdGl2ZSBwYXRocy5cbiRpY29uLWZvbnQtcGF0aDogaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgXCJib290c3RyYXAvXCIsIFwiLi4vZm9udHMvYm9vdHN0cmFwL1wiKSAhZGVmYXVsdDtcblxuLy8qKiBGaWxlIG5hbWUgZm9yIGFsbCBmb250IGZpbGVzLlxuJGljb24tZm9udC1uYW1lOiAgICAgICAgICBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIiAhZGVmYXVsdDtcbi8vKiogRWxlbWVudCBJRCB3aXRoaW4gU1ZHIGljb24gZmlsZS5cbiRpY29uLWZvbnQtc3ZnLWlkOiAgICAgICAgXCJnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXJcIiAhZGVmYXVsdDtcblxuXG4vLz09IENvbXBvbmVudHNcbi8vXG4vLyMjIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS4gVmFsdWVzIGJhc2VkIG9uIDE0cHggdGV4dCBhbmQgMS40MjggbGluZS1oZWlnaHQgKH4yMHB4IHRvIHN0YXJ0KS5cblxuJHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgIDZweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDogICAxMnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTBweCAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLWhvcml6b250YWw6ICAxNnB4ICFkZWZhdWx0O1xuXG4kcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4ICFkZWZhdWx0O1xuJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDogIDEwcHggIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHggIWRlZmF1bHQ7XG4kcGFkZGluZy14cy1ob3Jpem9udGFsOiAgICAgNXB4ICFkZWZhdWx0O1xuXG4kbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMzMzMzMzICFkZWZhdWx0OyAvLyBleHRyYSBkZWNpbWFscyBmb3IgV2luIDguMSBDaHJvbWVcbiRsaW5lLWhlaWdodC1zbWFsbDogICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICA0cHggIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgNnB4ICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc21hbGw6ICAgICAgIDNweCAhZGVmYXVsdDtcblxuLy8qKiBHbG9iYWwgY29sb3IgZm9yIGFjdGl2ZSBpdGVtcyAoZS5nLiwgbmF2cyBvciBkcm9wZG93bnMpLlxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdGUgZHJvcGRvd25zLlxuJGNhcmV0LXdpZHRoLWJhc2U6ICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogQ2FyZXRzIGluY3JlYXNlIHNsaWdodGx5IGluIHNpemUgZm9yIGxhcmdlciBjb21wb25lbnRzLlxuJGNhcmV0LXdpZHRoLWxhcmdlOiAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuXG4vLz09IFRhYmxlc1xuLy9cbi8vIyMgQ3VzdG9taXplcyB0aGUgYC50YWJsZWAgY29tcG9uZW50IHdpdGggYmFzaWMgdmFsdWVzLCBlYWNoIHVzZWQgYWNyb3NzIGFsbCB0YWJsZSB2YXJpYXRpb25zLlxuXG4vLyoqIFBhZGRpbmcgZm9yIGA8dGg+YHMgYW5kIGA8dGQ+YHMuXG4kdGFibGUtY2VsbC1wYWRkaW5nOiAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBmb3IgY2VsbHMgaW4gYC50YWJsZS1jb25kZW5zZWRgLlxuJHRhYmxlLWNvbmRlbnNlZC1jZWxsLXBhZGRpbmc6ICA1cHggIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGFsbCB0YWJsZXMuXG4kdGFibGUtYmc6ICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGAudGFibGUtc3RyaXBlZGAuXG4kdGFibGUtYmctYWNjZW50OiAgICAgICAgICAgICAgICNmOWY5ZjkgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3IgdXNlZCBmb3IgYC50YWJsZS1ob3ZlcmAuXG4kdGFibGUtYmctaG92ZXI6ICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgICR0YWJsZS1iZy1ob3ZlciAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRhYmxlIGFuZCBjZWxsIGJvcmRlcnMuXG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cblxuLy89PSBCdXR0b25zXG4vL1xuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICBub3JtYWwgIWRlZmF1bHQ7XG5cbiRidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kZWZhdWx0LWJvcmRlcjogICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcblxuJGJ0bi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGJ0bi1wcmltYXJ5LWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4tcHJpbWFyeS1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oJGJ0bi1zdWNjZXNzLWJnLCA1JSkgIWRlZmF1bHQ7XG5cbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4taW5mby1ib3JkZXI6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnRuLWluZm8tYmcsIDUlKSAhZGVmYXVsdDtcblxuJGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGJ0bi13YXJuaW5nLWJvcmRlcjogICAgICAgICAgICAgZGFya2VuKCRidG4td2FybmluZy1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJGJ0bi1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbigkYnRuLWRhbmdlci1iZywgNSUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAgICRib3JkZXItcmFkaXVzLWxhcmdlICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc21hbGwgIWRlZmF1bHQ7XG5cblxuLy89PSBGb3Jtc1xuLy9cbi8vIyNcblxuLy8qKiBgPGlucHV0PmAgYmFja2dyb3VuZCBjb2xvclxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYDxpbnB1dCBkaXNhYmxlZD5gIGJhY2tncm91bmQgY29sb3JcbiRpbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbi8vKiogVGV4dCBjb2xvciBmb3IgYDxpbnB1dD5gc1xuJGlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXkgIWRlZmF1bHQ7XG4vLyoqIGA8aW5wdXQ+YCBib3JkZXIgY29sb3JcbiRpbnB1dC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICNjY2MgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IFJlbmFtZSBgJGlucHV0LWJvcmRlci1yYWRpdXNgIHRvIGAkaW5wdXQtYm9yZGVyLXJhZGl1cy1iYXNlYCBpbiB2NFxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4vLyBUaGlzIGhhcyBubyBlZmZlY3Qgb24gYDxzZWxlY3Q+YHMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIGA8c2VsZWN0PmBzIGluIENTUy5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4vLyoqIExhcmdlIGAuZm9ybS1jb250cm9sYCBib3JkZXIgcmFkaXVzXG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTogICAgICAkYm9yZGVyLXJhZGl1cy1sYXJnZSAhZGVmYXVsdDtcbi8vKiogU21hbGwgYC5mb3JtLWNvbnRyb2xgIGJvcmRlciByYWRpdXNcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICRib3JkZXItcmFkaXVzLXNtYWxsICFkZWZhdWx0O1xuXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgaW5wdXRzIG9uIGZvY3VzXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICAjNjZhZmU5ICFkZWZhdWx0O1xuXG4vLyoqIFBsYWNlaG9sZGVyIHRleHQgY29sb3JcbiRpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjogICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbi8vKiogRGVmYXVsdCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWJhc2U6ICAgICAgICAgICAgICAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKiAyKSArIDIpICFkZWZhdWx0O1xuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XG4kaW5wdXQtaGVpZ2h0LWxhcmdlOiAgICAgICAgICAgICAoY2VpbCgkZm9udC1zaXplLWxhcmdlICogJGxpbmUtaGVpZ2h0LWxhcmdlKSArICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG4vLyoqIFNtYWxsIGAuZm9ybS1jb250cm9sYCBoZWlnaHRcbiRpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcigkZm9udC1zaXplLXNtYWxsICogJGxpbmUtaGVpZ2h0LXNtYWxsKSArICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMikgIWRlZmF1bHQ7XG5cbi8vKiogYC5mb3JtLWdyb3VwYCBtYXJnaW5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbiRsZWdlbmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRncmF5LWRhcmsgIWRlZmF1bHQ7XG4kbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1ICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRleHR1YWwgaW5wdXQgYWRkb25zXG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtYm9yZGVyICFkZWZhdWx0O1xuXG4vLyoqIERpc2FibGVkIGN1cnNvciBmb3IgZm9ybSBjb250cm9scyBhbmQgYnV0dG9ucy5cbiRjdXJzb3ItZGlzYWJsZWQ6ICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG5cbi8vPT0gRHJvcGRvd25zXG4vL1xuLy8jIyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgLlxuJGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgcmdiYSgwLDAsMCwuMTUpICFkZWZhdWx0O1xuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxuJGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjogICAgICAgI2NjYyAhZGVmYXVsdDtcbi8vKiogRGl2aWRlciBjb2xvciBmb3IgYmV0d2VlbiBkcm9wZG93biBpdGVtcy5cbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICNlNWU1ZTUgIWRlZmF1bHQ7XG5cbi8vKiogRHJvcGRvd24gbGluayB0ZXh0IGNvbG9yLlxuJGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgJGdyYXktZGFyayAhZGVmYXVsdDtcbi8vKiogSG92ZXIgY29sb3IgZm9yIGRyb3Bkb3duIGxpbmtzLlxuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICAgICAgZGFya2VuKCRncmF5LWRhcmssIDUlKSAhZGVmYXVsdDtcbi8vKiogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gdGV4dCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuLy8qKiBBY3RpdmUgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuLy8qKiBEaXNhYmxlZCBkcm9wZG93biBtZW51IGl0ZW0gYmFja2dyb3VuZCBjb2xvci5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3IgZm9yIGhlYWRlcnMgd2l0aGluIGRyb3Bkb3duIG1lbnVzLlxuJGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vKiogRGVwcmVjYXRlZCBgJGRyb3Bkb3duLWNhcmV0LWNvbG9yYCBhcyBvZiB2My4xLjBcbiRkcm9wZG93bi1jYXJldC1jb2xvcjogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG5cblxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG4vL1xuLy8gTm90ZTogVGhlc2UgdmFyaWFibGVzIGFyZSBub3QgZ2VuZXJhdGVkIGludG8gdGhlIEN1c3RvbWl6ZXIuXG5cbiR6aW5kZXgtbmF2YmFyOiAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG4kemluZGV4LW5hdmJhci1maXhlZDogICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG5cblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vL1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgNDgwcHggIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcbiRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgJHNjcmVlbi14cyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICRzY3JlZW4teHMtbWluICFkZWZhdWx0O1xuXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1zbWAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICAkc2NyZWVuLXNtICFkZWZhdWx0O1xuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcFxuLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgOTkycHggIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1pbjogICAgICAgICAgICAgICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4vLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWRlc2t0b3A6ICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3Bcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgJHNjcmVlbi1sZyAhZGVmYXVsdDtcbi8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgJHNjcmVlbi1sZy1taW4gIWRlZmF1bHQ7XG5cbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxuJHNjcmVlbi14cy1tYXg6ICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xuXG5cbi8vPT0gR3JpZCBzeXN0ZW1cbi8vXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXG5cbi8vKiogTnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4vLyoqIFBhZGRpbmcgYmV0d2VlbiBjb2x1bW5zLiBHZXRzIGRpdmlkZWQgaW4gaGFsZiBmb3IgdGhlIGxlZnQgYW5kIHJpZ2h0LlxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4vLyBOYXZiYXIgY29sbGFwc2Vcbi8vKiogUG9pbnQgYXQgd2hpY2ggdGhlIG5hdmJhciBiZWNvbWVzIHVuY29sbGFwc2VkLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludDogICAgICRzY3JlZW4tc20tbWluICFkZWZhdWx0O1xuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxuJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXg6ICgkZ3JpZC1mbG9hdC1icmVha3BvaW50IC0gMSkgIWRlZmF1bHQ7XG5cblxuLy89PSBDb250YWluZXIgc2l6ZXNcbi8vXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxuJGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICg3MjBweCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XG4vLyoqIEZvciBgJHNjcmVlbi1zbS1taW5gIGFuZCB1cC5cbiRjb250YWluZXItc206ICAgICAgICAgICAgICAgICAkY29udGFpbmVyLXRhYmxldCAhZGVmYXVsdDtcblxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcbiRjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xuLy8qKiBGb3IgYCRzY3JlZW4tbWQtbWluYCBhbmQgdXAuXG4kY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgJGNvbnRhaW5lci1kZXNrdG9wICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiRjb250YWluZXItbGFyZ2UtZGVza3RvcDogICAgICAoMTE0MHB4ICsgJGdyaWQtZ3V0dGVyLXdpZHRoKSAhZGVmYXVsdDtcbi8vKiogRm9yIGAkc2NyZWVuLWxnLW1pbmAgYW5kIHVwLlxuJGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgICRjb250YWluZXItbGFyZ2UtZGVza3RvcCAhZGVmYXVsdDtcblxuXG4vLz09IE5hdmJhclxuLy9cbi8vIyNcblxuLy8gQmFzaWNzIG9mIGEgbmF2YmFyXG4kbmF2YmFyLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICRsaW5lLWhlaWdodC1jb21wdXRlZCAhZGVmYXVsdDtcbiRuYXZiYXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgZmxvb3IoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKSAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgKCgkbmF2YmFyLWhlaWdodCAtICRsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyKSAhZGVmYXVsdDtcbiRuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDogICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgIzc3NyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgI2Y4ZjhmOCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItZGVmYXVsdC1iZywgNi41JSkgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBsaW5rc1xuJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICM3NzcgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAjNTU1ICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICNjY2MgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3IsIDEwJSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtYnJhbmQtaG92ZXItYmc6ICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciB0b2dnbGVcbiRuYXZiYXItZGVmYXVsdC10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1pY29uLWJhci1iZzogICAgICAgICM4ODggIWRlZmF1bHQ7XG4kbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgI2RkZCAhZGVmYXVsdDtcblxuXG4vLz09PSBJbnZlcnRlZCBuYXZiYXJcbi8vIFJlc2V0IGludmVydGVkIG5hdmJhciBiYXNpY3NcbiRuYXZiYXItaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkZ3JheS1saWdodCwgMTUlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAgIzIyMiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcblxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGxpbmtzXG4kbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyYXktbGlnaHQsIDE1JSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJG5hdmJhci1pbnZlcnNlLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKCRuYXZiYXItaW52ZXJzZS1iZywgMTAlKSAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgIzQ0NCAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWJnOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciBicmFuZCBsYWJlbFxuJG5hdmJhci1pbnZlcnNlLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc6ICAgICAgICAgICAgIzMzMyAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IE5hdnNcbi8vXG4vLyMjXG5cbi8vPT09IFNoYXJlZCBuYXYgc3R5bGVzXG4kbmF2LWxpbmstcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgIDEwcHggMTVweCAhZGVmYXVsdDtcbiRuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcblxuJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRuYXYtZGlzYWJsZWQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG5cbi8vPT0gVGFic1xuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG5cbiRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICRncmF5ICFkZWZhdWx0O1xuJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgICRib2R5LWJnICFkZWZhdWx0O1xuXG4vLz09IFBpbGxzXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWFjdGl2ZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJG5hdi1waWxscy1hY3RpdmUtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLz09IFBhZ2luYXRpb25cbi8vXG4vLyMjXG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI6ICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuXG5cbi8vPT0gUGFnZXJcbi8vXG4vLyMjXG5cbiRwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWJnICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tYm9yZGVyICFkZWZhdWx0O1xuJHBhZ2VyLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHBhZ2VyLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24taG92ZXItYmcgIWRlZmF1bHQ7XG5cbiRwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuJHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy89PSBKdW1ib3Ryb25cbi8vXG4vLyMjXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1jb2xvcjogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kanVtYm90cm9uLWZvbnQtc2l6ZTogICAgICAgICAgICBjZWlsKCgkZm9udC1zaXplLWJhc2UgKiAxLjUpKSAhZGVmYXVsdDtcbiRqdW1ib3Ryb24taGVhZGluZy1mb250LXNpemU6ICAgIGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDQuNSkpICFkZWZhdWx0O1xuXG5cbi8vPT0gRm9ybSBzdGF0ZXMgYW5kIGFsZXJ0c1xuLy9cbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXG5cbiRzdGF0ZS1zdWNjZXNzLXRleHQ6ICAgICAgICAgICAgICMzYzc2M2QgIWRlZmF1bHQ7XG4kc3RhdGUtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAjZGZmMGQ4ICFkZWZhdWx0O1xuJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKSAhZGVmYXVsdDtcblxuJHN0YXRlLWluZm8tdGV4dDogICAgICAgICAgICAgICAgIzMxNzA4ZiAhZGVmYXVsdDtcbiRzdGF0ZS1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICNkOWVkZjcgIWRlZmF1bHQ7XG4kc3RhdGUtaW5mby1ib3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oYWRqdXN0LWh1ZSgkc3RhdGUtaW5mby1iZywgLTEwKSwgNyUpICFkZWZhdWx0O1xuXG4kc3RhdGUtd2FybmluZy10ZXh0OiAgICAgICAgICAgICAjOGE2ZDNiICFkZWZhdWx0O1xuJHN0YXRlLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcbiRzdGF0ZS13YXJuaW5nLWJvcmRlcjogICAgICAgICAgIGRhcmtlbihhZGp1c3QtaHVlKCRzdGF0ZS13YXJuaW5nLWJnLCAtMTApLCA1JSkgIWRlZmF1bHQ7XG5cbiRzdGF0ZS1kYW5nZXItdGV4dDogICAgICAgICAgICAgICNhOTQ0NDIgIWRlZmF1bHQ7XG4kc3RhdGUtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAjZjJkZWRlICFkZWZhdWx0O1xuJHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKGFkanVzdC1odWUoJHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpICFkZWZhdWx0O1xuXG5cbi8vPT0gVG9vbHRpcHNcbi8vXG4vLyMjXG5cbi8vKiogVG9vbHRpcCBtYXggd2lkdGhcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcbiR0b29sdGlwLWNvbG9yOiAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFRvb2x0aXAgYmFja2dyb3VuZCBjb2xvclxuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcbiR0b29sdGlwLWFycm93LXdpZHRoOiAgICAgICAgIDVweCAhZGVmYXVsdDtcbi8vKiogVG9vbHRpcCBhcnJvdyBjb2xvclxuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBQb3BvdmVyc1xuLy9cbi8vIyNcblxuLy8qKiBQb3BvdmVyIGJvZHkgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMjc2cHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYm9yZGVyIGNvbG9yXG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBQb3BvdmVyIGZhbGxiYWNrIGJvcmRlciBjb2xvclxuJHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjICFkZWZhdWx0O1xuXG4vLyoqIFBvcG92ZXIgdGl0bGUgYmFja2dyb3VuZCBjb2xvclxuJHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcblxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgYXJyb3cgY29sb3JcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgJHBvcG92ZXItYmcgIWRlZmF1bHQ7XG5cbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxuJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg6ICAgICAgICAgICAoJHBvcG92ZXItYXJyb3ctd2lkdGggKyAxKSAhZGVmYXVsdDtcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyBjb2xvclxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBmYWRlX2luKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgMC4wNSkgIWRlZmF1bHQ7XG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcbiRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOiAgZGFya2VuKCRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvciwgMjAlKSAhZGVmYXVsdDtcblxuXG4vLz09IExhYmVsc1xuLy9cbi8vIyNcblxuLy8qKiBEZWZhdWx0IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBQcmltYXJ5IGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1zdWNjZXNzLWJnOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBJbmZvIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIGxhYmVsIGJhY2tncm91bmQgY29sb3JcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxuJGxhYmVsLWRhbmdlci1iZzogICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcbiRsYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIERlZmF1bHQgdGV4dCBjb2xvciBvZiBhIGxpbmtlZCBsYWJlbFxuJGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuXG4vLz09IE1vZGFsc1xuLy9cbi8vIyNcblxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIGJvZHlcbiRtb2RhbC1pbm5lci1wYWRkaW5nOiAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cbi8vKiogUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCB0aXRsZVxuJG1vZGFsLXRpdGxlLXBhZGRpbmc6ICAgICAgICAgMTVweCAhZGVmYXVsdDtcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yXG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvciAqKmZvciBJRTgqKlxuJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuXG4vLyoqIE1vZGFsIGJhY2tkcm9wIGJhY2tncm91bmQgY29sb3JcbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgIC41ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1ICFkZWZhdWx0O1xuLy8qKiBNb2RhbCBmb290ZXIgYm9yZGVyIGNvbG9yXG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gQWxlcnRzXG4vL1xuLy8jIyBEZWZpbmUgYWxlcnQgY29sb3JzLCBib3JkZXIgcmFkaXVzLCBhbmQgcGFkZGluZy5cblxuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICRib3JkZXItcmFkaXVzLWJhc2UgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy1iZyAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICRzdGF0ZS1zdWNjZXNzLXRleHQgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICAkc3RhdGUtc3VjY2Vzcy1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRhbGVydC1pbmZvLWJnOiAgICAgICAgICAgICAgICRzdGF0ZS1pbmZvLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWluZm8tdGV4dDogICAgICAgICAgICAgJHN0YXRlLWluZm8tdGV4dCAhZGVmYXVsdDtcbiRhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgICRzdGF0ZS1pbmZvLWJvcmRlciAhZGVmYXVsdDtcblxuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgJHN0YXRlLXdhcm5pbmctYmcgIWRlZmF1bHQ7XG4kYWxlcnQtd2FybmluZy10ZXh0OiAgICAgICAgICAkc3RhdGUtd2FybmluZy10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYm9yZGVyOiAgICAgICAgJHN0YXRlLXdhcm5pbmctYm9yZGVyICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLWJnICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgJHN0YXRlLWRhbmdlci10ZXh0ICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgJHN0YXRlLWRhbmdlci1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuLy89PSBQcm9ncmVzcyBiYXJzXG4vL1xuLy8jI1xuXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIHdob2xlIHByb2dyZXNzIGNvbXBvbmVudFxuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4vLyoqIFZhcmlhYmxlIGZvciBzZXR0aW5nIHJvdW5kZWQgY29ybmVycyBvbiBwcm9ncmVzcyBiYXIuXG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAkYm9yZGVyLXJhZGl1cy1iYXNlICFkZWZhdWx0O1xuXG4vLyoqIERlZmF1bHQgcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbi8vKiogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItc3VjY2Vzcy1iZzogICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuLy8qKiBXYXJuaW5nIHByb2dyZXNzIGJhciBjb2xvclxuJHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4vLyoqIERhbmdlciBwcm9ncmVzcyBiYXIgY29sb3JcbiRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnOiAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG4vLyoqIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXG4kcHJvZ3Jlc3MtYmFyLWluZm8tYmc6ICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcblxuXG4vLz09IExpc3QgZ3JvdXBcbi8vXG4vLyMjXG5cbi8vKiogQmFja2dyb3VuZCBjb2xvciBvbiBgLmxpc3QtZ3JvdXAtaXRlbWBcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbi8vKiogYC5saXN0LWdyb3VwLWl0ZW1gIGJvcmRlciBjb2xvclxuJGxpc3QtZ3JvdXAtYm9yZGVyOiAgICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcbiRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXM6ICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXG4kbGlzdC1ncm91cC1ob3Zlci1iZzogICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgYWN0aXZlIGxpc3QgaXRlbXNcbiRsaXN0LWdyb3VwLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjogICAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4vLyoqIFRleHQgY29sb3IgZm9yIGNvbnRlbnQgd2l0aGluIGFjdGl2ZSBsaXN0IGl0ZW1zXG4kbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oJGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpICFkZWZhdWx0O1xuXG4vLyoqIFRleHQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtdGV4dC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I6ICAgJGxpc3QtZ3JvdXAtbGluay1jb2xvciAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWxpbmstaGVhZGluZy1jb2xvcjogIzMzMyAhZGVmYXVsdDtcblxuXG4vLz09IFBhbmVsc1xuLy9cbi8vIyNcblxuJHBhbmVsLWJnOiAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtaGVhZGluZy1wYWRkaW5nOiAgICAgICAxMHB4IDE1cHggIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLXBhZGRpbmc6ICAgICAgICAkcGFuZWwtaGVhZGluZy1wYWRkaW5nICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGVsZW1lbnRzIHdpdGhpbiBwYW5lbHNcbiRwYW5lbC1pbm5lci1ib3JkZXI6ICAgICAgICAgICNkZGQgIWRlZmF1bHQ7XG4kcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjVmNWY1ICFkZWZhdWx0O1xuXG4kcGFuZWwtZGVmYXVsdC10ZXh0OiAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgI2RkZCAhZGVmYXVsdDtcbiRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG5cbiRwYW5lbC1wcmltYXJ5LXRleHQ6ICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc6ICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuXG4kcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAkc3RhdGUtc3VjY2Vzcy10ZXh0ICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgJHN0YXRlLXN1Y2Nlc3MtYm9yZGVyICFkZWZhdWx0O1xuJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgJHN0YXRlLXN1Y2Nlc3MtYmcgIWRlZmF1bHQ7XG5cbiRwYW5lbC1pbmZvLXRleHQ6ICAgICAgICAgICAgICRzdGF0ZS1pbmZvLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICAkc3RhdGUtaW5mby1ib3JkZXIgIWRlZmF1bHQ7XG4kcGFuZWwtaW5mby1oZWFkaW5nLWJnOiAgICAgICAkc3RhdGUtaW5mby1iZyAhZGVmYXVsdDtcblxuJHBhbmVsLXdhcm5pbmctdGV4dDogICAgICAgICAgJHN0YXRlLXdhcm5pbmctdGV4dCAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWJvcmRlcjogICAgICAgICRzdGF0ZS13YXJuaW5nLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc6ICAgICRzdGF0ZS13YXJuaW5nLWJnICFkZWZhdWx0O1xuXG4kcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAkc3RhdGUtZGFuZ2VyLXRleHQgIWRlZmF1bHQ7XG4kcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICAkc3RhdGUtZGFuZ2VyLWJvcmRlciAhZGVmYXVsdDtcbiRwYW5lbC1kYW5nZXItaGVhZGluZy1iZzogICAgICRzdGF0ZS1kYW5nZXItYmcgIWRlZmF1bHQ7XG5cblxuLy89PSBUaHVtYm5haWxzXG4vL1xuLy8jI1xuXG4vLyoqIFBhZGRpbmcgYXJvdW5kIHRoZSB0aHVtYm5haWwgaW1hZ2VcbiR0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDRweCAhZGVmYXVsdDtcbi8vKiogVGh1bWJuYWlsIGJhY2tncm91bmQgY29sb3JcbiR0aHVtYm5haWwtYmc6ICAgICAgICAgICAgICAgICRib2R5LWJnICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIGNvbG9yXG4kdGh1bWJuYWlsLWJvcmRlcjogICAgICAgICAgICAjZGRkICFkZWZhdWx0O1xuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgJGJvcmRlci1yYWRpdXMtYmFzZSAhZGVmYXVsdDtcblxuLy8qKiBDdXN0b20gdGV4dCBjb2xvciBmb3IgdGh1bWJuYWlsIGNhcHRpb25zXG4kdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICAkdGV4dC1jb2xvciAhZGVmYXVsdDtcbi8vKiogUGFkZGluZyBhcm91bmQgdGhlIHRodW1ibmFpbCBjYXB0aW9uXG4kdGh1bWJuYWlsLWNhcHRpb24tcGFkZGluZzogICA5cHggIWRlZmF1bHQ7XG5cblxuLy89PSBXZWxsc1xuLy9cbi8vIyNcblxuJHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y1ZjVmNSAhZGVmYXVsdDtcbiR3ZWxsLWJvcmRlcjogICAgICAgICAgICAgICAgIGRhcmtlbigkd2VsbC1iZywgNyUpICFkZWZhdWx0O1xuXG5cbi8vPT0gQmFkZ2VzXG4vL1xuLy8jI1xuXG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuLy8qKiBMaW5rZWQgYmFkZ2UgdGV4dCBjb2xvciBvbiBob3ZlclxuJGJhZGdlLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuXG4vLyoqIEJhZGdlIHRleHQgY29sb3IgaW4gYWN0aXZlIG5hdiBsaW5rXG4kYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbi8vKiogQmFkZ2UgYmFja2dyb3VuZCBjb2xvciBpbiBhY3RpdmUgbmF2IGxpbmtcbiRiYWRnZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgIGJvbGQgIWRlZmF1bHQ7XG4kYmFkZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAxICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vLz09IEJyZWFkY3J1bWJzXG4vL1xuLy8jI1xuXG4kYnJlYWRjcnVtYi1wYWRkaW5nLXZlcnRpY2FsOiAgIDhweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbi8vKiogQnJlYWRjcnVtYiBiYWNrZ3JvdW5kIGNvbG9yXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4vLyoqIEJyZWFkY3J1bWIgdGV4dCBjb2xvclxuJGJyZWFkY3J1bWItY29sb3I6ICAgICAgICAgICAgICAjY2NjICFkZWZhdWx0O1xuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAkZ3JheS1saWdodCAhZGVmYXVsdDtcbi8vKiogVGV4dHVhbCBzZXBhcmF0b3IgZm9yIGJldHdlZW4gYnJlYWRjcnVtYiBlbGVtZW50c1xuJGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcblxuXG4vLz09IENhcm91c2VsXG4vL1xuLy8jI1xuXG4kY2Fyb3VzZWwtdGV4dC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDbG9zZVxuLy9cbi8vIyNcblxuJGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kY2xvc2UtdGV4dC1zaGFkb3c6ICAgICAgICAgICAwIDFweCAwICNmZmYgIWRlZmF1bHQ7XG5cblxuLy89PSBDb2RlXG4vL1xuLy8jI1xuXG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjYzcyNTRlICFkZWZhdWx0O1xuJGNvZGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI2Y5ZjJmNCAhZGVmYXVsdDtcblxuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG5cbiRwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjUgIWRlZmF1bHQ7XG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ3JheS1kYXJrICFkZWZhdWx0O1xuJHByZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2NjYyAhZGVmYXVsdDtcbiRwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4ICFkZWZhdWx0O1xuXG5cbi8vPT0gVHlwZVxuLy9cbi8vIyNcblxuLy8qKiBIb3Jpem9udGFsIG9mZnNldCBmb3IgZm9ybXMgYW5kIGxpc3RzLlxuJGNvbXBvbmVudC1vZmZzZXQtaG9yaXpvbnRhbDogMTgwcHggIWRlZmF1bHQ7XG4vLyoqIFRleHQgbXV0ZWQgY29sb3JcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcbiRhYmJyLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxuJGhlYWRpbmdzLXNtYWxsLWNvbG9yOiAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuLy8qKiBCbG9ja3F1b3RlIGJvcmRlciBjb2xvclxuJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbi8vKiogUGFnZSBoZWFkZXIgYm9yZGVyIGNvbG9yXG4kcGFnZS1oZWFkZXItYm9yZGVyLWNvbG9yOiAgICAkZ3JheS1saWdodGVyICFkZWZhdWx0O1xuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXG4kZGwtaG9yaXpvbnRhbC1vZmZzZXQ6ICAgICAgICAkY29tcG9uZW50LW9mZnNldC1ob3Jpem9udGFsICFkZWZhdWx0O1xuLy8qKiBQb2ludCBhdCB3aGljaCAuZGwtaG9yaXpvbnRhbCBiZWNvbWVzIGhvcml6b250YWxcbiRkbC1ob3Jpem9udGFsLWJyZWFrcG9pbnQ6ICAgICRncmlkLWZsb2F0LWJyZWFrcG9pbnQgIWRlZmF1bHQ7XG4vLyoqIEhvcml6b250YWwgbGluZSBjb2xvci5cbiRoci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0ZXIgIWRlZmF1bHQ7XG4iLCIvLyBXZWJLaXQtc3R5bGUgZm9jdXNcblxuQG1peGluIHRhYi1mb2N1cygpIHtcbiAgLy8gV2ViS2l0LXNwZWNpZmljLiBPdGhlciBicm93c2VycyB3aWxsIGtlZXAgdGhlaXIgZGVmYXVsdCBvdXRsaW5lIHN0eWxlLlxuICAvLyAoSW5pdGlhbGx5IHRyaWVkIHRvIGFsc28gZm9yY2UgZGVmYXVsdCB2aWEgYG91dGxpbmU6IGluaXRpYWxgLFxuICAvLyBidXQgdGhhdCBzZWVtcyB0byBlcnJvbmVvdXNseSByZW1vdmUgdGhlIG91dGxpbmUgaW4gRmlyZWZveCBhbHRvZ2V0aGVyLilcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTF4fVwiKSwgXCIjeyRmaWxlLTF4fVwiKSk7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGlmKCRib290c3RyYXAtc2Fzcy1hc3NldC1oZWxwZXIsIHR3YnMtaW1hZ2UtcGF0aChcIiN7JGZpbGUtMnh9XCIpLCBcIiN7JGZpbGUtMnh9XCIpKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvL1xuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBIZWFkaW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiAkaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaGVhZGluZ3MtY29sb3I7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJGhlYWRpbmdzLXNtYWxsLWNvbG9yO1xuICB9XG59XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyB7XG4gIG1hcmdpbi10b3A6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNjUlO1xuICB9XG59XG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBtYXJnaW4tdG9wOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgfVxufVxuXG5oMSwgLmgxIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgxOyB9XG5oMiwgLmgyIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgyOyB9XG5oMywgLmgzIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgzOyB9XG5oNCwgLmg0IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg0OyB9XG5oNSwgLmg1IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg1OyB9XG5oNiwgLmg2IHsgZm9udC1zaXplOiAkZm9udC1zaXplLWg2OyB9XG5cblxuLy8gQm9keSB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnAge1xuICBtYXJnaW46IDAgMCAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG59XG5cbi5sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IGZsb29yKCgkZm9udC1zaXplLWJhc2UgKiAxLjE1KSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgZm9udC1zaXplOiAoJGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgfVxufVxuXG5cbi8vIEVtcGhhc2lzICYgbWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBFeDogKDEycHggc21hbGwgZm9udCAvIDE0cHggYmFzZSBmb250KSAqIDEwMCUgPSBhYm91dCA4NSVcbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiBmbG9vcigoMTAwJSAqICRmb250LXNpemUtc21hbGwgLyAkZm9udC1zaXplLWJhc2UpKTtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN0YXRlLXdhcm5pbmctYmc7XG4gIHBhZGRpbmc6IC4yZW07XG59XG5cbi8vIEFsaWdubWVudFxuLnRleHQtbGVmdCAgICAgICAgICAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4udGV4dC1yaWdodCAgICAgICAgICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4udGV4dC1jZW50ZXIgICAgICAgICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnRleHQtanVzdGlmeSAgICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4udGV4dC1ub3dyYXAgICAgICAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLy8gVHJhbnNmb3JtYXRpb25cbi50ZXh0LWxvd2VyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuLnRleHQtdXBwZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4udGV4dC1jYXBpdGFsaXplICAgICB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG4udGV4dC1tdXRlZCB7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbn1cblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1wcmltYXJ5JywgJGJyYW5kLXByaW1hcnkpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LXN1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy10ZXh0KTtcblxuQGluY2x1ZGUgdGV4dC1lbXBoYXNpcy12YXJpYW50KCcudGV4dC1pbmZvJywgJHN0YXRlLWluZm8tdGV4dCk7XG5cbkBpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgnLnRleHQtd2FybmluZycsICRzdGF0ZS13YXJuaW5nLXRleHQpO1xuXG5AaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJy50ZXh0LWRhbmdlcicsICRzdGF0ZS1kYW5nZXItdGV4dCk7XG5cbi8vIENvbnRleHR1YWwgYmFja2dyb3VuZHNcbi8vIEZvciBub3cgd2UnbGwgbGVhdmUgdGhlc2UgYWxvbmdzaWRlIHRoZSB0ZXh0IGNsYXNzZXMgdW50aWwgdjQgd2hlbiB3ZSBjYW5cbi8vIHNhZmVseSBzaGlmdCB0aGluZ3MgYXJvdW5kIChwZXIgU2VtVmVyIHJ1bGVzKS5cbi5iZy1wcmltYXJ5IHtcbiAgLy8gR2l2ZW4gdGhlIGNvbnRyYXN0IGhlcmUsIHRoaXMgaXMgdGhlIG9ubHkgY2xhc3MgdG8gaGF2ZSBpdHMgY29sb3IgaW52ZXJ0ZWRcbiAgLy8gYXV0b21hdGljYWxseS5cbiAgY29sb3I6ICNmZmY7XG59XG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctcHJpbWFyeScsICRicmFuZC1wcmltYXJ5KTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLXN1Y2Nlc3MnLCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG5cbkBpbmNsdWRlIGJnLXZhcmlhbnQoJy5iZy1pbmZvJywgJHN0YXRlLWluZm8tYmcpO1xuXG5AaW5jbHVkZSBiZy12YXJpYW50KCcuYmctd2FybmluZycsICRzdGF0ZS13YXJuaW5nLWJnKTtcblxuQGluY2x1ZGUgYmctdmFyaWFudCgnLmJnLWRhbmdlcicsICRzdGF0ZS1kYW5nZXItYmcpO1xuXG5cbi8vIFBhZ2UgaGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWdlLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAoKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSk7XG4gIG1hcmdpbjogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAqIDIpIDAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vLyBMaXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVbm9yZGVyZWQgYW5kIE9yZGVyZWQgbGlzdHNcbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBMaXN0IG9wdGlvbnNcblxuLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGZyb20gYC5saXN0LXVuc3R5bGVkYCBmb3IgbGlic2FzcyBjb21wYXRpYmlsaXR5XG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhcyBgQG1peGluIGxpc3QtdW5zdHlsZWRgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbi5saXN0LXVuc3R5bGVkIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cblxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbiAgbWFyZ2luLWxlZnQ6IC01cHg7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxufVxuXG4vLyBEZXNjcmlwdGlvbiBMaXN0c1xuZGwge1xuICBtYXJnaW4tdG9wOiAwOyAvLyBSZW1vdmUgYnJvd3NlciBkZWZhdWx0XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbn1cbmR0LFxuZGQge1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogMDsgLy8gVW5kbyBicm93c2VyIGRlZmF1bHRcbn1cblxuLy8gSG9yaXpvbnRhbCBkZXNjcmlwdGlvbiBsaXN0c1xuLy9cbi8vIERlZmF1bHRzIHRvIGJlaW5nIHN0YWNrZWQgd2l0aG91dCBhbnkgb2YgdGhlIGJlbG93IHN0eWxlcyBhcHBsaWVkLCB1bnRpbCB0aGVcbi8vIGdyaWQgYnJlYWtwb2ludCBpcyByZWFjaGVkIChkZWZhdWx0IG9mIH43NjhweCkuXG5cbi5kbC1ob3Jpem9udGFsIHtcbiAgZGQge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4OyAvLyBDbGVhciB0aGUgZmxvYXRlZCBgZHRgIGlmIGFuIGVtcHR5IGBkZGAgaXMgcHJlc2VudFxuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRkbC1ob3Jpem9udGFsLWJyZWFrcG9pbnQpIHtcbiAgICBkdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAoJGRsLWhvcml6b250YWwtb2Zmc2V0IC0gMjApO1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XG4gICAgfVxuICAgIGRkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkZGwtaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBYmJyZXZpYXRpb25zIGFuZCBhY3Jvbnltc1xuYWJiclt0aXRsZV0sXG4vLyBBZGQgZGF0YS0qIGF0dHJpYnV0ZSB0byBoZWxwIG91dCBvdXIgdG9vbHRpcCBwbHVnaW4sIHBlciBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzUyNTdcbmFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJGFiYnItYm9yZGVyLWNvbG9yO1xufVxuLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgQGV4dGVuZCAudGV4dC11cHBlcmNhc2U7XG59XG5cbi8vIEJsb2NrcXVvdGVzXG5ibG9ja3F1b3RlIHtcbiAgcGFkZGluZzogKCRsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luOiAwIDAgJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6ICRibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbiAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG5cbiAgcCxcbiAgdWwsXG4gIG9sIHtcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBOb3RlOiBEZXByZWNhdGVkIHNtYWxsIGFuZCAuc21hbGwgYXMgb2YgdjMuMS4wXG4gIC8vIENvbnRleHQ6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NjBcbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDgwJTsgLy8gYmFjayB0byBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogJGJsb2NrcXVvdGUtc21hbGwtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDBBMCc7IC8vIGVtIGRhc2gsIG5ic3BcbiAgICB9XG4gIH1cbn1cblxuLy8gT3Bwb3NpdGUgYWxpZ25tZW50IG9mIGJsb2NrcXVvdGVcbi8vXG4vLyBIZWFkcyB1cDogYGJsb2NrcXVvdGUucHVsbC1yaWdodGAgaGFzIGJlZW4gZGVwcmVjYXRlZCBhcyBvZiB2My4xLjAuXG4uYmxvY2txdW90ZS1yZXZlcnNlLFxuYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCAkYmxvY2txdW90ZS1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAvLyBBY2NvdW50IGZvciBjaXRhdGlvblxuICBmb290ZXIsXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgICY6YmVmb3JlIHsgY29udGVudDogJyc7IH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwQTAgXFwyMDE0JzsgLy8gbmJzcCwgZW0gZGFzaFxuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRyZXNzZXNcbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xufVxuIiwiLy8gVHlwb2dyYXBoeVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbiAgYSN7JHBhcmVudH06aG92ZXIsXG4gIGEjeyRwYXJlbnR9OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICB9XG59XG4iLCIvLyBDbGVhcmZpeFxuLy9cbi8vIEZvciBtb2Rlcm4gYnJvd3NlcnNcbi8vIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4vLyAgICBjb250ZW50ZWRpdGFibGUgYXR0cmlidXRlIGlzIGluY2x1ZGVkIGFueXdoZXJlIGVsc2UgaW4gdGhlIGRvY3VtZW50LlxuLy8gICAgT3RoZXJ3aXNlIGl0IGNhdXNlcyBzcGFjZSB0byBhcHBlYXIgYXQgdGhlIHRvcCBhbmQgYm90dG9tIG9mIGVsZW1lbnRzXG4vLyAgICB0aGF0IGFyZSBjbGVhcmZpeGVkLlxuLy8gMi4gVGhlIHVzZSBvZiBgdGFibGVgIHJhdGhlciB0aGFuIGBibG9ja2AgaXMgb25seSBuZWNlc3NhcnkgaWYgdXNpbmdcbi8vICAgIGA6YmVmb3JlYCB0byBjb250YWluIHRoZSB0b3AtbWFyZ2lucyBvZiBjaGlsZCBlbGVtZW50cy5cbi8vXG4vLyBTb3VyY2U6IGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrL1xuXG5AbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICAgIGRpc3BsYXk6IHRhYmxlOyAvLyAyXG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy9cbi8vIENvZGUgKGlubGluZSBhbmQgYmxvY2spXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsO1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogKCgkbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAxKSAvIDIpO1xuICBtYXJnaW46IDAgMCAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAtIDEpOyAvLyAxNHB4IHRvIDEzcHhcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgY29sb3I6ICRwcmUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcmUtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwcmUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy9cbi8vIEdyaWQgc3lzdGVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi5jb250YWluZXIge1xuICBAaW5jbHVkZSBjb250YWluZXItZml4ZWQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItc207XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbWQ7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgd2lkdGg6ICRjb250YWluZXItbGc7XG4gIH1cbn1cblxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIEBpbmNsdWRlIGNvbnRhaW5lci1maXhlZDtcbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG4ucm93IHtcbiAgQGluY2x1ZGUgbWFrZS1yb3c7XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnM7XG5cblxuLy8gRXh0cmEgc21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciBleHRyYSBzbWFsbCBkZXZpY2VzIGxpa2Vcbi8vIHNtYXJ0cGhvbmVzLlxuXG5AaW5jbHVkZSBtYWtlLWdyaWQoeHMpO1xuXG5cbi8vIFNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIHNtYWxsIGRldmljZSByYW5nZSwgZnJvbSBwaG9uZXNcbi8vIHRvIHRhYmxldHMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQoc20pO1xufVxuXG5cbi8vIE1lZGl1bSBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBkZXNrdG9wIGRldmljZSByYW5nZS5cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gIEBpbmNsdWRlIG1ha2UtZ3JpZChtZCk7XG59XG5cblxuLy8gTGFyZ2UgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgbGFyZ2UgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQobGcpO1xufVxuIiwiLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG5AbWl4aW4gY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBwYWRkaW5nLWxlZnQ6ICBmbG9vcigoJGd1dHRlciAvIDIpKTtcbiAgcGFkZGluZy1yaWdodDogY2VpbCgoJGd1dHRlciAvIDIpKTtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoJGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKCRndXR0ZXIgLyAtMikpO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXhzLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbkBtaXhpbiBtYWtlLXNtLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tcHVzaCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1bGwoJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctbGVmdDogIGNlaWwoKCRncmlkLWd1dHRlci13aWR0aCAvIDIpKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG59XG5cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIikge1xuICBAZm9yICRpIGZyb20gKDEgKyAxKSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xuICAgICRsaXN0OiBcIiN7JGxpc3R9LCAuY29sLSN7JGNsYXNzfS0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5cbkBtaXhpbiBjYWxjLWdyaWQtY29sdW1uKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICBAaWYgKCR0eXBlID09IHdpZHRoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS0jeyRpbmRleH0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA+IDApIHtcbiAgICAuY29sLSN7JGNsYXNzfS1wdXNoLSN7JGluZGV4fSB7XG4gICAgICBsZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVzaCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtMCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1bGwpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtI3skaW5kZXh9IHtcbiAgICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPT0gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1bGwtMCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBvZmZzZXQpIHtcbiAgICAuY29sLSN7JGNsYXNzfS1vZmZzZXQtI3skaW5kZXh9IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkZ3JpZC1jb2x1bW5zKSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdIFRoaXMgaXMgZGVmaW5lZCByZWN1cnNpdmVseSBpbiBMRVNTLCBidXQgU2FzcyBzdXBwb3J0cyByZWFsIGxvb3BzXG5AbWl4aW4gbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpIHtcbiAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgQGluY2x1ZGUgY2FsYy1ncmlkLWNvbHVtbigkaSwgJGNsYXNzLCAkdHlwZSk7XG4gIH1cbn1cblxuXG4vLyBDcmVhdGUgZ3JpZCBmb3Igc3BlY2lmaWMgY2xhc3NcbkBtaXhpbiBtYWtlLWdyaWQoJGNsYXNzKSB7XG4gIEBpbmNsdWRlIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdWxsKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBwdXNoKTtcbiAgQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGdyaWQtY29sdW1ucywgJGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZztcbn1cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICR0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiAkdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBCYXNlbGluZSBzdHlsZXNcblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAvLyBDZWxsc1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gUmVtb3ZlIHRvcCBib3JkZXIgZnJvbSB0aGVhZCBieSBkZWZhdWx0XG4gID4gY2FwdGlvbiArIHRoZWFkLFxuICA+IGNvbGdyb3VwICsgdGhlYWQsXG4gID4gdGhlYWQ6Zmlyc3QtY2hpbGQge1xuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcbiAgPiB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgfVxufVxuXG5cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcblxuLnRhYmxlLWNvbmRlbnNlZCB7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0aGVhZCA+IHRyIHtcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmctaG92ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBjZWxsIHNpemluZ1xuLy9cbi8vIFJlc2V0IGRlZmF1bHQgdGFibGUgYmVoYXZpb3JcblxudGFibGUgY29sW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjtcbn1cbnRhYmxlIHtcbiAgdGQsXG4gIHRoIHtcbiAgICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdhY3RpdmUnLCAkdGFibGUtYmctYWN0aXZlKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdzdWNjZXNzJywgJHN0YXRlLXN1Y2Nlc3MtYmcpO1xuQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJ2luZm8nLCAkc3RhdGUtaW5mby1iZyk7XG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudCgnd2FybmluZycsICRzdGF0ZS13YXJuaW5nLWJnKTtcbkBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCdkYW5nZXInLCAkc3RhdGUtZGFuZ2VyLWJnKTtcblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIFdyYXAgeW91ciB0YWJsZXMgaW4gYC50YWJsZS1yZXNwb25zaXZlYCBhbmQgd2UnbGwgbWFrZSB0aGVtIG1vYmlsZSBmcmllbmRseVxuLy8gYnkgZW5hYmxpbmcgaG9yaXpvbnRhbCBzY3JvbGxpbmcuIE9ubHkgYXBwbGllcyA8NzY4cHguIEV2ZXJ5dGhpbmcgYWJvdmUgdGhhdFxuLy8gd2lsbCBkaXNwbGF5IG5vcm1hbGx5LlxuXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDAuMDElOyAvLyBXb3JrYXJvdW5kIGZvciBJRTkgYnVnIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNDgzNylcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKiAwLjc1KTtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICAgIC8vIFRpZ2h0ZW4gdXAgc3BhY2luZ1xuICAgID4gLnRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIC8vIEVuc3VyZSB0aGUgY29udGVudCBkb2Vzbid0IHdyYXBcbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNwZWNpYWwgb3ZlcnJpZGVzIGZvciB0aGUgYm9yZGVyZWQgdGFibGVzXG4gICAgPiAudGFibGUtYm9yZGVyZWQge1xuICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAvLyBOdWtlIHRoZSBhcHByb3ByaWF0ZSBib3JkZXJzIHNvIHRoYXQgdGhlIHBhcmVudCBjYW4gaGFuZGxlIHRoZW1cbiAgICAgID4gdGhlYWQsXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHIge1xuICAgICAgICAgID4gdGg6Zmlyc3QtY2hpbGQsXG4gICAgICAgICAgPiB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgPiB0aDpsYXN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9ubHkgbnVrZSB0aGUgbGFzdCByb3cncyBib3R0b20tYm9yZGVyIGluIGB0Ym9keWAgYW5kIGB0Zm9vdGAgc2luY2VcbiAgICAgIC8vIGNoYW5jZXMgYXJlIHRoZXJlIHdpbGwgYmUgb25seSBvbmUgYHRyYCBpbiBhIGB0aGVhZGAgYW5kIHRoYXQgd291bGRcbiAgICAgIC8vIHJlbW92ZSB0aGUgYm9yZGVyIGFsdG9nZXRoZXIuXG4gICAgICA+IHRib2R5LFxuICAgICAgPiB0Zm9vdCB7XG4gICAgICAgID4gdHI6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgPiB0aCxcbiAgICAgICAgICA+IHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUgPiB0aGVhZCA+IHRyLFxuICAudGFibGUgPiB0Ym9keSA+IHRyLFxuICAudGFibGUgPiB0Zm9vdCA+IHRyIHtcbiAgICA+IHRkLiN7JHN0YXRlfSxcbiAgICA+IHRoLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfSA+IHRkLFxuICAgICYuI3skc3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgPiB0aC4jeyRzdGF0ZX06aG92ZXIsXG4gICAgJi4jeyRzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLiN7JHN0YXRlfSxcbiAgICAmLiN7JHN0YXRlfTpob3ZlciA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE5vcm1hbGl6ZSBub24tY29udHJvbHNcbi8vXG4vLyBSZXN0eWxlIGFuZCBiYXNlbGluZSBub24tY29udHJvbCBmb3JtIGVsZW1lbnRzLlxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICAvLyBDaHJvbWUgYW5kIEZpcmVmb3ggc2V0IGEgYG1pbi13aWR0aDogbWluLWNvbnRlbnQ7YCBvbiBmaWVsZHNldHMsXG4gIC8vIHNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGl0IGJlaGF2ZXMgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTkuXG4gIG1pbi13aWR0aDogMDtcbn1cblxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogJGxlZ2VuZC1jb2xvcjtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxlZ2VuZC1ib3JkZXItY29sb3I7XG59XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IC8vIEZvcmNlIElFOCB0byB3cmFwIGxvbmcgY29udGVudCAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTMxNDEpXG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuLy8gTm9ybWFsaXplIGZvcm0gY29udHJvbHNcbi8vXG4vLyBXaGlsZSBtb3N0IG9mIG91ciBmb3JtIHN0eWxlcyByZXF1aXJlIGV4dHJhIGNsYXNzZXMsIHNvbWUgYmFzaWMgbm9ybWFsaXphdGlvblxuLy8gaXMgcmVxdWlyZWQgdG8gZW5zdXJlIG9wdGltdW0gZGlzcGxheSB3aXRoIG9yIHdpdGhvdXQgdGhvc2UgY2xhc3NlcyB0byBiZXR0ZXJcbi8vIGFkZHJlc3MgYnJvd3NlciBpbmNvbnNpc3RlbmNpZXMuXG5cbi8vIE92ZXJyaWRlIGNvbnRlbnQtYm94IGluIE5vcm1hbGl6ZSAoKiBpc24ndCBzcGVjaWZpYyBlbm91Z2gpXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuLy8gUG9zaXRpb24gcmFkaW9zIGFuZCBjaGVja2JveGVzIGJldHRlclxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgbWFyZ2luOiA0cHggMCAwO1xuICBtYXJnaW4tdG9wOiAxcHggXFw5OyAvLyBJRTgtOVxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG5pbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBNYWtlIHJhbmdlIGlucHV0cyBiZWhhdmUgbGlrZSB0ZXh0dWFsIGZvcm0gY29udHJvbHNcbmlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLy8gTWFrZSBtdWx0aXBsZSBzZWxlY3QgZWxlbWVudHMgaGVpZ2h0IG5vdCBmaXhlZFxuc2VsZWN0W211bHRpcGxlXSxcbnNlbGVjdFtzaXplXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9jdXMgZm9yIGZpbGUsIHJhZGlvLCBhbmQgY2hlY2tib3hcbmlucHV0W3R5cGU9XCJmaWxlXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzIHtcbiAgQGluY2x1ZGUgdGFiLWZvY3VzO1xufVxuXG4vLyBBZGp1c3Qgb3V0cHV0IGVsZW1lbnRcbm91dHB1dCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbn1cblxuXG4vLyBDb21tb24gZm9ybSBjb250cm9sc1xuLy9cbi8vIFNoYXJlZCBzaXplIGFuZCB0eXBlIHJlc2V0cyBmb3IgZm9ybSBjb250cm9scy4gQXBwbHkgYC5mb3JtLWNvbnRyb2xgIHRvIGFueVxuLy8gb2YgdGhlIGZvbGxvd2luZyBmb3JtIGNvbnRyb2xzOlxuLy9cbi8vIHNlbGVjdFxuLy8gdGV4dGFyZWFcbi8vIGlucHV0W3R5cGU9XCJ0ZXh0XCJdXG4vLyBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRldGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZVwiXVxuLy8gaW5wdXRbdHlwZT1cIm1vbnRoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGltZVwiXVxuLy8gaW5wdXRbdHlwZT1cIndlZWtcIl1cbi8vIGlucHV0W3R5cGU9XCJudW1iZXJcIl1cbi8vIGlucHV0W3R5cGU9XCJlbWFpbFwiXVxuLy8gaW5wdXRbdHlwZT1cInVybFwiXVxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXVxuLy8gaW5wdXRbdHlwZT1cInRlbFwiXVxuLy8gaW5wdXRbdHlwZT1cImNvbG9yXCJdXG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGlucHV0LWhlaWdodC1iYXNlOyAvLyBNYWtlIGlucHV0cyBhdCBsZWFzdCB0aGUgaGVpZ2h0IG9mIHRoZWlyIGJ1dHRvbiBjb3VudGVycGFydCAoYmFzZSBsaW5lLWhlaWdodCArIHBhZGRpbmcgKyBib3JkZXIpXG4gIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXM7IC8vIE5vdGU6IFRoaXMgaGFzIG5vIGVmZmVjdCBvbiA8c2VsZWN0PnMgaW4gc29tZSBicm93c2VycywgZHVlIHRvIHRoZSBsaW1pdGVkIHN0eWxhYmlsaXR5IG9mIDxzZWxlY3Q+cyBpbiBDU1MuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXMpO1xuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLWZvY3VzO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gIEBpbmNsdWRlIHBsYWNlaG9sZGVyO1xuXG4gIC8vIFVuc3R5bGUgdGhlIGNhcmV0IG9uIGA8c2VsZWN0PmBzIGluIElFMTArLlxuICAmOjotbXMtZXhwYW5kIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBhbmQgcmVhZC1vbmx5IGlucHV0c1xuICAvL1xuICAvLyBIVE1MNSBzYXlzIHRoYXQgY29udHJvbHMgdW5kZXIgYSBmaWVsZHNldCA+IGxlZ2VuZDpmaXJzdC1jaGlsZCB3b24ndCBiZVxuICAvLyBkaXNhYmxlZCBpZiB0aGUgZmllbGRzZXQgaXMgZGlzYWJsZWQuIER1ZSB0byBpbXBsZW1lbnRhdGlvbiBkaWZmaWN1bHR5LCB3ZVxuICAvLyBkb24ndCBob25vciB0aGF0IGVkZ2UgY2FzZTsgd2Ugc3R5bGUgdGhlbSBhcyBkaXNhYmxlZCBhbnl3YXkuXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iZy1kaXNhYmxlZDtcbiAgICBvcGFjaXR5OiAxOyAvLyBpT1MgZml4IGZvciB1bnJlYWRhYmxlIGRpc2FibGVkIGNvbnRlbnQ7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjU1XG4gIH1cblxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0ZXh0YXJlYSYgdG8gdGV4dGFyZWEuZm9ybS1jb250cm9sXG59XG5cbi8vIFJlc2V0IGhlaWdodCBmb3IgYHRleHRhcmVhYHNcbnRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBTZWFyY2ggaW5wdXRzIGluIGlPU1xuLy9cbi8vIFRoaXMgb3ZlcnJpZGVzIHRoZSBleHRyYSByb3VuZGVkIGNvcm5lcnMgb24gc2VhcmNoIGlucHV0cyBpbiBpT1Mgc28gdGhhdCBvdXJcbi8vIGAuZm9ybS1jb250cm9sYCBjbGFzcyBjYW4gcHJvcGVybHkgc3R5bGUgdGhlbS4gTm90ZSB0aGF0IHRoaXMgY2Fubm90IHNpbXBseVxuLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTU4Ni5cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuXG4vLyBTcGVjaWFsIHN0eWxlcyBmb3IgaU9TIHRlbXBvcmFsIGlucHV0c1xuLy9cbi8vIEluIE1vYmlsZSBTYWZhcmksIHNldHRpbmcgYGRpc3BsYXk6IGJsb2NrYCBvbiB0ZW1wb3JhbCBpbnB1dHMgY2F1c2VzIHRoZVxuLy8gdGV4dCB3aXRoaW4gdGhlIGlucHV0IHRvIGJlY29tZSB2ZXJ0aWNhbGx5IG1pc2FsaWduZWQuIEFzIGEgd29ya2Fyb3VuZCwgd2Vcbi8vIHNldCBhIHBpeGVsIGxpbmUtaGVpZ2h0IHRoYXQgbWF0Y2hlcyB0aGUgZ2l2ZW4gaGVpZ2h0IG9mIHRoZSBpbnB1dCwgYnV0IG9ubHlcbi8vIGZvciBTYWZhcmkuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5ODQ4XG4vL1xuLy8gTm90ZSB0aGF0IGFzIG9mIDkuMywgaU9TIGRvZXNuJ3Qgc3VwcG9ydCBgd2Vla2AuXG5cbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4gIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gICAgJi5mb3JtLWNvbnRyb2wge1xuICAgICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgICB9XG5cbiAgICAmLmlucHV0LXNtLFxuICAgIC5pbnB1dC1ncm91cC1zbSAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICAgIH1cblxuICAgICYuaW5wdXQtbGcsXG4gICAgLmlucHV0LWdyb3VwLWxnICYge1xuICAgICAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgfVxuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cblxuLy8gQ2hlY2tib3hlcyBhbmQgcmFkaW9zXG4vL1xuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZyBjb250cm9scy5cblxuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBsYWJlbCB7XG4gICAgbWluLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkOyAvLyBFbnN1cmUgdGhlIGlucHV0IGRvZXNuJ3QganVtcCB3aGVuIHRoZXJlIGlzIG5vIHRleHRcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbi5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gIG1hcmdpbi10b3A6IDRweCBcXDk7XG59XG5cbi5yYWRpbyArIC5yYWRpbyxcbi5jaGVja2JveCArIC5jaGVja2JveCB7XG4gIG1hcmdpbi10b3A6IC01cHg7IC8vIE1vdmUgdXAgc2libGluZyByYWRpb3Mgb3IgY2hlY2tib3hlcyBmb3IgdGlnaHRlciBzcGFjaW5nXG59XG5cbi8vIFJhZGlvcyBhbmQgY2hlY2tib3hlcyBvbiBzYW1lIGxpbmVcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLnJhZGlvLWlubGluZSArIC5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lICsgLmNoZWNrYm94LWlubGluZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4OyAvLyBzcGFjZSBvdXQgY29uc2VjdXRpdmUgaW5saW5lIGNvbnRyb2xzXG59XG5cbi8vIEFwcGx5IHNhbWUgZGlzYWJsZWQgY3Vyc29yIHR3ZWFrIGFzIGZvciBpbnB1dHNcbi8vIFNvbWUgc3BlY2lhbCBjYXJlIGlzIG5lZWRlZCBiZWNhdXNlIDxsYWJlbD5zIGRvbid0IGluaGVyaXQgdGhlaXIgcGFyZW50J3MgYGN1cnNvcmAuXG4vL1xuLy8gTm90ZTogTmVpdGhlciByYWRpb3Mgbm9yIGNoZWNrYm94ZXMgY2FuIGJlIHJlYWRvbmx5LlxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgJltkaXNhYmxlZF0sXG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgZGlyZWN0bHkgb24gPGxhYmVsPnNcbi5yYWRpby1pbmxpbmUsXG4uY2hlY2tib3gtaW5saW5lIHtcbiAgJi5kaXNhYmxlZCxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgfVxufVxuLy8gVGhlc2UgY2xhc3NlcyBhcmUgdXNlZCBvbiBlbGVtZW50cyB3aXRoIDxsYWJlbD4gZGVzY2VuZGFudHNcbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBsYWJlbCB7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhdGljIGZvcm0gY29udHJvbCB0ZXh0XG4vL1xuLy8gQXBwbHkgY2xhc3MgdG8gYSBgcGAgZWxlbWVudCB0byBtYWtlIGFueSBzdHJpbmcgb2YgdGV4dCBhbGlnbiB3aXRoIGxhYmVscyBpblxuLy8gYSBob3Jpem9udGFsIGZvcm0gbGF5b3V0LlxuXG4uZm9ybS1jb250cm9sLXN0YXRpYyB7XG4gIC8vIFNpemUgaXQgYXBwcm9wcmlhdGVseSBuZXh0IHRvIHJlYWwgZm9ybSBjb250cm9sc1xuICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTtcbiAgcGFkZGluZy1ib3R0b206ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGBwYFxuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1iYXNlKTtcblxuICAmLmlucHV0LWxnLFxuICAmLmlucHV0LXNtIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBCdWlsZCBvbiBgLmZvcm0tY29udHJvbGAgd2l0aCBtb2RpZmllciBjbGFzc2VzIHRvIGRlY3JlYXNlIG9yIGluY3JlYXNlIHRoZVxuLy8gaGVpZ2h0IGFuZCBmb250LXNpemUgb2YgZm9ybSBjb250cm9scy5cbi8vXG4vLyBUaGUgYC5mb3JtLWdyb3VwLSogZm9ybS1jb250cm9sYCB2YXJpYXRpb25zIGFyZSBzYWRseSBkdXBsaWNhdGVkIHRvIGF2b2lkIHRoZVxuLy8gaXNzdWUgZG9jdW1lbnRlZCBpbiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE1MDc0LlxuXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtc20nLCAkaW5wdXQtaGVpZ2h0LXNtYWxsLCAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1zbWFsbCwgJGxpbmUtaGVpZ2h0LXNtYWxsLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG4uZm9ybS1ncm91cC1zbSB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1zbWFsbCk7XG4gICAgcGFkZGluZzogKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsICsgMSkgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1zbWFsbDtcbiAgfVxufVxuXG5AaW5jbHVkZSBpbnB1dC1zaXplKCcuaW5wdXQtbGcnLCAkaW5wdXQtaGVpZ2h0LWxhcmdlLCAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbCwgJGZvbnQtc2l6ZS1sYXJnZSwgJGxpbmUtaGVpZ2h0LWxhcmdlLCAkaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG4uZm9ybS1ncm91cC1sZyB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1ib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG4gIHNlbGVjdC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgfVxuICB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsXG4gIHNlbGVjdFttdWx0aXBsZV0uZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgICBtaW4taGVpZ2h0OiAoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkICsgJGZvbnQtc2l6ZS1sYXJnZSk7XG4gICAgcGFkZGluZzogKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICsgMSkgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1sYXJnZTtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmZWVkYmFjayBzdGF0ZXNcbi8vXG4vLyBBcHBseSBjb250ZXh0dWFsIGFuZCBzZW1hbnRpYyBzdGF0ZXMgdG8gaW5kaXZpZHVhbCBmb3JtIGNvbnRyb2xzLlxuXG4uaGFzLWZlZWRiYWNrIHtcbiAgLy8gRW5hYmxlIGFic29sdXRlIHBvc2l0aW9uaW5nXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBFbnN1cmUgaWNvbnMgZG9uJ3Qgb3ZlcmxhcCB0ZXh0XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkaW5wdXQtaGVpZ2h0LWJhc2UgKiAxLjI1KTtcbiAgfVxufVxuLy8gRmVlZGJhY2sgaWNvbiAocmVxdWlyZXMgLmdseXBoaWNvbiBjbGFzc2VzKVxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMjsgLy8gRW5zdXJlIGljb24gaXMgYWJvdmUgaW5wdXQgZ3JvdXBzXG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1iYXNlO1xuICBoZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cbi5pbnB1dC1sZyArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtbGcgLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1sYXJnZTtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1sYXJnZTtcbn1cbi5pbnB1dC1zbSArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXG4uaW5wdXQtZ3JvdXAtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCArIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICB3aWR0aDogJGlucHV0LWhlaWdodC1zbWFsbDtcbiAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGlucHV0LWhlaWdodC1zbWFsbDtcbn1cblxuLy8gRmVlZGJhY2sgc3RhdGVzXG4uaGFzLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtc3VjY2Vzcy10ZXh0LCAkc3RhdGUtc3VjY2Vzcy10ZXh0LCAkc3RhdGUtc3VjY2Vzcy1iZyk7XG59XG4uaGFzLXdhcm5pbmcge1xuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtdmFsaWRhdGlvbigkc3RhdGUtd2FybmluZy10ZXh0LCAkc3RhdGUtd2FybmluZy10ZXh0LCAkc3RhdGUtd2FybmluZy1iZyk7XG59XG4uaGFzLWVycm9yIHtcbiAgQGluY2x1ZGUgZm9ybS1jb250cm9sLXZhbGlkYXRpb24oJHN0YXRlLWRhbmdlci10ZXh0LCAkc3RhdGUtZGFuZ2VyLXRleHQsICRzdGF0ZS1kYW5nZXItYmcpO1xufVxuXG4vLyBSZXBvc2l0aW9uIGZlZWRiYWNrIGljb24gaWYgaW5wdXQgaGFzIHZpc2libGUgbGFiZWwgYWJvdmVcbi5oYXMtZmVlZGJhY2sgbGFiZWwge1xuXG4gICYgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICB0b3A6ICgkbGluZS1oZWlnaHQtY29tcHV0ZWQgKyA1KTsgLy8gSGVpZ2h0IG9mIHRoZSBgbGFiZWxgIGFuZCBpdHMgbWFyZ2luXG4gIH1cbiAgJi5zci1vbmx5IH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbigkdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBmcm9tIGAuZm9ybS1pbmxpbmVgIGZvciBsaWJzYXNzIGNvbXBhdGliaWxpdHlcbkBtaXhpbiBmb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5yYWRpbyxcbiAgICAuY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG4vLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYXMgYEBtaXhpbiBmb3JtLWlubGluZWAgZm9yIGxpYnNhc3MgY29tcGF0aWJpbGl0eVxuLmZvcm0taW5saW5lIHtcbiAgQGluY2x1ZGUgZm9ybS1pbmxpbmU7XG59XG5cblxuXG4vLyBIb3Jpem9udGFsIGZvcm1zXG4vL1xuLy8gSG9yaXpvbnRhbCBmb3JtcyBhcmUgYnVpbHQgb24gZ3JpZCBjbGFzc2VzIGFuZCBhbGxvdyB5b3UgdG8gY3JlYXRlIGZvcm1zIHdpdGhcbi8vIGxhYmVscyBvbiB0aGUgbGVmdCBhbmQgaW5wdXRzIG9uIHRoZSByaWdodC5cblxuLmZvcm0taG9yaXpvbnRhbCB7XG5cbiAgLy8gQ29uc2lzdGVudCB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzXG4gIC8vXG4gIC8vIExhYmVscyBhbHNvIGdldCBzb21lIHJlc2V0IHN0eWxlcywgYnV0IHRoYXQgaXMgc2NvcGVkIHRvIGEgbWVkaWEgcXVlcnkgYmVsb3cuXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gIH1cbiAgLy8gQWNjb3VudCBmb3IgcGFkZGluZyB3ZSdyZSBhZGRpbmcgdG8gZW5zdXJlIHRoZSBhbGlnbm1lbnQgYW5kIG9mIGhlbHAgdGV4dFxuICAvLyBhbmQgb3RoZXIgY29udGVudCBiZWxvdyBpdGVtc1xuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgbWluLWhlaWdodDogKCRsaW5lLWhlaWdodC1jb21wdXRlZCArICgkcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSkpO1xuICB9XG5cbiAgLy8gTWFrZSBmb3JtIGdyb3VwcyBiZWhhdmUgbGlrZSByb3dzXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJvdztcbiAgfVxuXG4gIC8vIFJlc2V0IHNwYWNpbmcgYW5kIHJpZ2h0IGFsaWduIGxhYmVscywgYnV0IHNjb3BlIHRvIG1lZGlhIHF1ZXJpZXMgc28gdGhhdFxuICAvLyBsYWJlbHMgb24gbmFycm93IHZpZXdwb3J0cyBzdGFjayB0aGUgc2FtZSBhcyBhIGRlZmF1bHQgZm9ybSBleGFtcGxlLlxuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLXRvcDogKCRwYWRkaW5nLWJhc2UtdmVydGljYWwgKyAxKTsgLy8gRGVmYXVsdCBwYWRkaW5nIHBsdXMgYSBib3JkZXJcbiAgICB9XG4gIH1cblxuICAvLyBWYWxpZGF0aW9uIHN0YXRlc1xuICAvL1xuICAvLyBSZXBvc2l0aW9uIHRoZSBpY29uIGJlY2F1c2UgaXQncyBub3cgd2l0aGluIGEgZ3JpZCBjb2x1bW4gYW5kIGNvbHVtbnMgaGF2ZVxuICAvLyBgcG9zaXRpb246IHJlbGF0aXZlO2Agb24gdGhlbS4gQWxzbyBhY2NvdW50cyBmb3IgdGhlIGdyaWQgZ3V0dGVyIHBhZGRpbmcuXG4gIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cblxuICAvLyBGb3JtIGdyb3VwIHNpemVzXG4gIC8vXG4gIC8vIFF1aWNrIHV0aWxpdHkgY2xhc3MgZm9yIGFwcGx5aW5nIGAuaW5wdXQtbGdgIGFuZCBgLmlucHV0LXNtYCBzdHlsZXMgdG8gdGhlXG4gIC8vIGlucHV0cyBhbmQgbGFiZWxzIHdpdGhpbiBhIGAuZm9ybS1ncm91cGAuXG4gIC5mb3JtLWdyb3VwLWxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWdyb3VwLXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICgkcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuQG1peGluIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCR0ZXh0LWNvbG9yOiAjNTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuaGVscC1ibG9jayxcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lLFxuICAmLnJhZGlvIGxhYmVsLFxuICAmLmNoZWNrYm94IGxhYmVsLFxuICAmLnJhZGlvLWlubGluZSBsYWJlbCxcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcbiAgICBjb2xvcjogJHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpKTsgLy8gUmVkZWNsYXJlIHNvIHRyYW5zaXRpb25zIHdvcmtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRib3JkZXItY29sb3IsIDEwJSk7XG4gICAgICAkc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKCRib3JkZXItY29sb3IsIDIwJSk7XG4gICAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBTZXQgdmFsaWRhdGlvbiBzdGF0ZXMgYWxzbyBmb3IgYWRkb25zXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgY29sb3I6ICR0ZXh0LWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvcjtcbiAgfVxuICAvLyBPcHRpb25hbCBmZWVkYmFjayBpY29uXG4gIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIGNvbG9yOiAkdGV4dC1jb2xvcjtcbiAgfVxufVxuXG5cbi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1ib3JkZXItZm9jdXNgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCRjb2xvcjogJGlucHV0LWJvcmRlci1mb2N1cykge1xuICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGNvbG9yKSwgZ3JlZW4oJGNvbG9yKSwgYmx1ZSgkY29sb3IpLCAuNik7XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIG91dGxpbmU6IDA7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCAkY29sb3ItcmdiYSk7XG4gIH1cbn1cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIFJlbGF0aXZlIHRleHQgc2l6ZSwgcGFkZGluZywgYW5kIGJvcmRlci1yYWRpaSBjaGFuZ2VzIGZvciBmb3JtIGNvbnRyb2xzLiBGb3Jcbi8vIGhvcml6b250YWwgc2l6aW5nLCB3cmFwIGNvbnRyb2xzIGluIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy4gYDxzZWxlY3Q+YFxuLy8gZWxlbWVudCBnZXRzIHNwZWNpYWwgbG92ZSBiZWNhdXNlIGl0J3Mgc3BlY2lhbCwgYW5kIHRoYXQncyBhIGZhY3QhXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy12ZXJ0aWNhbCAkcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgc2VsZWN0I3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0O1xuICB9XG5cbiAgdGV4dGFyZWEjeyRwYXJlbnR9LFxuICBzZWxlY3RbbXVsdGlwbGVdI3skcGFyZW50fSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCIvL1xuLy8gQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gRm9yIGlucHV0LmJ0blxuICBmb250LXdlaWdodDogJGJ0bi1mb250LXdlaWdodDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZXNldCB1bnVzdWFsIEZpcmVmb3gtb24tQW5kcm9pZCBkZWZhdWx0IHN0eWxlOyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcy9pc3N1ZXMvMjE0XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZy1iYXNlLXZlcnRpY2FsLCAkcGFkZGluZy1iYXNlLWhvcml6b250YWwsICRmb250LXNpemUtYmFzZSwgJGxpbmUtaGVpZ2h0LWJhc2UsICRidG4tYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgQGluY2x1ZGUgdXNlci1zZWxlY3Qobm9uZSk7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgQGluY2x1ZGUgdGFiLWZvY3VzO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiAkYnRuLWRlZmF1bHQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC42NSk7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmJ0blxufVxuXG5hLmJ0biB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgLy8gRnV0dXJlLXByb29mIGRpc2FibGluZyBvZiBjbGlja3Mgb24gYDxhPmAgZWxlbWVudHNcbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWRlZmF1bHQge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWRlZmF1bHQtY29sb3IsICRidG4tZGVmYXVsdC1iZywgJGJ0bi1kZWZhdWx0LWJvcmRlcik7XG59XG4uYnRuLXByaW1hcnkge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlcik7XG59XG4vLyBTdWNjZXNzIGFwcGVhcnMgYXMgZ3JlZW5cbi5idG4tc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tc3VjY2Vzcy1jb2xvciwgJGJ0bi1zdWNjZXNzLWJnLCAkYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXG4uYnRuLWluZm8ge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlcik7XG59XG4vLyBXYXJuaW5nIGFwcGVhcnMgYXMgb3JhbmdlXG4uYnRuLXdhcm5pbmcge1xuICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXdhcm5pbmctY29sb3IsICRidG4td2FybmluZy1iZywgJGJ0bi13YXJuaW5nLWJvcmRlcik7XG59XG4vLyBEYW5nZXIgYW5kIGVycm9yIGFwcGVhciBhcyByZWRcbi5idG4tZGFuZ2VyIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kYW5nZXItY29sb3IsICRidG4tZGFuZ2VyLWJnLCAkYnRuLWRhbmdlci1ib3JkZXIpO1xufVxuXG5cbi8vIExpbmsgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO1xuICB9XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICY6YWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLWhvdmVyLWRlY29yYXRpb247XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRidG4tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCdXR0b24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tbGcge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIGV2ZW4tbnVtYmVyZWQgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIGxhcmdlIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLWxhcmdlLXZlcnRpY2FsLCAkcGFkZGluZy1sYXJnZS1ob3Jpem9udGFsLCAkZm9udC1zaXplLWxhcmdlLCAkbGluZS1oZWlnaHQtbGFyZ2UsICRidG4tYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG4uYnRuLXNtIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBwcm9wZXIgaGVpZ2h0IG9mIGJ1dHRvbiBuZXh0IHRvIHNtYWxsIGlucHV0XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXNtYWxsLXZlcnRpY2FsLCAkcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsLCAkZm9udC1zaXplLXNtYWxsLCAkbGluZS1oZWlnaHQtc21hbGwsICRidG4tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uYnRuLXhzIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmcteHMtdmVydGljYWwsICRwYWRkaW5nLXhzLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJ0bi1ib3JkZXItcmFkaXVzLXNtYWxsKTtcbn1cblxuXG4vLyBCbG9jayBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4tYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIFZlcnRpY2FsbHkgc3BhY2Ugb3V0IG11bHRpcGxlIGJsb2NrIGJ1dHRvbnNcbi5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgbWFyZ2luLXRvcDogNXB4O1xufVxuXG4vLyBTcGVjaWZpY2l0eSBvdmVycmlkZXNcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdIHtcbiAgJi5idG4tYmxvY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBCdXR0b24gdmFyaWFudHNcbi8vXG4vLyBFYXNpbHkgcHVtcCBvdXQgZGVmYXVsdCBzdHlsZXMsIGFzIHdlbGwgYXMgOmhvdmVyLCA6Zm9jdXMsIDphY3RpdmUsXG4vLyBhbmQgZGlzYWJsZWQgb3B0aW9ucyBmb3IgYWxsIGJ1dHRvbnNcblxuQG1peGluIGJ1dHRvbi12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQsICRib3JkZXIpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMjUlKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGJvcmRlciwgMTIlKTtcbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiYWNrZ3JvdW5kLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMiUpO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTclKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAyNSUpO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLmJhZGdlIHtcbiAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXZlcnRpY2FsICRwYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG59XG4iLCIvLyBPcGFjaXR5XG5cbkBtaXhpbiBvcGFjaXR5KCRvcGFjaXR5KSB7XG4gIG9wYWNpdHk6ICRvcGFjaXR5O1xuICAvLyBJRTggZmlsdGVyXG4gICRvcGFjaXR5LWllOiAoJG9wYWNpdHkgKiAxMDApO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9JG9wYWNpdHktaWUpO1xufVxuIiwiLy9cbi8vIENvbXBvbmVudCBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIZWFkcyB1cCFcbi8vXG4vLyBXZSBkb24ndCB1c2UgdGhlIGAub3BhY2l0eSgpYCBtaXhpbiBoZXJlIHNpbmNlIGl0IGNhdXNlcyBhIGJ1ZyB3aXRoIHRleHRcbi8vIGZpZWxkcyBpbiBJRTctOC4gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8zNTUyLlxuXG4uZmFkZSB7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAuMTVzIGxpbmVhcik7XG4gICYuaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICAmLmluICAgICAgeyBkaXNwbGF5OiBibG9jazsgfVxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgdHImLmluIHRvIHRyLmNvbGxhcHNlLmluXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCB0Ym9keSYuaW4gdG8gdGJvZHkuY29sbGFwc2UuaW5cbn1cblxudHIuY29sbGFwc2UuaW4gICAgeyBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cblxudGJvZHkuY29sbGFwc2UuaW4geyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eShoZWlnaHQsIHZpc2liaWxpdHkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKC4zNXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihlYXNlKTtcbn1cbiIsIi8vXG4vLyBEcm9wZG93biBtZW51c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBEcm9wZG93biBhcnJvdy9jYXJldFxuLmNhcmV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXItdG9wOiAgICRjYXJldC13aWR0aC1iYXNlIGRhc2hlZDtcbiAgYm9yZGVyLXRvcDogICAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCBcXDk7IC8vIElFOFxuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogICRjYXJldC13aWR0aC1iYXNlIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG4vLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoZGl2KVxuLmRyb3B1cCxcbi5kcm9wZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8gUHJldmVudCB0aGUgZm9jdXMgb24gdGhlIGRyb3Bkb3duIHRvZ2dsZSB3aGVuIGNsb3NpbmcgZHJvcGRvd25zXG4uZHJvcGRvd24tdG9nZ2xlOmZvY3VzIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnUgKHVsKVxuLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1kcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEVuc3VyZXMgcHJvcGVyIGFsaWdubWVudCBpZiBwYXJlbnQgaGFzIGl0IGNoYW5nZWQgKGUuZy4sIG1vZGFsIGZvb3RlcilcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOyAvLyBJRTggZmFsbGJhY2tcbiAgYm9yZGVyOiAxcHggc29saWQgJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXMtYmFzZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDZweCAxMnB4IHJnYmEoMCwwLDAsLjE3NSkpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gIC8vIEFsaWducyB0aGUgZHJvcGRvd24gbWVudSB0byByaWdodFxuICAvL1xuICAvLyBEZXByZWNhdGVkIGFzIG9mIDMuMS4wIGluIGZhdm9yIG9mIGAuZHJvcGRvd24tbWVudS1bZGlyXWBcbiAgJi5wdWxsLXJpZ2h0IHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIHRoZSBkcm9wZG93blxuICAuZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgbmF2LWRpdmlkZXIoJGRyb3Bkb3duLWRpdmlkZXItYmcpO1xuICB9XG5cbiAgLy8gTGlua3Mgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAzcHggMjBweDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIH1cbn1cblxuLy8gSG92ZXIvRm9jdXMgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tbGluay1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBBY3RpdmUgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBzdGF0ZVxuLy9cbi8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG5cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC8vIE51a2UgaG92ZXIvZm9jdXMgZWZmZWN0c1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIENTUyBncmFkaWVudFxuICAgIEBpbmNsdWRlIHJlc2V0LWZpbHRlcjtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cblxuLy8gT3BlbiBzdGF0ZSBmb3IgdGhlIGRyb3Bkb3duXG4ub3BlbiB7XG4gIC8vIFNob3cgdGhlIG1lbnVcbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXG4gID4gYSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBNZW51IHBvc2l0aW9uaW5nXG4vL1xuLy8gQWRkIGV4dHJhIGNsYXNzIHRvIGAuZHJvcGRvd24tbWVudWAgdG8gZmxpcCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93blxuLy8gbWVudSB3aXRoIHRoZSBwYXJlbnQuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxuICByaWdodDogMDtcbn1cbi8vIFdpdGggdjMsIHdlIGVuYWJsZWQgYXV0by1mbGlwcGluZyBpZiB5b3UgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiBhIHJpZ2h0XG4vLyBhbGlnbmVkIG5hdiBjb21wb25lbnQuIFRvIGVuYWJsZSB0aGUgdW5kb2luZyBvZiB0aGF0LCB3ZSBwcm92aWRlIGFuIG92ZXJyaWRlXG4vLyB0byByZXN0b3JlIHRoZSBkZWZhdWx0IGRyb3Bkb3duIG1lbnUgYWxpZ25tZW50LlxuLy9cbi8vIFRoaXMgaXMgb25seSBmb3IgbGVmdC1hbGlnbmluZyBhIGRyb3Bkb3duIG1lbnUgd2l0aGluIGEgYC5uYXZiYXItcmlnaHRgIG9yXG4vLyBgLnB1bGwtcmlnaHRgIG5hdiBjb21wb25lbnQuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6ICgkemluZGV4LWRyb3Bkb3duIC0gMTApO1xufVxuXG4vLyBSaWdodCBhbGlnbmVkIGRyb3Bkb3duc1xuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQsIGJyby5cbi8vIFRPRE86IGFic3RyYWN0IHRoaXMgc28gdGhhdCB0aGUgbmF2YmFyIGZpeGVkIHN0eWxlcyBhcmUgbm90IHBsYWNlZCBoZXJlP1xuXG4uZHJvcHVwLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIHtcbiAgLy8gUmV2ZXJzZSB0aGUgY2FyZXRcbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aC1iYXNlIGRhc2hlZDtcbiAgICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCBcXDk7IC8vIElFOFxuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbiAgLy8gRGlmZmVyZW50IHBvc2l0aW9uaW5nIGZvciBib3R0b20gdXAgbWVudVxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIH1cbn1cblxuXG4vLyBDb21wb25lbnQgYWxpZ25tZW50XG4vL1xuLy8gUmVpdGVyYXRlIHBlciBuYXZiYXIubGVzcyBhbmQgdGhlIG1vZGlmaWVkIGNvbXBvbmVudCBhbGlnbm1lbnQgdGhlcmUuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItcmlnaHQge1xuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHJpZ2h0OiAwOyBsZWZ0OiBhdXRvO1xuICAgIH1cbiAgICAvLyBOZWNlc3NhcnkgZm9yIG92ZXJyaWRlcyBvZiB0aGUgZGVmYXVsdCByaWdodCBhbGlnbmVkIG1lbnUuXG4gICAgLy8gV2lsbCByZW1vdmUgY29tZSB2NCBpbiBhbGwgbGlrZWxpaG9vZC5cbiAgICAuZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgICAgIGxlZnQ6IDA7IHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoJGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMikgLSAxKSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG59XG4iLCIvLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLy9cbi8vIFdoZW4geW91IG5lZWQgdG8gcmVtb3ZlIGEgZ3JhZGllbnQgYmFja2dyb3VuZCwgZG8gbm90IGZvcmdldCB0byB1c2UgdGhpcyB0byByZXNldFxuLy8gdGhlIElFIGZpbHRlciBmb3IgSUU5IGFuZCBiZWxvdy5cblxuQG1peGluIHJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKTtcbn1cbiIsIi8vXG4vLyBCdXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIHRoZSBkaXYgYmVoYXZlIGxpa2UgYSBidXR0b25cbi5idG4tZ3JvdXAsXG4uYnRuLWdyb3VwLXZlcnRpY2FsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG4gID4gLmJ0biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbn1cblxuLy8gUHJldmVudCBkb3VibGUgYm9yZGVycyB3aGVuIGJ1dHRvbnMgYXJlIG5leHQgdG8gZWFjaCBvdGhlclxuLmJ0bi1ncm91cCB7XG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxufVxuXG4vLyBPcHRpb25hbDogR3JvdXAgbXVsdGlwbGUgYnV0dG9uIGdyb3VwcyB0b2dldGhlciBmb3IgYSB0b29sYmFyXG4uYnRuLXRvb2xiYXIge1xuICBtYXJnaW4tbGVmdDogLTVweDsgLy8gT2Zmc2V0IHRoZSBmaXJzdCBjaGlsZCdzIG1hcmdpblxuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAuYnRuLFxuICAuYnRuLWdyb3VwLFxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5pbnB1dC1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4uYnRuLWdyb3VwID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFNldCBjb3JuZXJzIGluZGl2aWR1YWwgYmVjYXVzZSBzb21ldGltZXMgYSBzaW5nbGUgYnV0dG9uIGNhbiBiZSBpbiBhIC5idG4tZ3JvdXAgYW5kIHdlIG5lZWQgOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1jaGlsZCB0byBib3RoIG1hdGNoXG4uYnRuLWdyb3VwID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSwgZ2l2ZW4gdGhhdCBhIC5kcm9wZG93bi1tZW51IGlzIHVzZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgaXRcbi5idG4tZ3JvdXAgPiAuYnRuOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gQ3VzdG9tIGVkaXRzIGZvciBpbmNsdWRpbmcgYnRuLWdyb3VwcyB3aXRoaW4gYnRuLWdyb3VwcyAodXNlZnVsIGZvciBpbmNsdWRpbmcgZHJvcGRvd24gYnV0dG9ucyB3aXRoaW4gYSBidG4tZ3JvdXApXG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cCB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC14cyA+IC5idG4geyBAZXh0ZW5kIC5idG4teHM7IH1cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgQGV4dGVuZCAuYnRuLXNtOyB9XG4uYnRuLWdyb3VwLWxnID4gLmJ0biB7IEBleHRlbmQgLmJ0bi1sZzsgfVxuXG5cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgbGluZSBiZXR3ZWVuIGJ1dHRvbnMgc29tZSBkZXB0aFxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxnICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbn1cblxuLy8gVGhlIGNsaWNrYWJsZSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBtZW51XG4vLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuXG4gIC8vIFNob3cgbm8gc2hhZG93IGZvciBgLmJ0bi1saW5rYCBzaW5jZSBpdCBoYXMgbm8gb3RoZXIgYnV0dG9uIHN0eWxlcy5cbiAgJi5idG4tbGluayB7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6ICRjYXJldC13aWR0aC1sYXJnZSAkY2FyZXQtd2lkdGgtbGFyZ2UgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCAkY2FyZXQtd2lkdGgtbGFyZ2UgJGNhcmV0LXdpZHRoLWxhcmdlO1xufVxuXG5cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDbGVhciBmbG9hdHMgc28gZHJvcGRvd24gbWVudXMgY2FuIGJlIHByb3Blcmx5IHBsYWNlZFxuICA+IC5idG4tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgID4gLmJ0biB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICA+IC5idG4gKyAuYnRuLFxuICA+IC5idG4gKyAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKDApO1xuICB9XG4gICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICB9XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gSnVzdGlmaWVkIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuICA+IC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xufVxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG59XG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbn1cbiIsIi8vXG4vLyBJbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBkcm9wZG93bnNcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8vIHByZXZlbnQgaW5wdXQgZ3JvdXBzIGZyb20gaW5oZXJpdGluZyBib3JkZXIgc3R5bGVzIGZyb20gdGFibGUgY2VsbHMgd2hlbiBwbGFjZWQgd2l0aGluIGEgdGFibGVcblxuICAvLyBVbmRvIHBhZGRpbmcgYW5kIGZsb2F0IG9mIGdyaWQgY2xhc3Nlc1xuICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBJRTkgZnViYXJzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgaW4gdGV4dCBpbnB1dHMgYW5kIHRoZSBhcnJvd3Mgb25cbiAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTYxI2lzc3VlY29tbWVudC0yODkzNjg1NVxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICB9XG4gIH1cbn1cblxuLy8gU2l6aW5nIG9wdGlvbnNcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBmb3JtIGNvbnRyb2wgc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyXG4vLyBtYW5pcHVsYXRpb24uXG5cbi5pbnB1dC1ncm91cC1sZyA+IC5mb3JtLWNvbnRyb2wsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7XG4gIEBleHRlbmQgLmlucHV0LWxnO1xufVxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgQGV4dGVuZCAuaW5wdXQtc207XG59XG5cblxuLy8gRGlzcGxheSBhcyB0YWJsZS1jZWxsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAtYWRkb24sXG4uaW5wdXQtZ3JvdXAtYnRuLFxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG4gICY6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLy8gQWRkb24gYW5kIGFkZG9uIHdyYXBwZXIgZm9yIGJ1dHRvbnNcbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4ge1xuICB3aWR0aDogMSU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIE1hdGNoIHRoZSBpbnB1dHNcbn1cblxuLy8gVGV4dCBpbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbiB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcblxuICAvLyBTaXppbmdcbiAgJi5pbnB1dC1zbSB7XG4gICAgcGFkZGluZzogJHBhZGRpbmctc21hbGwtdmVydGljYWwgJHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGw7XG4gIH1cbiAgJi5pbnB1dC1sZyB7XG4gICAgcGFkZGluZzogJHBhZGRpbmctbGFyZ2UtdmVydGljYWwgJHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtbGFyZ2U7XG4gICAgYm9yZGVyLXJhZGl1czogJGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIH1cblxuICAvLyBOdWtlIGRlZmF1bHQgbWFyZ2lucyBmcm9tIGNoZWNrYm94ZXMgYW5kIHJhZGlvcyB0byB2ZXJ0aWNhbGx5IGNlbnRlciB3aXRoaW4uXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLWdyb3VwID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCxcbi5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bixcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuIHtcbiAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy8gQnV0dG9uIGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gSmFua2lseSBwcmV2ZW50IGlucHV0IGJ1dHRvbiBncm91cHMgZnJvbSB3cmFwcGluZyB3aXRoIGB3aGl0ZS1zcGFjZWAgYW5kXG4gIC8vIGBmb250LXNpemVgIGluIGNvbWJpbmF0aW9uIHdpdGggYGlubGluZS1ibG9ja2Agb24gYnV0dG9ucy5cbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3Igc3BhY2luZywgcG9zaXRpb24gZm9yIGJyaW5naW5nIGhvdmVyZWQvZm9jdXNlZC9hY3RpdmVkXG4gIC8vIGVsZW1lbnQgYWJvdmUgdGhlIHNpYmxpbmdzLlxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gdG8gb25seSBoYXZlIGEgMXB4IGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTmF2c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHVsL29sXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6ICRuYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZSBzZXRzIHRleHQgdG8gZ3JheSBhbmQgbnVrZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogJG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPcGVuIGRyb3Bkb3duc1xuICAub3BlbiA+IGEge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJGxpbmstY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2IGRpdmlkZXJzIChkZXByZWNhdGVkIHdpdGggdjMuMC4xKVxuICAvL1xuICAvLyBUaGlzIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2MyB3aXRoIHRoZSBkcm9wcGluZyBvZiBgLm5hdi1saXN0YCwgYnV0XG4gIC8vIHdlIG1pc3NlZCBpdC4gV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBhbnl3aGVyZSwgYnV0IGluIHRoZSBpbnRlcmVzdFxuICAvLyBvZiBtYWludGFpbmluZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGluIGNhc2UgeW91IHVzZSBpdCwgaXQncyBkZXByZWNhdGVkLlxuICAubmF2LWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIG5hdi1kaXZpZGVyO1xuICB9XG5cbiAgLy8gUHJldmVudCBJRTggZnJvbSBtaXNwbGFjaW5nIGltZ3NcbiAgLy9cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy85ODQjaXNzdWVjb21tZW50LTM5ODU5ODlcbiAgPiBsaSA+IGEgPiBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIFRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgdGFicyBzb21ldGhpbmcgdG8gc2l0IG9uXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gTWFrZSB0aGUgbGlzdC1pdGVtcyBvdmVybGF5IHRoZSBib3R0b20gYm9yZGVyXG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcblxuICAgIC8vIEFjdHVhbCB0YWJzIChhcyBsaW5rcylcbiAgICA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2UgJGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yICRuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXRzIDpob3ZlciB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcHVsbGluZyB0aGlzIGluIG1haW5seSBmb3IgbGVzcyBzaG9ydGhhbmRcbiAgJi5uYXYtanVzdGlmaWVkIHtcbiAgICBAZXh0ZW5kIC5uYXYtanVzdGlmaWVkO1xuICAgIEBleHRlbmQgLm5hdi10YWJzLWp1c3RpZmllZDtcbiAgfVxufVxuXG5cbi8vIFBpbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LXBpbGxzIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xuICAgID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhY2tlZCBwaWxsc1xuLm5hdi1zdGFja2VkIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gbm8gbmVlZCBmb3IgdGhpcyBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgdmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSnVzdGlmaWVkIG5hdiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgID4gYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgPiBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW92ZSBib3JkZXJzIHRvIGFuY2hvcnMgaW5zdGVhZCBvZiBib3R0b20gb2YgbGlzdFxuLy9cbi8vIE1peGluIGZvciBhZGRpbmcgb24gdG9wIHRoZSBzaGFyZWQgYC5uYXYtanVzdGlmaWVkYCBzdHlsZXMgZm9yIG91ciB0YWJzXG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA+IGxpID4gYSB7XG4gICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZyb20gLm5hdi10YWJzXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlICRib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhLFxuICAgID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTcGVjaWZpYyBkcm9wZG93bnNcbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIC8vIG1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICBtYXJnaW4tdG9wOiAtMXB4O1xuICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbn1cbiIsIi8vXG4vLyBOYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFdyYXBwZXIgYW5kIGJhc2UgY2xhc3Ncbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6ICRuYXZiYXItaGVpZ2h0OyAvLyBFbnN1cmUgYSBuYXZiYXIgYWx3YXlzIHNob3dzIChlLmcuLCB3aXRob3V0IGEgLm5hdmJhci1icmFuZCBpbiBjb2xsYXBzZWQgbW9kZSlcbiAgbWFyZ2luLWJvdHRvbTogJG5hdmJhci1tYXJnaW4tYm90dG9tO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAvLyBQcmV2ZW50IGZsb2F0cyBmcm9tIGJyZWFraW5nIHRoZSBuYXZiYXJcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkbmF2YmFyLWJvcmRlci1yYWRpdXM7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgaGVhZGluZ1xuLy9cbi8vIEdyb3VwcyBgLm5hdmJhci1icmFuZGAgYW5kIGAubmF2YmFyLXRvZ2dsZWAgaW50byBhIHNpbmdsZSBjb21wb25lbnQgZm9yIGVhc3lcbi8vIHN0eWxpbmcgb2YgcmVzcG9uc2l2ZSBhc3BlY3RzLlxuXG4ubmF2YmFyLWhlYWRlciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgY29sbGFwc2UgKGJvZHkpXG4vL1xuLy8gR3JvdXAgeW91ciBuYXZiYXIgY29udGVudCBpbnRvIHRoaXMgZm9yIGVhc3kgY29sbGFwc2luZyBhbmQgZXhwYW5kaW5nIGFjcm9zc1xuLy8gdmFyaW91cyBkZXZpY2Ugc2l6ZXMuIEJ5IGRlZmF1bHQsIHRoaXMgY29udGVudCBpcyBjb2xsYXBzZWQgd2hlbiA8NzY4cHgsIGJ1dFxuLy8gd2lsbCBleHBhbmQgcGFzdCB0aGF0IGZvciBhIGhvcml6b250YWwgZGlzcGxheS5cbi8vXG4vLyBUbyBzdGFydCAob24gbW9iaWxlIGRldmljZXMpIHRoZSBuYXZiYXIgbGlua3MsIGZvcm1zLCBhbmQgYnV0dG9ucyBhcmUgc3RhY2tlZFxuLy8gdmVydGljYWxseSBhbmQgaW5jbHVkZSBhIGBtYXgtaGVpZ2h0YCB0byBvdmVyZmxvdyBpbiBjYXNlIHlvdSBoYXZlIHRvbyBtdWNoXG4vLyBjb250ZW50IGZvciB0aGUgdXNlcidzIHZpZXdwb3J0LlxuXG4ubmF2YmFyLWNvbGxhcHNlIHtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgcGFkZGluZy1yaWdodDogJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmctbGVmdDogICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgJi5pbiB7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDsgLy8gT3ZlcnJpZGUgZGVmYXVsdCBzZXR0aW5nXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuaW4ge1xuICAgICAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBVbmRvIHRoZSBjb2xsYXBzZSBzaWRlIHBhZGRpbmcgZm9yIG5hdmJhcnMgd2l0aCBjb250YWluZXJzIHRvIGVuc3VyZVxuICAgIC8vIGFsaWdubWVudCBvZiByaWdodC1hbGlnbmVkIGNvbnRlbnRzLlxuICAgIC5uYXZiYXItZml4ZWQtdG9wICYsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wICYsXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWF4LWhlaWdodDogJG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0O1xuXG4gICAgQG1lZGlhIChtYXgtZGV2aWNlLXdpZHRoOiAkc2NyZWVuLXhzLW1pbikgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3RoIG5hdmJhciBoZWFkZXIgYW5kIGNvbGxhcHNlXG4vL1xuLy8gV2hlbiBhIGNvbnRhaW5lciBpcyBwcmVzZW50LCBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIHRoZSBoZWFkZXIgYW5kIGNvbGxhcHNlLlxuXG4uY29udGFpbmVyLFxuLmNvbnRhaW5lci1mbHVpZCB7XG4gID4gLm5hdmJhci1oZWFkZXIsXG4gID4gLm5hdmJhci1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLWxlZnQ6ICAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBOYXZiYXIgYWxpZ25tZW50IG9wdGlvbnNcbi8vXG4vLyBEaXNwbGF5IHRoZSBuYXZiYXIgYWNyb3NzIHRoZSBlbnRpcmV0eSBvZiB0aGUgcGFnZSBvciBmaXhlZCBpdCB0byB0aGUgdG9wIG9yXG4vLyBib3R0b20gb2YgdGhlIHBhZ2UuXG5cbi8vIFN0YXRpYyB0b3AgKHVuZml4ZWQsIGJ1dCAxMDAlIHdpZGUpIG5hdmJhclxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgei1pbmRleDogJHppbmRleC1uYXZiYXI7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gIH1cbn1cblxuLy8gRml4IHRoZSB0b3AvYm90dG9tIG5hdmJhcnMgd2hlbiBzY3JlZW4gcmVhbCBlc3RhdGUgc3VwcG9ydHMgaXRcbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW5hdmJhci1maXhlZDtcblxuICAvLyBVbmRvIHRoZSByb3VuZGVkIGNvcm5lcnNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbiAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4O1xufVxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBib3R0b206IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIG92ZXJyaWRlIC5uYXZiYXIgZGVmYXVsdHNcbiAgYm9yZGVyLXdpZHRoOiAxcHggMCAwO1xufVxuXG5cbi8vIEJyYW5kL3Byb2plY3QgbmFtZVxuXG4ubmF2YmFyLWJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmc6ICRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWxhcmdlO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBoZWlnaHQ6ICRuYXZiYXItaGVpZ2h0O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gID4gaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgLm5hdmJhciA+IC5jb250YWluZXIgJixcbiAgICAubmF2YmFyID4gLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIHRvZ2dsZVxuLy9cbi8vIEN1c3RvbSBidXR0b24gZm9yIHRvZ2dsaW5nIHRoZSBgLm5hdmJhci1jb2xsYXBzZWAsIHBvd2VyZWQgYnkgdGhlIGNvbGxhcHNlXG4vLyBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLm5hdmJhci10b2dnbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLXJpZ2h0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgcGFkZGluZzogOXB4IDEwcHg7XG4gIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigzNHB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlc2V0IHVudXN1YWwgRmlyZWZveC1vbi1BbmRyb2lkIGRlZmF1bHQgc3R5bGU7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzL2lzc3Vlcy8yMTRcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gV2UgcmVtb3ZlIHRoZSBgb3V0bGluZWAgaGVyZSwgYnV0IGxhdGVyIGNvbXBlbnNhdGUgYnkgYXR0YWNoaW5nIGA6aG92ZXJgXG4gIC8vIHN0eWxlcyB0byBgOmZvY3VzYC5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8vIEJhcnNcbiAgLmljb24tYmFyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxcHg7XG4gIH1cbiAgLmljb24tYmFyICsgLmljb24tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgbmF2IGxpbmtzXG4vL1xuLy8gQnVpbGRzIG9uIHRvcCBvZiB0aGUgYC5uYXZgIGNvbXBvbmVudHMgd2l0aCBpdHMgb3duIG1vZGlmaWVyIGNsYXNzIHRvIG1ha2Vcbi8vIHRoZSBuYXYgdGhlIGZ1bGwgaGVpZ2h0IG9mIHRoZSBob3Jpem9udGFsIG5hdiAoYWJvdmUgNzY4cHgpLlxuXG4ubmF2YmFyLW5hdiB7XG4gIG1hcmdpbjogKCRuYXZiYXItcGFkZGluZy12ZXJ0aWNhbCAvIDIpICgtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWwpO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLSRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgJHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkc2hhZG93KTtcblxuICAvLyBNaXhpbiBiZWhhdmlvciBmb3Igb3B0aW11bSBkaXNwbGF5XG4gIEBpbmNsdWRlIGZvcm0taW5saW5lO1xuXG4gIC5mb3JtLWdyb3VwIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBpbiBleHBhbmRlZCwgaG9yaXpvbnRhbCBuYXZiYXJcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgLy8gVW5kbyAxMDAlIHdpZHRoIGZvciBwdWxsIGNsYXNzZXNcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0IHN1cHBvcnQgZm9yIGRyb3B1cHMgdmlhIGV4dHJhIGRyb3B1cCBjbGFzc1xuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJG5hdmJhci1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG59XG5cblxuLy8gQnV0dG9ucyBpbiBuYXZiYXJzXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXG5cbi5uYXZiYXItYnRuIHtcbiAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRpbnB1dC1oZWlnaHQtYmFzZSk7XG5cbiAgJi5idG4tc20ge1xuICAgIEBpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkaW5wdXQtaGVpZ2h0LXNtYWxsKTtcbiAgfVxuICAmLmJ0bi14cyB7XG4gICAgQGluY2x1ZGUgbmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcbiAgfVxufVxuXG5cbi8vIFRleHQgaW4gbmF2YmFyc1xuLy9cbi8vIEFkZCBhIGNsYXNzIHRvIG1ha2UgYW55IGVsZW1lbnQgcHJvcGVybHkgYWxpZ24gaXRzZWxmIHZlcnRpY2FsbHkgd2l0aGluIHRoZSBuYXZiYXJzLlxuXG4ubmF2YmFyLXRleHQge1xuICBAaW5jbHVkZSBuYXZiYXItdmVydGljYWwtYWxpZ24oJGxpbmUtaGVpZ2h0LWNvbXB1dGVkKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAkbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICB9XG59XG5cblxuLy8gQ29tcG9uZW50IGFsaWdubWVudFxuLy9cbi8vIFJlcHVycG9zZSB0aGUgcHVsbCB1dGlsaXRpZXMgYXMgdGhlaXIgb3duIG5hdmJhciB1dGlsaXRpZXMgdG8gYXZvaWQgc3BlY2lmaWNpdHlcbi8vIGlzc3VlcyB3aXRoIHBhcmVudHMgYW5kIGNoYWluaW5nLiBPbmx5IGRvIHRoaXMgd2hlbiB0aGUgbmF2YmFyIGlzIHVuY29sbGFwc2VkXG4vLyB0aG91Z2ggc28gdGhhdCBuYXZiYXIgY29udGVudHMgcHJvcGVybHkgc3RhY2sgYW5kIGFsaWduIGluIG1vYmlsZS5cbi8vXG4vLyBEZWNsYXJlZCBhZnRlciB0aGUgbmF2YmFyIGNvbXBvbmVudHMgdG8gZW5zdXJlIG1vcmUgc3BlY2lmaWNpdHkgb24gdGhlIG1hcmdpbnMuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gIC5uYXZiYXItbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuICAubmF2YmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiAtJG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBuYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IG5hdmJhclxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWJnO1xuICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6ICRuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGlua3MgaW4gbmF2YmFyc1xuICAvL1xuICAvLyBBZGQgYSBjbGFzcyB0byBlbnN1cmUgbGlua3Mgb3V0c2lkZSB0aGUgbmF2YmFyIG5hdiBhcmUgY29sb3JlZCBjb3JyZWN0bHkuXG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVyc2UgbmF2YmFyXG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1iZztcbiAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGFya2VuIHRoZSByZXNwb25zaXZlIG5hdiB0b2dnbGVcbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogJG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLm5hdmJhci1uYXYge1xuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogJGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6ICRuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuXG5AbWl4aW4gbmF2YmFyLXZlcnRpY2FsLWFsaWduKCRlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKCRuYXZiYXItaGVpZ2h0IC0gJGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwiLy9cbi8vIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5icmVhZGNydW1iIHtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy12ZXJ0aWNhbCAkYnJlYWRjcnVtYi1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgKyBsaTpiZWZvcmUge1xuICAgICAgLy8gW2NvbnZlcnRlcl0gV29ya2Fyb3VuZCBmb3IgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MvbGlic2Fzcy9pc3N1ZXMvMTExNVxuICAgICAgJG5ic3A6IFwiXFwwMGEwXCI7XG4gICAgICBjb250ZW50OiBcIiN7JGJyZWFkY3J1bWItc2VwYXJhdG9yfSN7JG5ic3B9XCI7IC8vIFVuaWNvZGUgc3BhY2UgYWRkZWQgc2luY2UgaW5saW5lLWJsb2NrIG1lYW5zIG5vbi1jb2xsYXBzaW5nIHdoaXRlLXNwYWNlXG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1jb2xvcjtcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBQYWdpbmF0aW9uIChtdWx0aXBsZSBwYWdlcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46ICRsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTsgLy8gUmVtb3ZlIGxpc3Qtc3R5bGUgYW5kIGJsb2NrLWxldmVsIGRlZmF1bHRzXG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDsgLy8gQ29sbGFwc2Ugd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6ICRwYWRkaW5nLWJhc2UtdmVydGljYWwgJHBhZGRpbmctYmFzZS1ob3Jpem9udGFsO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcGFnaW5hdGlvbi1ib3JkZXI7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cy1iYXNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IGxpID4gYSxcbiAgPiBsaSA+IHNwYW4ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBzcGFuIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICA+IC5kaXNhYmxlZCB7XG4gICAgPiBzcGFuLFxuICAgID4gc3Bhbjpob3ZlcixcbiAgICA+IHNwYW46Zm9jdXMsXG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWRpc2FibGVkLWJvcmRlcjtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBMYXJnZVxuLnBhZ2luYXRpb24tbGcge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctbGFyZ2UtdmVydGljYWwsICRwYWRkaW5nLWxhcmdlLWhvcml6b250YWwsICRmb250LXNpemUtbGFyZ2UsICRsaW5lLWhlaWdodC1sYXJnZSwgJGJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuXG4vLyBTbWFsbFxuLnBhZ2luYXRpb24tc20ge1xuICBAaW5jbHVkZSBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmctc21hbGwtdmVydGljYWwsICRwYWRkaW5nLXNtYWxsLWhvcml6b250YWwsICRmb250LXNpemUtc21hbGwsICRsaW5lLWhlaWdodC1zbWFsbCwgJGJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG5AbWl4aW4gcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogJHBhZGRpbmctdmVydGljYWwgJHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2VyIHBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLnBhZ2VyIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW46ICRsaW5lLWhlaWdodC1jb21wdXRlZCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNXB4IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZXItYmc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcGFnZXItYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogJHBhZ2VyLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgPiBhOmhvdmVyLFxuICAgID4gYTpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcGFnZXItaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5leHQge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5wcmV2aW91cyB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gIH1cblxuICAuZGlzYWJsZWQge1xuICAgID4gYSxcbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzLFxuICAgID4gc3BhbiB7XG4gICAgICBjb2xvcjogJHBhZ2VyLWRpc2FibGVkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2VyLWJnO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIExhYmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRsYWJlbC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtO1xuXG4gIC8vIFtjb252ZXJ0ZXJdIGV4dHJhY3RlZCBhJiB0byBhLmxhYmVsXG5cbiAgLy8gRW1wdHkgbGFiZWxzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBsYWJlbHMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gQWRkIGhvdmVyIGVmZmVjdHMsIGJ1dCBvbmx5IGZvciBsaW5rc1xuYS5sYWJlbCB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkbGFiZWwtbGluay1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIENvbG9yc1xuLy8gQ29udGV4dHVhbCB2YXJpYXRpb25zIChsaW5rZWQgbGFiZWxzIGdldCBkYXJrZXIgb24gOmhvdmVyKVxuXG4ubGFiZWwtZGVmYXVsdCB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLWRlZmF1bHQtYmcpO1xufVxuXG4ubGFiZWwtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXByaW1hcnktYmcpO1xufVxuXG4ubGFiZWwtc3VjY2VzcyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXN1Y2Nlc3MtYmcpO1xufVxuXG4ubGFiZWwtaW5mbyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLWluZm8tYmcpO1xufVxuXG4ubGFiZWwtd2FybmluZyB7XG4gIEBpbmNsdWRlIGxhYmVsLXZhcmlhbnQoJGxhYmVsLXdhcm5pbmctYmcpO1xufVxuXG4ubGFiZWwtZGFuZ2VyIHtcbiAgQGluY2x1ZGUgbGFiZWwtdmFyaWFudCgkbGFiZWwtZGFuZ2VyLWJnKTtcbn1cbiIsIi8vIExhYmVsc1xuXG5AbWl4aW4gbGFiZWwtdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gICZbaHJlZl0ge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNvbG9yLCAxMCUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhZGdlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMTBweDtcbiAgcGFkZGluZzogM3B4IDdweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuICBsaW5lLWhlaWdodDogJGJhZGdlLWxpbmUtaGVpZ2h0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS1iZztcbiAgYm9yZGVyLXJhZGl1czogJGJhZGdlLWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gRW1wdHkgYmFkZ2VzIGNvbGxhcHNlIGF1dG9tYXRpY2FsbHkgKG5vdCBhdmFpbGFibGUgaW4gSUU4KVxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuICAuYnRuICYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xcHg7XG4gIH1cblxuICAuYnRuLXhzICYsXG4gIC5idG4tZ3JvdXAteHMgPiAuYnRuICYge1xuICAgIHRvcDogMDtcbiAgICBwYWRkaW5nOiAxcHggNXB4O1xuICB9XG5cbiAgLy8gW2NvbnZlcnRlcl0gZXh0cmFjdGVkIGEmIHRvIGEuYmFkZ2VcblxuICAvLyBBY2NvdW50IGZvciBiYWRnZXMgaW4gbmF2c1xuICAubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSA+ICYsXG4gIC5uYXYtcGlsbHMgPiAuYWN0aXZlID4gYSA+ICYge1xuICAgIGNvbG9yOiAkYmFkZ2UtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWRnZS1hY3RpdmUtYmc7XG4gIH1cblxuICAubGlzdC1ncm91cC1pdGVtID4gJiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICYgKyAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxuXG4gIC5uYXYtcGlsbHMgPiBsaSA+IGEgPiAmIHtcbiAgICBtYXJnaW4tbGVmdDogM3B4O1xuICB9XG59XG5cbi8vIEhvdmVyIHN0YXRlLCBidXQgb25seSBmb3IgbGlua3NcbmEuYmFkZ2Uge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGJhZGdlLWxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxufVxuIiwiLy9cbi8vIEp1bWJvdHJvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uanVtYm90cm9uIHtcbiAgcGFkZGluZy10b3A6ICAgICRqdW1ib3Ryb24tcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRqdW1ib3Ryb24tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogJGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGp1bWJvdHJvbi1iZztcblxuICBoMSxcbiAgLmgxIHtcbiAgICBjb2xvcjogJGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICAgIGZvbnQtc2l6ZTogJGp1bWJvdHJvbi1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gID4gaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkanVtYm90cm9uLWJnLCAxMCUpO1xuICB9XG5cbiAgLmNvbnRhaW5lciAmLFxuICAuY29udGFpbmVyLWZsdWlkICYge1xuICAgIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWxhcmdlOyAvLyBPbmx5IHJvdW5kIGNvcm5lcnMgYXQgaGlnaGVyIHJlc29sdXRpb25zIGlmIGNvbnRhaW5lZCBpbiBhIGNvbnRhaW5lclxuICAgIHBhZGRpbmctbGVmdDogICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHBhZGRpbmctdG9wOiAgICAoJGp1bWJvdHJvbi1wYWRkaW5nICogMS42KTtcbiAgICBwYWRkaW5nLWJvdHRvbTogKCRqdW1ib3Ryb24tcGFkZGluZyAqIDEuNik7XG5cbiAgICAuY29udGFpbmVyICYsXG4gICAgLmNvbnRhaW5lci1mbHVpZCAmIHtcbiAgICAgIHBhZGRpbmctbGVmdDogICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICgkanVtYm90cm9uLXBhZGRpbmcgKiAyKTtcbiAgICB9XG5cbiAgICBoMSxcbiAgICAuaDEge1xuICAgICAgZm9udC1zaXplOiAkanVtYm90cm9uLWhlYWRpbmctZm9udC1zaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFRodW1ibmFpbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gTWl4aW4gYW5kIGFkanVzdCB0aGUgcmVndWxhciBpbWFnZSBjbGFzc1xuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkdGh1bWJuYWlsLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJvcmRlciAuMnMgZWFzZS1pbi1vdXQpO1xuXG4gID4gaW1nLFxuICBhID4gaW1nIHtcbiAgICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSY6aG92ZXIsIGEmOmZvY3VzLCBhJi5hY3RpdmUgdG8gYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzLCBhLnRodW1ibmFpbC5hY3RpdmVcblxuICAvLyBJbWFnZSBjYXB0aW9uc1xuICAuY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc7XG4gICAgY29sb3I6ICR0aHVtYm5haWwtY2FwdGlvbi1jb2xvcjtcbiAgfVxufVxuXG4vLyBBZGQgYSBob3ZlciBzdGF0ZSBmb3IgbGlua2VkIHZlcnNpb25zIG9ubHlcbmEudGh1bWJuYWlsOmhvdmVyLFxuYS50aHVtYm5haWw6Zm9jdXMsXG5hLnRodW1ibmFpbC5hY3RpdmUge1xuICBib3JkZXItY29sb3I6ICRsaW5rLWNvbG9yO1xufVxuIiwiLy9cbi8vIEFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWxlcnQge1xuICBwYWRkaW5nOiAkYWxlcnQtcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGFsZXJ0LWJvcmRlci1yYWRpdXM7XG5cbiAgLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbiAgaDQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgLy8gU3BlY2lmaWVkIGZvciB0aGUgaDQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgJGhlYWRpbmdzLWNvbG9yXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBQcm92aWRlIGNsYXNzIGZvciBsaW5rcyB0aGF0IG1hdGNoIGFsZXJ0c1xuICAuYWxlcnQtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xuICB9XG5cbiAgLy8gSW1wcm92ZSBhbGlnbm1lbnQgYW5kIHNwYWNpbmcgb2YgaW5uZXIgY29udGVudFxuICA+IHAsXG4gID4gdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICA+IHAgKyBwIHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn1cblxuLy8gRGlzbWlzc2libGUgYWxlcnRzXG4vL1xuLy8gRXhwYW5kIHRoZSByaWdodCBwYWRkaW5nIGFuZCBhY2NvdW50IGZvciB0aGUgY2xvc2UgYnV0dG9uJ3MgcG9zaXRpb25pbmcuXG5cbi5hbGVydC1kaXNtaXNzYWJsZSwgLy8gVGhlIG1pc3NwZWxsZWQgLmFsZXJ0LWRpc21pc3NhYmxlIHdhcyBkZXByZWNhdGVkIGluIDMuMi4wLlxuLmFsZXJ0LWRpc21pc3NpYmxlIHtcbiAgcGFkZGluZy1yaWdodDogKCRhbGVydC1wYWRkaW5nICsgMjApO1xuXG4gIC8vIEFkanVzdCBjbG9zZSBsaW5rIHBvc2l0aW9uXG4gIC5jbG9zZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICByaWdodDogLTIxcHg7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbi5hbGVydC1zdWNjZXNzIHtcbiAgQGluY2x1ZGUgYWxlcnQtdmFyaWFudCgkYWxlcnQtc3VjY2Vzcy1iZywgJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyLCAkYWxlcnQtc3VjY2Vzcy10ZXh0KTtcbn1cblxuLmFsZXJ0LWluZm8ge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1pbmZvLWJnLCAkYWxlcnQtaW5mby1ib3JkZXIsICRhbGVydC1pbmZvLXRleHQpO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIEBpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGFsZXJ0LXdhcm5pbmctYmcsICRhbGVydC13YXJuaW5nLWJvcmRlciwgJGFsZXJ0LXdhcm5pbmctdGV4dCk7XG59XG5cbi5hbGVydC1kYW5nZXIge1xuICBAaW5jbHVkZSBhbGVydC12YXJpYW50KCRhbGVydC1kYW5nZXItYmcsICRhbGVydC1kYW5nZXItYm9yZGVyLCAkYWxlcnQtZGFuZ2VyLXRleHQpO1xufVxuIiwiLy8gQWxlcnRzXG5cbkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkdGV4dC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBjb2xvcjogJHRleHQtY29sb3I7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cbiAgLmFsZXJ0LWxpbmsge1xuICAgIGNvbG9yOiBkYXJrZW4oJHRleHQtY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vXG4vLyBQcm9ncmVzcyBiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhciBhbmltYXRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFdlYktpdFxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuLy8gU3BlYyBhbmQgSUUxMCtcbkBrZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG5cbi8vIEJhciBpdHNlbGZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gT3V0ZXIgY29udGFpbmVyXG4ucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6ICRsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1ib3JkZXItcmFkaXVzO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKSk7XG59XG5cbi8vIEJhciBvZiBwcm9ncmVzc1xuLnByb2dyZXNzLWJhciB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KGluc2V0IDAgLTFweCAwIHJnYmEoMCwwLDAsLjE1KSk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24od2lkdGggLjZzIGVhc2UpO1xufVxuXG4vLyBTdHJpcGVkIGJhcnNcbi8vXG4vLyBgLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci1zdHJpcGVkYCBjbGFzcywgd2hpY2ggeW91IGp1c3QgYWRkIHRvIGFuIGV4aXN0aW5nXG4vLyBgLnByb2dyZXNzLWJhcmAuXG4ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci1zdHJpcGVkIHtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtc3RyaXBlZDtcbiAgYmFja2dyb3VuZC1zaXplOiA0MHB4IDQwcHg7XG59XG5cbi8vIENhbGwgYW5pbWF0aW9uIGZvciB0aGUgYWN0aXZlIG9uZVxuLy9cbi8vIGAucHJvZ3Jlc3MuYWN0aXZlIC5wcm9ncmVzcy1iYXJgIGlzIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGluIGZhdm9yIG9mIHRoZVxuLy8gYC5wcm9ncmVzcy1iYXIuYWN0aXZlYCBhcHByb2FjaC5cbi5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcixcbi5wcm9ncmVzcy1iYXIuYWN0aXZlIHtcbiAgQGluY2x1ZGUgYW5pbWF0aW9uKHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZSk7XG59XG5cblxuLy8gVmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLXN1Y2Nlc3MtYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWluZm8ge1xuICBAaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLWluZm8tYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLXdhcm5pbmcge1xuICBAaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWRhbmdlciB7XG4gIEBpbmNsdWRlIHByb2dyZXNzLWJhci12YXJpYW50KCRwcm9ncmVzcy1iYXItZGFuZ2VyLWJnKTtcbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MSk7IC8vIElFOSBhbmQgZG93blxufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbi8vIENvbG9yIHN0b3BzIGFyZSBub3QgYXZhaWxhYmxlIGluIElFOSBhbmQgYmVsb3cuXG5AbWl4aW4gZ3JhZGllbnQtdmVydGljYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpOyAgLy8gT3BlcmEgMTJcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0wKTsgLy8gSUU5IGFuZCBkb3duXG59XG5cbkBtaXhpbiBncmFkaWVudC1kaXJlY3Rpb25hbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU2FmYXJpIDUuMS02LCBDaHJvbWUgMTArXG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGRlZywgJHN0YXJ0LWNvbG9yLCAkZW5kLWNvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xufVxuQG1peGluIGdyYWRpZW50LWhvcml6b250YWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScje2llLWhleC1zdHIoJHN0YXJ0LWNvbG9yKX0nLCBlbmRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRlbmQtY29sb3IpfScsIEdyYWRpZW50VHlwZT0xKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbn1cbkBtaXhpbiBncmFkaWVudC12ZXJ0aWNhbC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAjMDBiM2VlLCAkbWlkLWNvbG9yOiAjN2E0M2I2LCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3tpZS1oZXgtc3RyKCRzdGFydC1jb2xvcil9JywgZW5kQ29sb3JzdHI9JyN7aWUtaGV4LXN0cigkZW5kLWNvbG9yKX0nLCBHcmFkaWVudFR5cGU9MCk7IC8vIElFOSBhbmQgZG93biwgZ2V0cyBubyBjb2xvci1zdG9wIGF0IGFsbCBmb3IgcHJvcGVyIGZhbGxiYWNrXG59XG5AbWl4aW4gZ3JhZGllbnQtcmFkaWFsKCRpbm5lci1jb2xvcjogIzU1NSwgJG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCAkaW5uZXItY29sb3IsICRvdXRlci1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQtc3RyaXBlZCgkY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkYW5nbGUsICRjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCAkY29sb3IgNTAlLCAkY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbkBtaXhpbiBwcm9ncmVzcy1iYXItdmFyaWFudCgkY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuXG4gIC8vIERlcHJlY2F0ZWQgcGFyZW50IGNsYXNzIHJlcXVpcmVtZW50IGFzIG9mIHYzLjIuMFxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkO1xuICB9XG59XG4iLCIubWVkaWEge1xuICAvLyBQcm9wZXIgc3BhY2luZyBiZXR3ZWVuIGluc3RhbmNlcyBvZiAubWVkaWFcbiAgbWFyZ2luLXRvcDogMTVweDtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5tZWRpYSxcbi5tZWRpYS1ib2R5IHtcbiAgem9vbTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1lZGlhLWJvZHkge1xuICB3aWR0aDogMTAwMDBweDtcbn1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIEZpeCBjb2xsYXBzZSBpbiB3ZWJraXQgZnJvbSBtYXgtd2lkdGg6IDEwMCUgYW5kIGRpc3BsYXk6IHRhYmxlLWNlbGwuXG4gICYuaW1nLXRodW1ibmFpbCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbi5tZWRpYS1yaWdodCxcbi5tZWRpYSA+IC5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYSA+IC5wdWxsLWxlZnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYS1yaWdodCxcbi5tZWRpYS1ib2R5IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLm1lZGlhLW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tZWRpYS1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIGhlYWRpbmdzIGZvciB0aWdodGVyIGRlZmF1bHQgc3BhY2luZ1xuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8vIE1lZGlhIGxpc3QgdmFyaWF0aW9uXG4vL1xuLy8gVW5kbyBkZWZhdWx0IHVsL29sIHN0eWxlc1xuLm1lZGlhLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvL1xuLy8gTGlzdCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRsaXN0LWdyb3VwLWJvcmRlcjtcblxuICAvLyBSb3VuZCB0aGUgZmlyc3QgYW5kIGxhc3QgaXRlbXNcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZSBpdGVtcy5cbi8vIEluY2x1ZGVzIGFuIGV4dHJhIGAuYWN0aXZlYCBtb2RpZmllciBjbGFzcyBmb3Igc2hvd2luZyBzZWxlY3RlZCBpdGVtcy5cblxuYS5saXN0LWdyb3VwLWl0ZW0sXG5idXR0b24ubGlzdC1ncm91cC1pdGVtIHtcbiAgY29sb3I6ICRsaXN0LWdyb3VwLWxpbmstY29sb3I7XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtbGluay1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1saW5rLWhvdmVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWhvdmVyLWJnO1xuICB9XG59XG5cbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICYuZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQ6aG92ZXIsXG4gICYuZGlzYWJsZWQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWRpc2FibGVkLWJnO1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQ7XG5cbiAgICAvLyBGb3JjZSBjb2xvciB0byBpbmhlcml0IGZvciBjdXN0b20gY29udGVudFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFjdGl2ZSBjbGFzcyBvbiBpdGVtIGl0c2VsZiwgbm90IHBhcmVudFxuICAmLmFjdGl2ZSxcbiAgJi5hY3RpdmU6aG92ZXIsXG4gICYuYWN0aXZlOmZvY3VzIHtcbiAgICB6LWluZGV4OiAyOyAvLyBQbGFjZSBhY3RpdmUgaXRlbXMgYWJvdmUgdGhlaXIgc2libGluZ3MgZm9yIHByb3BlciBib3JkZXIgc3R5bGluZ1xuICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWJvcmRlcjtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IHNtYWxsLFxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyA+IC5zbWFsbCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgICAgIGNvbG9yOiAkbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHN1Y2Nlc3MsICRzdGF0ZS1zdWNjZXNzLWJnLCAkc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGluZm8sICRzdGF0ZS1pbmZvLWJnLCAkc3RhdGUtaW5mby10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHdhcm5pbmcsICRzdGF0ZS13YXJuaW5nLWJnLCAkc3RhdGUtd2FybmluZy10ZXh0KTtcbkBpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGRhbmdlciwgJHN0YXRlLWRhbmdlci1iZywgJHN0YXRlLWRhbmdlci10ZXh0KTtcblxuXG4vLyBDdXN0b20gY29udGVudCBvcHRpb25zXG4vL1xuLy8gRXh0cmEgY2xhc3NlcyBmb3IgY3JlYXRpbmcgd2VsbC1mb3JtYXR0ZWQgY29udGVudCB3aXRoaW4gYC5saXN0LWdyb3VwLWl0ZW1gcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYSYsIGJ1dHRvbiYgdG8gYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LCBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfVxuICB9XG5cbiAgYS5saXN0LWdyb3VwLWl0ZW0tI3skc3RhdGV9LFxuICBidXR0b24ubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgIH1cbiAgICAmLmFjdGl2ZSxcbiAgICAmLmFjdGl2ZTpob3ZlcixcbiAgICAmLmFjdGl2ZTpmb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFBhbmVsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ucGFuZWwge1xuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRwYW5lbC1ib3JkZXItcmFkaXVzO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkpO1xufVxuXG4vLyBQYW5lbCBjb250ZW50c1xuLnBhbmVsLWJvZHkge1xuICBwYWRkaW5nOiAkcGFuZWwtYm9keS1wYWRkaW5nO1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLy8gT3B0aW9uYWwgaGVhZGluZ1xuLnBhbmVsLWhlYWRpbmcge1xuICBwYWRkaW5nOiAkcGFuZWwtaGVhZGluZy1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICA+IC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBXaXRoaW4gaGVhZGluZywgc3RyaXAgYW55IGBoKmAgdGFnIG9mIGl0cyBkZWZhdWx0IG1hcmdpbnMgZm9yIHNwYWNpbmcuXG4ucGFuZWwtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IGNlaWwoKCRmb250LXNpemUtYmFzZSAqIDEuMTI1KSk7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gID4gYSxcbiAgPiBzbWFsbCxcbiAgPiAuc21hbGwsXG4gID4gc21hbGwgPiBhLFxuICA+IC5zbWFsbCA+IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIE9wdGlvbmFsIGZvb3RlciAoc3RheXMgZ3JheSBpbiBldmVyeSBtb2RpZmllciBjbGFzcylcbi5wYW5lbC1mb290ZXIge1xuICBwYWRkaW5nOiAkcGFuZWwtZm9vdGVyLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwYW5lbC1mb290ZXItYmc7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcGFuZWwtaW5uZXItYm9yZGVyO1xuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG59XG5cblxuLy8gTGlzdCBncm91cHMgaW4gcGFuZWxzXG4vL1xuLy8gQnkgZGVmYXVsdCwgc3BhY2Ugb3V0IGxpc3QgZ3JvdXAgY29udGVudCBmcm9tIHBhbmVsIGhlYWRpbmdzIHRvIGFjY291bnQgZm9yXG4vLyBhbnkga2luZCBvZiBjdXN0b20gY29udGVudCBiZXR3ZWVuIHRoZSB0d28uXG5cbi5wYW5lbCB7XG4gID4gLmxpc3QtZ3JvdXAsXG4gID4gLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAubGlzdC1ncm91cC1pdGVtIHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIH1cblxuICAgIC8vIEFkZCBib3JkZXIgdG9wIHJhZGl1cyBmb3IgZmlyc3Qgb25lXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBib3JkZXIgYm90dG9tIHJhZGl1cyBmb3IgbGFzdCBvbmVcbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC5wYW5lbC1oZWFkaW5nICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG4gICAgfVxuICB9XG59XG4vLyBDb2xsYXBzZSBzcGFjZSBiZXR3ZWVuIHdoZW4gdGhlcmUncyBubyBhZGRpdGlvbmFsIGNvbnRlbnQuXG4ucGFuZWwtaGVhZGluZyArIC5saXN0LWdyb3VwIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxufVxuLmxpc3QtZ3JvdXAgKyAucGFuZWwtZm9vdGVyIHtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbn1cblxuLy8gVGFibGVzIGluIHBhbmVsc1xuLy9cbi8vIFBsYWNlIGEgbm9uLWJvcmRlcmVkIGAudGFibGVgIHdpdGhpbiBhIHBhbmVsIChub3Qgd2l0aGluIGEgYC5wYW5lbC1ib2R5YCkgYW5kXG4vLyB3YXRjaCBpdCBnbyBmdWxsIHdpZHRoLlxuXG4ucGFuZWwge1xuICA+IC50YWJsZSxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZSxcbiAgPiAucGFuZWwtY29sbGFwc2UgPiAudGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBjYXB0aW9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogJHBhbmVsLWJvZHktcGFkZGluZztcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgfVxuICB9XG4gIC8vIEFkZCBib3JkZXIgdG9wIHJhZGl1cyBmb3IgZmlyc3Qgb25lXG4gID4gLnRhYmxlOmZpcnN0LWNoaWxkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkID4gLnRhYmxlOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG5cbiAgICA+IHRoZWFkOmZpcnN0LWNoaWxkLFxuICAgID4gdGJvZHk6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0cjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG5cbiAgICAgICAgdGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgICB0ZDpsYXN0LWNoaWxkLFxuICAgICAgICB0aDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICA+IC50YWJsZTpsYXN0LWNoaWxkLFxuICA+IC50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQgPiAudGFibGU6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gICAgPiB0Ym9keTpsYXN0LWNoaWxkLFxuICAgID4gdGZvb3Q6bGFzdC1jaGlsZCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoJHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKCRwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICgkcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUsXG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUtcmVzcG9uc2l2ZSxcbiAgPiAudGFibGUgKyAucGFuZWwtYm9keSxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSArIC5wYW5lbC1ib2R5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuICA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGgsXG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICA+IC50YWJsZS1ib3JkZXJlZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSxcbiAgICA+IHRmb290IHtcbiAgICAgID4gdHIge1xuICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cbi8vIENvbGxhcHNpYmxlIHBhbmVscyAoYWthLCBhY2NvcmRpb24pXG4vL1xuLy8gV3JhcCBhIHNlcmllcyBvZiBwYW5lbHMgaW4gYC5wYW5lbC1ncm91cGAgdG8gdHVybiB0aGVtIGludG8gYW4gYWNjb3JkaW9uIHdpdGhcbi8vIHRoZSBoZWxwIG9mIG91ciBjb2xsYXBzZSBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLnBhbmVsLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogJGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuXG4gIC8vIFRpZ2h0ZW4gdXAgbWFyZ2luIHNvIGl0J3Mgb25seSBiZXR3ZWVuIHBhbmVsc1xuICAucGFuZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJHBhbmVsLWJvcmRlci1yYWRpdXM7XG5cbiAgICArIC5wYW5lbCB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWhlYWRpbmcge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LFxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRwYW5lbC1pbm5lci1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnNcbi5wYW5lbC1kZWZhdWx0IHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtZGVmYXVsdC1ib3JkZXIsICRwYW5lbC1kZWZhdWx0LXRleHQsICRwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmcsICRwYW5lbC1kZWZhdWx0LWJvcmRlcik7XG59XG4ucGFuZWwtcHJpbWFyeSB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLXByaW1hcnktYm9yZGVyLCAkcGFuZWwtcHJpbWFyeS10ZXh0LCAkcGFuZWwtcHJpbWFyeS1oZWFkaW5nLWJnLCAkcGFuZWwtcHJpbWFyeS1ib3JkZXIpO1xufVxuLnBhbmVsLXN1Y2Nlc3Mge1xuICBAaW5jbHVkZSBwYW5lbC12YXJpYW50KCRwYW5lbC1zdWNjZXNzLWJvcmRlciwgJHBhbmVsLXN1Y2Nlc3MtdGV4dCwgJHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZywgJHBhbmVsLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi5wYW5lbC1pbmZvIHtcbiAgQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkcGFuZWwtaW5mby1ib3JkZXIsICRwYW5lbC1pbmZvLXRleHQsICRwYW5lbC1pbmZvLWhlYWRpbmctYmcsICRwYW5lbC1pbmZvLWJvcmRlcik7XG59XG4ucGFuZWwtd2FybmluZyB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLXdhcm5pbmctYm9yZGVyLCAkcGFuZWwtd2FybmluZy10ZXh0LCAkcGFuZWwtd2FybmluZy1oZWFkaW5nLWJnLCAkcGFuZWwtd2FybmluZy1ib3JkZXIpO1xufVxuLnBhbmVsLWRhbmdlciB7XG4gIEBpbmNsdWRlIHBhbmVsLXZhcmlhbnQoJHBhbmVsLWRhbmdlci1ib3JkZXIsICRwYW5lbC1kYW5nZXItdGV4dCwgJHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnLCAkcGFuZWwtZGFuZ2VyLWJvcmRlcik7XG59XG4iLCIvLyBQYW5lbHNcblxuQG1peGluIHBhbmVsLXZhcmlhbnQoJGJvcmRlciwgJGhlYWRpbmctdGV4dC1jb2xvciwgJGhlYWRpbmctYmctY29sb3IsICRoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogJGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJvcmRlcjtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiAkaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRib3JkZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBFbWJlZHMgcmVzcG9uc2l2ZVxuLy9cbi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDE2OjkgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi8vIE1vZGlmaWVyIGNsYXNzIGZvciA0OjMgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cbiIsIi8vXG4vLyBXZWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ud2VsbCB7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDE5cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3ZWxsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCAkd2VsbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRib3JkZXItcmFkaXVzLWJhc2U7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjE1KTtcbiAgfVxufVxuXG4vLyBTaXplc1xuLndlbGwtbGcge1xuICBwYWRkaW5nOiAyNHB4O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cbi53ZWxsLXNtIHtcbiAgcGFkZGluZzogOXB4O1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1zbWFsbDtcbn1cbiIsIi8vXG4vLyBDbG9zZSBpY29uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uY2xvc2Uge1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogKCRmb250LXNpemUtYmFzZSAqIDEuNSk7XG4gIGZvbnQtd2VpZ2h0OiAkY2xvc2UtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICB0ZXh0LXNoYWRvdzogJGNsb3NlLXRleHQtc2hhZG93O1xuICBAaW5jbHVkZSBvcGFjaXR5KC4yKTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgb3BhY2l0eSguNSk7XG4gIH1cblxuICAvLyBbY29udmVydGVyXSBleHRyYWN0ZWQgYnV0dG9uJiB0byBidXR0b24uY2xvc2Vcbn1cblxuLy8gQWRkaXRpb25hbCBwcm9wZXJ0aWVzIGZvciBidXR0b24gdmVyc2lvblxuLy8gaU9TIHJlcXVpcmVzIHRoZSBidXR0b24gZWxlbWVudCBpbnN0ZWFkIG9mIGFuIGFuY2hvciB0YWcuXG4vLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbi8vIFNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvY2xpY2sjU2FmYXJpX01vYmlsZVxuYnV0dG9uLmNsb3NlIHtcbiAgcGFkZGluZzogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4iLCIvL1xuLy8gTW9kYWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc2hpdFxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gIC8vIFByZXZlbnQgQ2hyb21lIG9uIFdpbmRvd3MgZnJvbSBhZGRpbmcgYSBmb2N1cyBvdXRsaW5lLiBGb3IgZGV0YWlscywgc2VlXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gICYuZmFkZSAubW9kYWwtZGlhbG9nIHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUoMCwgLTI1JSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi10cmFuc2Zvcm0oMC4zcyBlYXNlLW91dCk7XG4gIH1cbiAgJi5pbiAubW9kYWwtZGlhbG9nIHsgQGluY2x1ZGUgdHJhbnNsYXRlKDAsIDApIH1cbn1cbi5tb2RhbC1vcGVuIC5tb2RhbCB7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAxMHB4O1xufVxuXG4vLyBBY3R1YWwgbW9kYWxcbi5tb2RhbC1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtY29udGVudC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgJG1vZGFsLWNvbnRlbnQtZmFsbGJhY2stYm9yZGVyLWNvbG9yOyAvL29sZCBicm93c2VycyBmYWxsYmFjayAoaWU4IGV0YylcbiAgYm9yZGVyOiAxcHggc29saWQgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDNweCA5cHggcmdiYSgwLDAsMCwuNSkpO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxuICBvdXRsaW5lOiAwO1xufVxuXG4vLyBNb2RhbCBiYWNrZ3JvdW5kXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IEBpbmNsdWRlIG9wYWNpdHkoMCk7IH1cbiAgJi5pbiB7IEBpbmNsdWRlIG9wYWNpdHkoJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHkpOyB9XG59XG5cbi8vIE1vZGFsIGhlYWRlclxuLy8gVG9wIHNlY3Rpb24gb2YgdGhlIG1vZGFsIHcvIHRpdGxlIGFuZCBkaXNtaXNzXG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLXRpdGxlLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4vLyBDbG9zZSBpY29uXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvLyByaWdodCBhbGlnbiBidXR0b25zXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7IC8vIGNsZWFyIGl0IGluIGNhc2UgZm9sa3MgdXNlIC5wdWxsLSogY2xhc3NlcyBvbiBidXR0b25zXG5cbiAgLy8gUHJvcGVybHkgc3BhY2Ugb3V0IGJ1dHRvbnNcbiAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gYWNjb3VudCBmb3IgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB3aGljaCBnZXRzIHRoZSBib3R0b20gbWFyZ2luIGxpa2UgYWxsIG90aGVyIGlucHV0c1xuICB9XG4gIC8vIGJ1dCBvdmVycmlkZSB0aGF0IGZvciBidXR0b24gZ3JvdXBzXG4gIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG4gIC8vIGFuZCBvdmVycmlkZSBpdCBmb3IgYmxvY2sgYnV0dG9ucyBhcyB3ZWxsXG4gIC5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCA1cHggMTVweCByZ2JhKDAsMCwwLC41KSk7XG4gIH1cblxuICAvLyBNb2RhbCBzaXplc1xuICAubW9kYWwtc20geyB3aWR0aDogJG1vZGFsLXNtOyB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAubW9kYWwtbGcgeyB3aWR0aDogJG1vZGFsLWxnOyB9XG59XG4iLCIvL1xuLy8gVG9vbHRpcHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6ICR6aW5kZXgtdG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuXG4gIEBpbmNsdWRlIG9wYWNpdHkoMCk7XG5cbiAgJi5pbiAgICAgeyBAaW5jbHVkZSBvcGFjaXR5KCR0b29sdGlwLW9wYWNpdHkpOyB9XG4gICYudG9wICAgIHsgbWFyZ2luLXRvcDogIC0zcHg7IHBhZGRpbmc6ICR0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5yaWdodCAgeyBtYXJnaW4tbGVmdDogIDNweDsgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSB7IG1hcmdpbi10b3A6ICAgM3B4OyBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYubGVmdCAgIHsgbWFyZ2luLWxlZnQ6IC0zcHg7IHBhZGRpbmc6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6ICR0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJnO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG4vLyBBcnJvd3Ncbi50b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuLy8gTm90ZTogRGVwcmVjYXRlZCAudG9wLWxlZnQsIC50b3AtcmlnaHQsIC5ib3R0b20tbGVmdCwgYW5kIC5ib3R0b20tcmlnaHQgYXMgb2YgdjMuMy4xXG4udG9vbHRpcCB7XG4gICYudG9wIC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAkdG9vbHRpcC1hcnJvdy13aWR0aCAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCAkdG9vbHRpcC1hcnJvdy13aWR0aCAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6ICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgJHRvb2x0aXAtYXJyb3ctd2lkdGggJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwICR0b29sdGlwLWFycm93LXdpZHRoICR0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZS5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIi8vXG4vLyBQb3BvdmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogJHBvcG92ZXItbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAxcHg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHBvcG92ZXJzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgJHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcblxuICAvLyBPZmZzZXQgdGhlIHBvcG92ZXIgdG8gYWNjb3VudCBmb3IgdGhlIHBvcG92ZXIgYXJyb3dcbiAgJi50b3AgICAgIHsgbWFyZ2luLXRvcDogLSRwb3BvdmVyLWFycm93LXdpZHRoOyB9XG4gICYucmlnaHQgICB7IG1hcmdpbi1sZWZ0OiAkcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSAgeyBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLmxlZnQgICAgeyBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoOyB9XG59XG5cbi5wb3BvdmVyLXRpdGxlIHtcbiAgbWFyZ2luOiAwOyAvLyByZXNldCBoZWFkaW5nIG1hcmdpblxuICBwYWRkaW5nOiA4cHggMTRweDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLXRpdGxlLWJnO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRwb3BvdmVyLXRpdGxlLWJnLCA1JSk7XG4gIGJvcmRlci1yYWRpdXM6ICgkYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpICgkYm9yZGVyLXJhZGl1cy1sYXJnZSAtIDEpIDAgMDtcbn1cblxuLnBvcG92ZXItY29udGVudCB7XG4gIHBhZGRpbmc6IDlweCAxNHB4O1xufVxuXG4vLyBBcnJvd3Ncbi8vXG4vLyAuYXJyb3cgaXMgb3V0ZXIsIC5hcnJvdzphZnRlciBpcyBpbm5lclxuXG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gICYsXG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICB9XG59XG4ucG9wb3ZlciA+IC5hcnJvdyB7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG59XG4ucG9wb3ZlciA+IC5hcnJvdzphZnRlciB7XG4gIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gIGNvbnRlbnQ6IFwiXCI7XG59XG5cbi5wb3BvdmVyIHtcbiAgJi50b3AgPiAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgIGJvdHRvbTogLSRwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYucmlnaHQgPiAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG4gICYuYm90dG9tID4gLmFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICB0b3A6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLSRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gICYubGVmdCA+IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC0kcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtJHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICByaWdodDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgICAgYm90dG9tOiAtJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gQ2Fyb3VzZWxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gV3JhcHBlciBmb3IgdGhlIHNsaWRlIGNvbnRhaW5lciBhbmQgaW5kaWNhdG9yc1xuLmNhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY2Fyb3VzZWwtaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gLml0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oLjZzIGVhc2UtaW4tb3V0IGxlZnQpO1xuXG4gICAgLy8gQWNjb3VudCBmb3IgamFua2l0dWRlIG9uIGltYWdlc1xuICAgID4gaW1nLFxuICAgID4gYSA+IGltZyB7XG4gICAgICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC8vIFdlYktpdCBDU1MzIHRyYW5zZm9ybXMgZm9yIHN1cHBvcnRlZCBkZXZpY2VzXG4gICAgQG1lZGlhIGFsbCBhbmQgKHRyYW5zZm9ybS0zZCksICgtd2Via2l0LXRyYW5zZm9ybS0zZCkge1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbi10cmFuc2Zvcm0oMC42cyBlYXNlLWluLW91dCk7XG4gICAgICBAaW5jbHVkZSBiYWNrZmFjZS12aXNpYmlsaXR5KGhpZGRlbik7XG4gICAgICBAaW5jbHVkZSBwZXJzcGVjdGl2ZSgxMDAwcHgpO1xuXG4gICAgICAmLm5leHQsXG4gICAgICAmLmFjdGl2ZS5yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICAgICYubmV4dC5sZWZ0LFxuICAgICAgJi5wcmV2LnJpZ2h0LFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICA+IC5hY3RpdmUsXG4gID4gLm5leHQsXG4gID4gLnByZXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgPiAuYWN0aXZlIHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLm5leHQge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgPiAucHJldiB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAubmV4dC5sZWZ0LFxuICA+IC5wcmV2LnJpZ2h0IHtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgPiAuYWN0aXZlLmxlZnQge1xuICAgIGxlZnQ6IC0xMDAlO1xuICB9XG4gID4gLmFjdGl2ZS5yaWdodCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuXG59XG5cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jYXJvdXNlbC1jb250cm9sIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLXdpZHRoO1xuICBAaW5jbHVkZSBvcGFjaXR5KCRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHkpO1xuICBmb250LXNpemU6ICRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAkY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7IC8vIEZpeCBJRTkgY2xpY2stdGhydSBidWdcbiAgLy8gV2UgY2FuJ3QgaGF2ZSB0aGlzIHRyYW5zaXRpb24gaGVyZSBiZWNhdXNlIFdlYktpdCBjYW5jZWxzIHRoZSBjYXJvdXNlbFxuICAvLyBhbmltYXRpb24gaWYgeW91IHRyaXAgdGhpcyB3aGlsZSBpbiB0aGUgbWlkZGxlIG9mIGFub3RoZXIgYW5pbWF0aW9uLlxuXG4gIC8vIFNldCBncmFkaWVudHMgZm9yIGJhY2tncm91bmRzXG4gICYubGVmdCB7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtaG9yaXpvbnRhbCgkc3RhcnQtY29sb3I6IHJnYmEoMCwwLDAsLjUpLCAkZW5kLWNvbG9yOiByZ2JhKDAsMCwwLC4wMDAxKSk7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSksICRlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBvcGFjaXR5KC45KTtcbiAgfVxuXG4gIC8vIFRvZ2dsZXNcbiAgLmljb24tcHJldixcbiAgLmljb24tbmV4dCxcbiAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLW5leHQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICB9XG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQge1xuICAgIHdpZHRoOiAgMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICB9XG5cblxuICAuaWNvbi1wcmV2IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDM5JzsvLyBTSU5HTEUgTEVGVC1QT0lOVElORyBBTkdMRSBRVU9UQVRJT04gTUFSSyAoVSsyMDM5KVxuICAgIH1cbiAgfVxuICAuaWNvbi1uZXh0IHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDNhJzsvLyBTSU5HTEUgUklHSFQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzQSlcbiAgICB9XG4gIH1cbn1cblxuLy8gT3B0aW9uYWwgaW5kaWNhdG9yIHBpcHNcbi8vXG4vLyBBZGQgYW4gdW5vcmRlcmVkIGxpc3Qgd2l0aCB0aGUgZm9sbG93aW5nIGNsYXNzIGFuZCBhZGQgYSBsaXN0IGl0ZW0gZm9yIGVhY2hcbi8vIHNsaWRlIHlvdXIgY2Fyb3VzZWwgaG9sZHMuXG5cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogMTU7XG4gIHdpZHRoOiA2MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMzAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAgMTBweDtcbiAgICBoZWlnaHQ6IDEwcHg7XG4gICAgbWFyZ2luOiAxcHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIC8vIElFOC05IGhhY2sgZm9yIGV2ZW50IGhhbmRsaW5nXG4gICAgLy9cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciA4LTkgZG9lcyBub3Qgc3VwcG9ydCBjbGlja3Mgb24gZWxlbWVudHMgd2l0aG91dCBhIHNldFxuICAgIC8vIGBiYWNrZ3JvdW5kLWNvbG9yYC4gV2UgY2Fubm90IHVzZSBgZmlsdGVyYCBzaW5jZSB0aGF0J3Mgbm90IHZpZXdlZCBhcyBhXG4gICAgLy8gYmFja2dyb3VuZCBjb2xvciBieSB0aGUgYnJvd3Nlci4gVGh1cywgYSBoYWNrIGlzIG5lZWRlZC5cbiAgICAvLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI0ludGVybmV0X0V4cGxvcmVyXG4gICAgLy9cbiAgICAvLyBGb3IgSUU4LCB3ZSBzZXQgc29saWQgYmxhY2sgYXMgaXQgZG9lc24ndCBzdXBwb3J0IGByZ2JhKClgLiBGb3IgSUU5LCB3ZVxuICAgIC8vIHNldCBhbHBoYSB0cmFuc3BhcmVuY3kgZm9yIHRoZSBiZXN0IHJlc3VsdHMgcG9zc2libGUuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCBcXDk7IC8vIElFOFxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMCk7IC8vIElFOVxuICB9XG4gIC5hY3RpdmUge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogIDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gSGlkZGVuIGJ5IGRlZmF1bHQgZm9yIHNtYWxsZXIgdmlld3BvcnRzXG4uY2Fyb3VzZWwtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMTUlO1xuICByaWdodDogMTUlO1xuICBib3R0b206IDIwcHg7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nLXRvcDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIGNvbG9yOiAkY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogJGNhcm91c2VsLXRleHQtc2hhZG93O1xuICAmIC5idG4ge1xuICAgIHRleHQtc2hhZG93OiBub25lOyAvLyBObyBzaGFkb3cgZm9yIGJ1dHRvbiBlbGVtZW50cyBpbiBjYXJvdXNlbC1jYXB0aW9uXG4gIH1cbn1cblxuXG4vLyBTY2FsZSB1cCBjb250cm9scyBmb3IgdGFibGV0cyBhbmQgdXBcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSB7XG5cbiAgLy8gU2NhbGUgdXAgdGhlIGNvbnRyb2xzIGEgc21pZGdlXG4gIC5jYXJvdXNlbC1jb250cm9sIHtcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsXG4gICAgLmljb24tcHJldixcbiAgICAuaWNvbi1uZXh0IHtcbiAgICAgIHdpZHRoOiAoJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICAgIGhlaWdodDogKCRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAqIDEuNSk7XG4gICAgICBtYXJnaW4tdG9wOiAoJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgICAgZm9udC1zaXplOiAoJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplICogMS41KTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmljb24tcHJldiB7XG4gICAgICBtYXJnaW4tbGVmdDogKCRjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZSAvIC0yKTtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAoJGNhcm91c2VsLWNvbnRyb2wtZm9udC1zaXplIC8gLTIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNob3cgYW5kIGxlZnQgYWxpZ24gdGhlIGNhcHRpb25zXG4gIC5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgICBsZWZ0OiAyMCU7XG4gICAgcmlnaHQ6IDIwJTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIC8vIE1vdmUgdXAgdGhlIGluZGljYXRvcnNcbiAgLmNhcm91c2VsLWluZGljYXRvcnMge1xuICAgIGJvdHRvbTogMjBweDtcbiAgfVxufVxuIiwiLy9cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBGbG9hdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNsZWFyZml4IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG4uY2VudGVyLWJsb2NrIHtcbiAgQGluY2x1ZGUgY2VudGVyLWJsb2NrO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIFRvZ2dsaW5nIGNvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAuaGlkZSBpbiBmYXZvciBvZiAuaGlkZGVuIG9yIC5zci1vbmx5IChhcyBhcHByb3ByaWF0ZSkgaW4gdjMuMC4xXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udGV4dC1oaWRlIHtcbiAgQGluY2x1ZGUgdGV4dC1oaWRlO1xufVxuXG5cbi8vIEhpZGUgZnJvbSBzY3JlZW5yZWFkZXJzIGFuZCBicm93c2Vyc1xuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vLyBGb3IgQWZmaXggcGx1Z2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbiIsIi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcblxuQG1peGluIGNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vXG4vLyBIZWFkcyB1cCEgdjMgbGF1bmNoZWQgd2l0aCBvbmx5IGAuaGlkZS10ZXh0KClgLCBidXQgcGVyIG91ciBwYXR0ZXJuIGZvclxuLy8gbWl4aW5zIGJlaW5nIHJldXNlZCBhcyBjbGFzc2VzIHdpdGggdGhlIHNhbWUgbmFtZSwgdGhpcyBkb2Vzbid0IGhvbGQgdXAuIEFzXG4vLyBvZiB2My4wLjEgd2UgaGF2ZSBhZGRlZCBgLnRleHQtaGlkZSgpYCBhbmQgZGVwcmVjYXRlZCBgLmhpZGUtdGV4dCgpYC5cbi8vXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcblxuLy8gRGVwcmVjYXRlZCBhcyBvZiB2My4wLjEgKGhhcyBiZWVuIHJlbW92ZWQgaW4gdjQpXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gTmV3IG1peGluIHRvIHVzZSBhcyBvZiB2My4wLjFcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XG4gIEBpbmNsdWRlIGhpZGUtdGV4dDtcbn1cbiIsIi8vXG4vLyBSZXNwb25zaXZlOiBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUUxMCBpbiBXaW5kb3dzIChQaG9uZSkgOFxuLy9cbi8vIFN1cHBvcnQgZm9yIHJlc3BvbnNpdmUgdmlld3MgdmlhIG1lZGlhIHF1ZXJpZXMgaXMga2luZCBvZiBib3JrZWQgaW4gSUUxMCwgZm9yXG4vLyBTdXJmYWNlL2Rlc2t0b3AgaW4gc3BsaXQgdmlldyBhbmQgZm9yIFdpbmRvd3MgUGhvbmUgOC4gVGhpcyBwYXJ0aWN1bGFyIGZpeFxuLy8gbXVzdCBiZSBhY2NvbXBhbmllZCBieSBhIHNuaXBwZXQgb2YgSmF2YVNjcmlwdCB0byBzbmlmZiB0aGUgdXNlciBhZ2VudCBhbmRcbi8vIGFwcGx5IHNvbWUgY29uZGl0aW9uYWwgQ1NTIHRvICpvbmx5KiB0aGUgU3VyZmFjZS9kZXNrdG9wIFdpbmRvd3MgOC4gTG9vayBhdFxuLy8gb3VyIEdldHRpbmcgU3RhcnRlZCBwYWdlIGZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoaXMgYnVnLlxuLy9cbi8vIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlIGZvbGxvd2luZzpcbi8vXG4vLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMDQ5N1xuLy8gRG9jczogaHR0cDovL2dldGJvb3RzdHJhcC5jb20vZ2V0dGluZy1zdGFydGVkLyNzdXBwb3J0LWllMTAtd2lkdGhcbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cDovL3RpbWthZGxlYy5jb20vMjAxMi8xMC9pZTEwLXNuYXAtbW9kZS1hbmQtcmVzcG9uc2l2ZS1kZXNpZ24vXG5cbkBhdC1yb290IHtcbiAgQC1tcy12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxufVxuXG5cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXhzLCAudmlzaWJsZS1zbSwgLnZpc2libGUtbWQsIGFuZCAudmlzaWJsZS1sZyBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXhzJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG5cbi52aXNpYmxlLXhzLWJsb2NrLFxuLnZpc2libGUteHMtaW5saW5lLFxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtc20tYmxvY2ssXG4udmlzaWJsZS1zbS1pbmxpbmUsXG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1tZC1ibG9jayxcbi52aXNpYmxlLW1kLWlubGluZSxcbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayxcbi52aXNpYmxlLWxnLWJsb2NrLFxuLnZpc2libGUtbGctaW5saW5lLFxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xufVxuLnZpc2libGUteHMtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUge1xuICBAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1zbScpO1xufVxuLnZpc2libGUtc20tYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCcudmlzaWJsZS1tZCcpO1xufVxuLnZpc2libGUtbWQtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbGcnKTtcbn1cbi52aXNpYmxlLWxnLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbGcnKTtcbn1cblxuXG4vLyBQcmludCB1dGlsaXRpZXNcbi8vXG4vLyBNZWRpYSBxdWVyaWVzIGFyZSBwbGFjZWQgb24gdGhlIGluc2lkZSB0byBiZSBtaXhpbi1mcmllbmRseS5cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS1wcmludCBhcyBvZiB2My4yLjBcblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtcHJpbnQnKTtcbn1cbi52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLXByaW50Jyk7XG59XG4iLCIvLyBSZXNwb25zaXZlIHV0aWxpdGllc1xuXG4vL1xuLy8gTW9yZSBlYXNpbHkgaW5jbHVkZSBhbGwgdGhlIHN0YXRlcyBmb3IgcmVzcG9uc2l2ZS11dGlsaXRpZXMubGVzcy5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUjeyRwYXJlbnR9ICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHIjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoI3skcGFyZW50fSxcbiAgdGQjeyRwYXJlbnR9ICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4vLyBbY29udmVydGVyXSAkcGFyZW50IGhhY2tcbkBtaXhpbiByZXNwb25zaXZlLWludmlzaWJpbGl0eSgkcGFyZW50KSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFBseXIgc3R5bGVzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vc2Vsei9wbHlyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5AaW1wb3J0IFwibWl4aW5zXCI7XG5cbi8vIEFuaW1hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Aa2V5ZnJhbWVzIHBseXItcHJvZ3Jlc3Mge1xuICAgIHRvIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1zaXplIDA7XG4gICAgfVxufVxuXG4vLyBTdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2Vcbi5wbHlyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRwbHlyLWZvbnQtZmFtaWx5O1xuICAgIGRpcmVjdGlvbjogbHRyO1xuXG4gICAgQGlmICRwbHlyLWJvcmRlci1ib3ggPT0gdHJ1ZSB7XG4gICAgICAgIC8vIGJvcmRlci1ib3ggZXZlcnl0aGluZ1xuICAgICAgICAvLyBodHRwOi8vcGF1bGlyaXNoLmNvbS8yMDEyL2JveC1zaXppbmctYm9yZGVyLWJveC1mdHcvXG4gICAgICAgICYsXG4gICAgICAgICosXG4gICAgICAgICo6OmFmdGVyLFxuICAgICAgICAqOjpiZWZvcmUge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkcGx5ci10b3VjaC1hY3Rpb24gPT0gdHJ1ZSB7XG4gICAgICAgIC8vIEZpeCAzMDBtcyBkZWxheVxuICAgICAgICBhLFxuICAgICAgICBidXR0b24sXG4gICAgICAgIGlucHV0LFxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZvY3VzXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuXG4gICAgLy8gTWVkaWEgZWxlbWVudHNcbiAgICB2aWRlbyxcbiAgICBhdWRpbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLy8gUmFuZ2UgaW5wdXRzXG4gICAgLy8gU3BlY2lmaWNpdHkgaXMgZm9yIGJvb3RzdHJhcCBjb21wYXRpYmlsaXR5XG4gICAgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogKCRwbHlyLXJhbmdlLXRodW1iLWhlaWdodCAqICRwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1zY2FsZSk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgIC8vIFdlYktpdFxuICAgICAgICAmOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRyYWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSgoJHBseXItcmFuZ2UtdGh1bWItaGVpZ2h0IC0gJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0KSAvIDIpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10aHVtYigpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTW96aWxsYVxuICAgICAgICAmOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdHJhY2soKTtcbiAgICAgICAgfVxuICAgICAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWIoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1pY3Jvc29mdFxuICAgICAgICAmOjotbXMtdHJhY2sge1xuICAgICAgICAgICAgaGVpZ2h0OiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRyYWNrKCk7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGx5ci1yYW5nZS10cmFjaygpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHBseXItcmFuZ2Utc2VsZWN0ZWQtYmc7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1zLXRodW1iIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWIoKTtcbiAgICAgICAgICAgIC8vIEZvciBzb21lIHJlYXNvbiwgRWRnZSB1c2VzIHRoZSAtd2Via2l0IG1hcmdpbiBhYm92ZVxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAmOjotbXMtdG9vbHRpcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9jdXMgc3R5bGVzXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOjotbW96LWZvY3VzLW91dGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnRhYi1mb2N1czpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lLW9mZnNldDogM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gUHJlc3NlZCBzdHlsZXNcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgJjo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBseXItcmFuZ2UtdGh1bWItYWN0aXZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjotbW96LXJhbmdlLXRodW1iIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjo6LW1zLXRodW1iIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBWaWRlbyByYW5nZSBpbnB1dHNcbi5wbHlyLS12aWRlbyBpbnB1dFt0eXBlPVwicmFuZ2VcIl0udGFiLWZvY3VzOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZG90dGVkIHRyYW5zcGFyZW50aXplKCRwbHlyLXZpZGVvLWNvbnRyb2wtY29sb3IsIDAuNSk7XG59XG5cbi8vIEF1ZGlvIHJhbmdlIGlucHV0c1xuLnBseXItLWF1ZGlvIGlucHV0W3R5cGU9XCJyYW5nZVwiXS50YWItZm9jdXM6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgdHJhbnNwYXJlbnRpemUoJHBseXItYXVkaW8tY29udHJvbC1jb2xvciwgMC41KTtcbn1cblxuLy8gU2NyZWVuIHJlYWRlciBvbmx5IGVsZW1lbnRzXG4ucGx5cl9fc3Itb25seSB7XG4gICAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAvLyAhaW1wb3J0YW50IGlzIG5vdCBhbHdheXMgbmVlZGVkXG4gICAgQGlmICRwbHlyLXNyLW9ubHktaW1wb3J0YW50ID09IHRydWUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgfVxufVxuXG4vLyBWaWRlb1xuLnBseXJfX3ZpZGVvLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG59XG5cbi8vIENvbnRhaW5lciBmb3IgZW1iZWRzXG4ucGx5cl9fdmlkZW8tZW1iZWQge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8qIDE2OjkgKi9cbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogaW5oZXJpdDtcblxuICAgIC8vIFJlcXVpcmUgb3ZlcmZsb3cgYW5kIHotaW5kZXggdG8gZm9yY2UgYm9yZGVyLXJhZGl1c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgei1pbmRleDogMDtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIH1cblxuICAgIC8vIFZpbWVvIGhhY2tcbiAgICA+IGRpdiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzUuOTUlKTtcbiAgICB9XG59XG4vLyBUbyBhbGxvdyBtb3VzZSBldmVudHMgdG8gYmUgY2FwdHVyZWQgaWYgZnVsbCBzdXBwb3J0XG4ucGx5ciAucGx5cl9fdmlkZW8tZW1iZWQgaWZyYW1lIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLy8gQ2FwdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIaWRlIGRlZmF1bHQgY2FwdGlvbnNcbi5wbHlyIHZpZGVvOjotd2Via2l0LW1lZGlhLXRleHQtdHJhY2stY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnBseXJfX2NhcHRpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAoJHBseXItY29udHJvbC1zcGFjaW5nICogMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJHBseXItY29udHJvbC1zcGFjaW5nICogNikpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgY29sb3I6ICRwbHlyLWNhcHRpb25zLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLWJhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICBwYWRkaW5nOiBmbG9vcigkcGx5ci1jb250cm9sLXNwYWNpbmcgLyAzKSAkcGx5ci1jb250cm9sLXNwYWNpbmc7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwbHlyLWNhcHRpb25zLWJnO1xuICAgICAgICBib3gtZGVjb3JhdGlvbi1icmVhazogY2xvbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNTAlO1xuICAgIH1cbiAgICBzcGFuOmVtcHR5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLW1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLW1lZGl1bTtcbiAgICB9XG59XG4ucGx5ci0tY2FwdGlvbnMtYWN0aXZlIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG4ucGx5ci0taGlkZS1jb250cm9scyAucGx5cl9fY2FwdGlvbnMge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDIpKTtcbn1cbi8vIExhcmdlIGNhcHRpb25zIGluIGZ1bGwgc2NyZWVuIG9uIGxhcmdlciBzY3JlZW5zXG5AbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLWxnKSB7XG4gICAgLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIC5wbHlyX19jYXB0aW9ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLWNhcHRpb25zLWxhcmdlO1xuICAgIH1cbn1cblxuLy8gQ29udHJvbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBIaWRlIG5hdGl2ZSBjb250cm9sc1xuLnBseXIgOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBQbGF5YmFjayBjb250cm9sc1xuLnBseXJfX2NvbnRyb2xzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIFxuICAgICYgPiAqIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICB9XG4gICAgXG4gICAgLy8gU3BhY2luZ1xuICAgID4gYnV0dG9uLFxuICAgIC5wbHlyX19wcm9ncmVzcyxcbiAgICAucGx5cl9fdGltZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoJHBseXItY29udHJvbC1zcGFjaW5nIC8gMik7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucGx5cl9fdm9sdW1lIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgkcGx5ci1jb250cm9sLXNwYWNpbmcgLyAyKTtcbiAgICB9XG4gICAgW2RhdGEtcGx5cj1cInBhdXNlXCJdIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uc1xuICAgIGJ1dHRvbiB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIElFMTFcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZzogKCRwbHlyLWNvbnRyb2wtc3BhY2luZyAqIDAuNyk7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZSwgY29sb3IgMC4zcyBlYXNlLCBvcGFjaXR5IDAuM3MgZWFzZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiAkcGx5ci1jb250cm9sLWljb24tc2l6ZTtcbiAgICAgICAgICAgIGhlaWdodDogJHBseXItY29udHJvbC1pY29uLXNpemU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlZmF1bHQgZm9jdXNcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gSGlkZSB0b2dnbGUgaWNvbnMgYnkgZGVmYXVsdFxuICAgIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4sXG4gICAgLmljb24tLW11dGVkLFxuICAgIC5pY29uLS1jYXB0aW9ucy1vbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRwbHlyLWJwLXNjcmVlbi1zbSkge1xuICAgICAgICA+IGJ1dHRvbixcbiAgICAgICAgLnBseXJfX3Byb2dyZXNzLFxuICAgICAgICAucGx5cl9fdGltZSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8gSGlkZSBjb250cm9sc1xuLnBseXItLWhpZGUtY29udHJvbHMgLnBseXJfX2NvbnRyb2xzIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vLyBWaWRlbyBjb250cm9sc1xuLnBseXItLXZpZGVvIC5wbHlyX19jb250cm9scyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6ICgkcGx5ci1jb250cm9sLXNwYWNpbmcgKiA1KSAkcGx5ci1jb250cm9sLXNwYWNpbmcgJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgdHJhbnNwYXJlbnRpemUoJHBseXItdmlkZW8tY29udHJvbHMtYmcsIDEpLFxuICAgICAgICB0cmFuc3BhcmVudGl6ZSgkcGx5ci12aWRlby1jb250cm9scy1iZywgMC41KVxuICAgICk7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogaW5oZXJpdDtcbiAgICBjb2xvcjogJHBseXItdmlkZW8tY29udHJvbC1jb2xvcjtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIC8vIEhvdmVyIGFuZCB0YWIgZm9jdXNcbiAgICAgICAgJi50YWItZm9jdXM6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHBseXItdmlkZW8tY29udHJvbC1iZy1ob3ZlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkcGx5ci12aWRlby1jb250cm9sLWNvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBBdWRpbyBjb250cm9sc1xuLnBseXItLWF1ZGlvIC5wbHlyX19jb250cm9scyB7XG4gICAgcGFkZGluZzogJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogJHBseXItYXVkaW8tY29udHJvbHMtYmc7XG4gICAgYm9yZGVyOiAkcGx5ci1hdWRpby1jb250cm9scy1ib3JkZXI7XG4gICAgY29sb3I6ICRwbHlyLWF1ZGlvLWNvbnRyb2wtY29sb3I7XG5cbiAgICBidXR0b24ge1xuICAgICAgICAvLyBIb3ZlciBhbmQgdGFiIGZvY3VzXG4gICAgICAgICYudGFiLWZvY3VzOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwbHlyLWF1ZGlvLWNvbnRyb2wtYmctaG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHBseXItYXVkaW8tY29udHJvbC1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTGFyZ2UgcGxheSBidXR0b24gKHZpZGVvIG9ubHkpXG4ucGx5cl9fcGxheS1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgcGFkZGluZzogJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgIGJhY2tncm91bmQ6ICRwbHlyLXZpZGVvLWNvbnRyb2wtYmctaG92ZXI7XG4gICAgYm9yZGVyOiA0cHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHRyYW5zcGFyZW50aXplKCMwMDAsIDAuODUpO1xuICAgIGNvbG9yOiAkcGx5ci12aWRlby1jb250cm9sLWNvbG9yO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDJweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCB0cmFuc3BhcmVudGl6ZSgkcGx5ci12aWRlby1jb250cm9sLWNvbG9yLCAwLjUpO1xuICAgIH1cbn1cbi5wbHlyIC5wbHlyX19wbGF5LWxhcmdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4ucGx5ci0tYXVkaW8gLnBseXJfX3BsYXktbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucGx5ci0tcGxheWluZyAucGx5cl9fcGxheS1sYXJnZSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vIFN0YXRlc1xuLnBseXJfX2NvbnRyb2xzIFtkYXRhLXBseXI9XCJwYXVzZVwiXSxcbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19jb250cm9scyBbZGF0YS1wbHlyPVwicGxheVwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyLS1wbGF5aW5nIC5wbHlyX19jb250cm9scyBbZGF0YS1wbHlyPVwicGF1c2VcIl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLy8gQ2hhbmdlIGljb25zIG9uIHN0YXRlIGNoYW5nZVxuLnBseXItLWZ1bGxzY3JlZW4tYWN0aXZlIC5pY29uLS1leGl0LWZ1bGxzY3JlZW4sXG4ucGx5ci0tbXV0ZWQgLnBseXJfX2NvbnRyb2xzIC5pY29uLS1tdXRlZCxcbi5wbHlyLS1jYXB0aW9ucy1hY3RpdmUgLnBseXJfX2NvbnRyb2xzIC5pY29uLS1jYXB0aW9ucy1vbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmICsgc3ZnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIFNvbWUgb3B0aW9ucyBhcmUgaGlkZGVuIGJ5IGRlZmF1bHRcbi5wbHlyIFtkYXRhLXBseXI9XCJjYXB0aW9uc1wiXSxcbi5wbHlyIFtkYXRhLXBseXI9XCJmdWxsc2NyZWVuXCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnBseXItLWNhcHRpb25zLWVuYWJsZWQgW2RhdGEtcGx5cj1cImNhcHRpb25zXCJdLFxuLnBseXItLWZ1bGxzY3JlZW4tZW5hYmxlZCBbZGF0YS1wbHlyPVwiZnVsbHNjcmVlblwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vLyBUb29sdGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wbHlyX190b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogKCRwbHlyLXRvb2x0aXAtcGFkZGluZyAqIDIpO1xuICAgIHBhZGRpbmc6ICRwbHlyLXRvb2x0aXAtcGFkZGluZyAoJHBseXItdG9vbHRpcC1wYWRkaW5nICogMS41KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogJHBseXItdG9vbHRpcC1iZztcbiAgICBib3JkZXItcmFkaXVzOiAkcGx5ci10b29sdGlwLXJhZGl1cztcblxuICAgIGNvbG9yOiAkcGx5ci10b29sdGlwLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJHBseXItZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAxMHB4KSBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIDAuMXMgZWFzZSwgb3BhY2l0eSAwLjJzIDAuMXMgZWFzZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIC8vIEFycm93c1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICAgIC8vIFRoZSBiYWNrZ3JvdW5kIHRyaWFuZ2xlXG4gICAgICAgIGJvdHRvbTogLSRwbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkcGx5ci10b29sdGlwLWFycm93LXNpemUgc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6ICRwbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZSBzb2xpZCAkcGx5ci10b29sdGlwLWJnO1xuICAgICAgICBib3JkZXItbGVmdDogJHBseXItdG9vbHRpcC1hcnJvdy1zaXplIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbn1cbi5wbHlyIGJ1dHRvbjpob3ZlciAucGx5cl9fdG9vbHRpcCxcbi5wbHlyIGJ1dHRvbi50YWItZm9jdXM6Zm9jdXMgLnBseXJfX3Rvb2x0aXAsXG4ucGx5cl9fdG9vbHRpcC0tdmlzaWJsZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKSBzY2FsZSgxKTtcbn1cbi5wbHlyIGJ1dHRvbjpob3ZlciAucGx5cl9fdG9vbHRpcCB7XG4gICAgei1pbmRleDogMztcbn1cblxuLy8gRmlyc3QgdG9vbHRpcFxuLnBseXJfX2NvbnRyb2xzIGJ1dHRvbjpmaXJzdC1jaGlsZCAucGx5cl9fdG9vbHRpcCB7XG4gICAgbGVmdDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KSBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMTAwJTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6ICgkcGx5ci1jb250cm9sLWljb24tc2l6ZSAvIDIpICsgJHBseXItY29udHJvbC1wYWRkaW5nO1xuICAgIH1cbn1cblxuLy8gTGFzdCB0b29sdGlwXG4ucGx5cl9fY29udHJvbHMgYnV0dG9uOmxhc3QtY2hpbGQgLnBseXJfX3Rvb2x0aXAge1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpIHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAxMDAlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6ICgkcGx5ci1jb250cm9sLWljb24tc2l6ZSAvIDIpICsgJHBseXItY29udHJvbC1wYWRkaW5nO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNTAlKTtcbiAgICB9XG59XG5cbi5wbHlyX19jb250cm9scyBidXR0b246Zmlyc3QtY2hpbGQsXG4ucGx5cl9fY29udHJvbHMgYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICY6aG92ZXIgLnBseXJfX3Rvb2x0aXAsXG4gICAgJi50YWItZm9jdXM6Zm9jdXMgLnBseXJfX3Rvb2x0aXAsXG4gICAgLnBseXJfX3Rvb2x0aXAtLXZpc2libGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8vIFBsYXliYWNrIHByb2dyZXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gPHByb2dyZXNzPiBlbGVtZW50XG4ucGx5cl9fcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDE7XG5cbiAgICBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgICAmOjotbXMtZmlsbC11cHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNlZWsgdG9vbHRpcCB0byBzaG93IHRpbWVcbiAgICAucGx5cl9fdG9vbHRpcCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgfVxufVxuLnBseXIgLnBseXJfX3Byb2dyZXNzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXJfX3Byb2dyZXNzLS1wbGF5ZWQsXG4ucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBtYXJnaW46IC0oJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0IC8gMikgMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICBtaW4td2lkdGg6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICB9XG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjdXJyZW50Q29sb3I7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgICAgICBtaW4td2lkdGg6ICRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICB9XG4gICAgJjo6LW1zLWZpbGwge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB9XG59XG4ucGx5cl9fcHJvZ3Jlc3MtLXBsYXllZCxcbi5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICAgIHotaW5kZXg6IDE7XG4gICAgY29sb3I6ICRwbHlyLXJhbmdlLXNlbGVjdGVkLWJnO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IG5vbmU7XG5cbiAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgbWluLXdpZHRoOiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICAgICY6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgbWluLXdpZHRoOiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgICAgIG1heC13aWR0aDogOTklO1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICAgICY6Oi1tcy1maWxsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4ucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgJjo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuMnMgZWFzZTtcbiAgICB9XG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgICB0cmFuc2l0aW9uOiB3aWR0aCAwLjJzIGVhc2U7XG4gICAgfVxuICAgICY6Oi1tcy1maWxsIHtcbiAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggMC4ycyBlYXNlO1xuICAgIH1cbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlcixcbi5wbHlyLS12aWRlbyAucGx5cl9fdm9sdW1lLS1kaXNwbGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcGx5ci12aWRlby1yYW5nZS10cmFjay1iZztcbn1cbi5wbHlyLS12aWRlbyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgY29sb3I6ICRwbHlyLXZpZGVvLXByb2dyZXNzLWJ1ZmZlcmVkLWJnO1xufVxuLnBseXItLWF1ZGlvIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyLFxuLnBseXItLWF1ZGlvIC5wbHlyX192b2x1bWUtLWRpc3BsYXkge1xuICAgIGJhY2tncm91bmQ6ICRwbHlyLWF1ZGlvLXJhbmdlLXRyYWNrLWJnO1xufVxuLnBseXItLWF1ZGlvIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgICBjb2xvcjogJHBseXItYXVkaW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG5cbi8vIExvYWRpbmcgc3RhdGVcbi5wbHlyLS1sb2FkaW5nIC5wbHlyX19wcm9ncmVzcy0tYnVmZmVyIHtcbiAgICBhbmltYXRpb246IHBseXItcHJvZ3Jlc3MgMXMgbGluZWFyIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1zaXplICRwbHlyLXByb2dyZXNzLWxvYWRpbmctc2l6ZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAtNDVkZWcsXG4gICAgICAgICRwbHlyLXByb2dyZXNzLWxvYWRpbmctYmcgMjUlLFxuICAgICAgICB0cmFuc3BhcmVudCAyNSUsXG4gICAgICAgIHRyYW5zcGFyZW50IDUwJSxcbiAgICAgICAgJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1iZyA1MCUsXG4gICAgICAgICRwbHlyLXByb2dyZXNzLWxvYWRpbmctYmcgNzUlLFxuICAgICAgICB0cmFuc3BhcmVudCA3NSUsXG4gICAgICAgIHRyYW5zcGFyZW50XG4gICAgKTtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4ucGx5ci0tdmlkZW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG4ucGx5ci0tYXVkaW8ucGx5ci0tbG9hZGluZyAucGx5cl9fcHJvZ3Jlc3MtLWJ1ZmZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBseXItYXVkaW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc7XG59XG5cbi8vIFRpbWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGx5cl9fdGltZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAkcGx5ci1mb250LXNpemUtc21hbGw7XG59XG4vLyBNZWRpYSBkdXJhdGlvbiBoaWRkZW4gb24gc21hbGwgc2NyZWVuc1xuLnBseXJfX3RpbWUgKyAucGx5cl9fdGltZSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGx5ci1icC1zY3JlZW4tbWQpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8vIEFkZCBhIHNsYXNoIGluIGJlZm9yZVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFwyMDQ0XCI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJHBseXItY29udHJvbC1zcGFjaW5nO1xuICAgIH1cbn1cblxuLy8gVm9sdW1lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLnBseXJfX3ZvbHVtZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5wbHlyIC5wbHlyX192b2x1bWUge1xuICAgIGZsZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHBseXItYnAtc2NyZWVuLXNtKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcGx5ci1icC1zY3JlZW4tbWQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICB9XG59XG5cbi8vIEhpZGUgc291bmQgY29udHJvbHMgb24gaU9TXG4vLyBJdCdzIG5vdCBzdXBwb3J0ZWQgdG8gY2hhbmdlIHZvbHVtZSB1c2luZyBKYXZhU2NyaXB0OlxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvc2FmYXJpL2RvY3VtZW50YXRpb24vQXVkaW9WaWRlby9Db25jZXB0dWFsL1VzaW5nX0hUTUw1X0F1ZGlvX1ZpZGVvL0RldmljZS1TcGVjaWZpY0NvbnNpZGVyYXRpb25zL0RldmljZS1TcGVjaWZpY0NvbnNpZGVyYXRpb25zLmh0bWxcbi5wbHlyLS1pcy1pb3MgLnBseXJfX3ZvbHVtZSxcbi5wbHlyLS1pcy1pb3MgW2RhdGEtcGx5cj1cIm11dGVcIl0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gRnVsbHNjcmVlblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wbHlyLS1mdWxsc2NyZWVuLWFjdGl2ZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuXG4gICAgdmlkZW8ge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICAgIC5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLnBseXJfX3ZpZGVvLWVtYmVkIHtcbiAgICAgICAgLy8gUmV2ZXJ0IG92ZXJmbG93IGNoYW5nZVxuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBWaW1lbyByZXF1aXJlcyBzb21lIGRpZmZlcmVudCBzdHlsaW5nXG4gICAgJi5wbHlyLS12aW1lbyAucGx5cl9fdmlkZW8td3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG59XG5cbi8vIEZhbGxiYWNrIGZvciB1bnN1cHBvcnRlZCBicm93c2Vyc1xuLnBseXItLWZ1bGxzY3JlZW4tZmFsbGJhY2sucGx5ci0tZnVsbHNjcmVlbi1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgei1pbmRleDogMTAwMDAwMDA7XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGx5ciB2YXJpYWJsZXNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zZWx6L3BseXJcbi8vIGh0dHBzOi8vcm9ib3RzLnRob3VnaHRib3QuY29tL3Nhc3MtZGVmYXVsdFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gU2V0dGluZ3NcbiRwbHlyLWJvcmRlci1ib3g6ICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJHBseXItdG91Y2gtYWN0aW9uOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kcGx5ci1zci1vbmx5LWltcG9ydGFudDogICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ29sb3JzXG4kcGx5ci1jb2xvci1tYWluOiAgICAgICAgICAgICAgICAgICAgICAgIzM0OThkYiAhZGVmYXVsdDtcblxuLy8gRm9udCBzaXplc1xuJHBseXItZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgIEF2ZW5pciwgJ0F2ZW5pciBOZXh0JywgJ0hlbHZldGljYSBOZXVlJywgJ1NlZ29lIFVJJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRwbHlyLWZvbnQtc2l6ZS1zbWFsbDogICAgICAgICAgICAgICAgICAxNHB4ICFkZWZhdWx0O1xuJHBseXItZm9udC1zaXplLWJhc2U6ICAgICAgICAgICAgICAgICAgIDE2cHggIWRlZmF1bHQ7XG5cbi8vIENhcHRpb25zXG4kcGx5ci1jYXB0aW9ucy1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoIzAwMCwgLjMpICFkZWZhdWx0O1xuJHBseXItY2FwdGlvbnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtY2FwdGlvbnMtYmFzZTogICAgICAgICAgJHBseXItZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtY2FwdGlvbnMtbWVkaXVtOiAgICAgICAgY2VpbCgkcGx5ci1mb250LXNpemUtYmFzZSAqIDEuNSkgIWRlZmF1bHQ7XG4kcGx5ci1mb250LXNpemUtY2FwdGlvbnMtbGFyZ2U6ICAgICAgICAgKCRwbHlyLWZvbnQtc2l6ZS1iYXNlICogMikgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xzXG4kcGx5ci1jb250cm9sLWljb24tc2l6ZTogICAgICAgICAgICAgICAgMThweCAhZGVmYXVsdDtcbiRwbHlyLWNvbnRyb2wtc3BhY2luZzogICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBseXItY29udHJvbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICgkcGx5ci1jb250cm9sLXNwYWNpbmcgKiAuNykgIWRlZmF1bHQ7XG4kcGx5ci12aWRlby1jb250cm9scy1iZzogICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRwbHlyLXZpZGVvLWNvbnRyb2wtY29sb3I6ICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBseXItdmlkZW8tY29udHJvbC1jb2xvci1ob3ZlcjogICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kcGx5ci12aWRlby1jb250cm9sLWJnLWhvdmVyOiAgICAgICAgICAgJHBseXItY29sb3ItbWFpbiAhZGVmYXVsdDtcbiRwbHlyLWF1ZGlvLWNvbnRyb2xzLWJnOiAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBseXItYXVkaW8tY29udHJvbHMtYm9yZGVyOiAgICAgICAgICAgIDFweCBzb2xpZCAjZGJlM2U4ICFkZWZhdWx0O1xuJHBseXItYXVkaW8tY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICM1NjVENjQgIWRlZmF1bHQ7XG4kcGx5ci1hdWRpby1jb250cm9sLWNvbG9yLWhvdmVyOiAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwbHlyLWF1ZGlvLWNvbnRyb2wtYmctaG92ZXI6ICAgICAgICAgICAkcGx5ci1jb2xvci1tYWluO1xuXG4vLyBUb29sdGlwc1xuJHBseXItdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCMwMDAsIC4zKSAhZGVmYXVsdDtcbiRwbHlyLXRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuJHBseXItdG9vbHRpcC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICgkcGx5ci1jb250cm9sLXNwYWNpbmcgLyAyKSAhZGVmYXVsdDtcbiRwbHlyLXRvb2x0aXAtYXJyb3ctc2l6ZTogICAgICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG4kcGx5ci10b29sdGlwLXJhZGl1czogICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuXG4vLyBQcm9ncmVzc1xuJHBseXItcHJvZ3Jlc3MtbG9hZGluZy1zaXplOiAgICAgICAgICAgIDI1cHggIWRlZmF1bHQ7XG4kcGx5ci1wcm9ncmVzcy1sb2FkaW5nLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnRpemUoIzAwMCwgLjg1KSAhZGVmYXVsdDtcbiRwbHlyLXZpZGVvLXByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICB0cmFuc3BhcmVudGl6ZSgjZmZmLCAuNzUpICFkZWZhdWx0O1xuJHBseXItdmlkZW8tcHJvZ3Jlc3MtYnVmZmVyZWQtYmc6ICAgICAgICRwbHlyLXZpZGVvLXByb2dyZXNzLWJnICFkZWZhdWx0O1xuJHBseXItYXVkaW8tcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50aXplKCNDNkQ2REIsIC4zMykgIWRlZmF1bHQ7XG4kcGx5ci1hdWRpby1wcm9ncmVzcy1idWZmZXJlZC1iZzogICAgICAgJHBseXItYXVkaW8tcHJvZ3Jlc3MtYmcgIWRlZmF1bHQ7XG5cbi8vIFJhbmdlIHNsaWRlcnNcbiRwbHlyLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgZmxvb3IoJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0ICogMikgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgZmxvb3IoJHBseXItcmFuZ2UtdHJhY2staGVpZ2h0ICogMikgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAycHggc29saWQgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1zaGFkb3c6ICAgICAgICAgICAgICAgMCAxcHggMXB4IHRyYW5zcGFyZW50aXplKCRwbHlyLXZpZGVvLWNvbnRyb2xzLWJnLCAuODUpLCAwIDAgMCAxcHggdHJhbnNwYXJlbnRpemUoIzAwMCwgLjg1KSAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAjZmZmICFkZWZhdWx0O1xuJHBseXItcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICRwbHlyLXZpZGVvLWNvbnRyb2wtYmctaG92ZXIgIWRlZmF1bHQ7XG4kcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtc2NhbGU6ICAgICAgICAgMS4yNSAhZGVmYXVsdDtcbiRwbHlyLXZpZGVvLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkcGx5ci12aWRlby1wcm9ncmVzcy1idWZmZXJlZC1iZyAhZGVmYXVsdDtcbiRwbHlyLWF1ZGlvLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkcGx5ci1hdWRpby1wcm9ncmVzcy1idWZmZXJlZC1iZyAhZGVmYXVsdDtcbiRwbHlyLXJhbmdlLXNlbGVjdGVkLWJnOiAgICAgICAgICAgICAgICAkcGx5ci1jb2xvci1tYWluICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50c1xuJHBseXItYnAtc2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuJHBseXItYnAtc2NyZWVuLW1kOiAgICAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHBseXItYnAtc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgICAgIDEwMjRweCAhZGVmYXVsdDsiLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGx5ciBtaXhpbnNcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zZWx6L3BseXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIDxpbnB1dCB0eXBlPVwicmFuZ2VcIj4gc3R5bGluZ1xuQG1peGluIHBseXItcmFuZ2UtdHJhY2soKSB7XG4gICAgaGVpZ2h0OiAkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICgkcGx5ci1yYW5nZS10cmFjay1oZWlnaHQgLyAyKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbkBtaXhpbiBwbHlyLXJhbmdlLXRodW1iKCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6ICRwbHlyLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJHBseXItcmFuZ2UtdGh1bWItd2lkdGg7XG4gICAgYmFja2dyb3VuZDogJHBseXItcmFuZ2UtdGh1bWItYmc7XG4gICAgYm9yZGVyOiAkcGx5ci1yYW5nZS10aHVtYi1ib3JkZXI7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycyBlYXNlLCBib3JkZXIgLjJzIGVhc2UsIHRyYW5zZm9ybSAuMnMgZWFzZTtcbiAgICBib3gtc2hhZG93OiAkcGx5ci1yYW5nZS10aHVtYi1zaGFkb3c7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cbkBtaXhpbiBwbHlyLXJhbmdlLXRodW1iLWFjdGl2ZSgpIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGx5ci1yYW5nZS10aHVtYi1hY3RpdmUtYm9yZGVyLWNvbG9yO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoJHBseXItcmFuZ2UtdGh1bWItYWN0aXZlLXNjYWxlKTtcbn0iLCIvLyBmb250c1xuJHByaW1hcnktZm9udDogJ2FsbGVyJywgJ0hlbHZldGljYSBOZXVlJywgJ1NlZ29lIFVJJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRzZWN1bmRhcnktZm9udDogJ2dvYm9sZCcsICdIZWx2ZXRpY2EgTmV1ZScsICdTZWdvZSBVSScsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIGNvbG9yc1xuXG4kd2hpdGU6ICNmZmZmZmY7XG4kYmxhY2s6ICMwMDAwMDA7XG5cblxuLy8gIEdyYXlcbiRncmF5LWxpc3Q6IChcbiAgXCIwXCI6ICNmOGY5ZmEsXG4gIFwiMVwiOiAjZjFmM2Y1LFxuICBcIjJcIjogI2U5ZWNlZixcbiAgXCIzXCI6ICNkZWUyZTYsXG4gIFwiNFwiOiAjY2VkNGRhLFxuICBcIjVcIjogI2FkYjViZCxcbiAgXCI2XCI6ICM4NjhlOTYsXG4gIFwiN1wiOiAjNDk1MDU3LFxuICBcIjhcIjogIzM0M2E0MCxcbiAgXCI5XCI6ICMyMTI1MjksXG4gIFwiMTBcIjogIzFEMUQxQlxuKTtcblxuJGdyYXktMDogbWFwLWdldCgkZ3JheS1saXN0LCBcIjBcIik7XG4kZ3JheS0xOiBtYXAtZ2V0KCRncmF5LWxpc3QsIFwiMVwiKTtcbiRncmF5LTI6IG1hcC1nZXQoJGdyYXktbGlzdCwgXCIyXCIpO1xuJGdyYXktMzogbWFwLWdldCgkZ3JheS1saXN0LCBcIjNcIik7XG4kZ3JheS00OiBtYXAtZ2V0KCRncmF5LWxpc3QsIFwiNFwiKTtcbiRncmF5LTU6IG1hcC1nZXQoJGdyYXktbGlzdCwgXCI1XCIpO1xuJGdyYXktNjogbWFwLWdldCgkZ3JheS1saXN0LCBcIjZcIik7XG4kZ3JheS03OiBtYXAtZ2V0KCRncmF5LWxpc3QsIFwiN1wiKTtcbiRncmF5LTg6IG1hcC1nZXQoJGdyYXktbGlzdCwgXCI4XCIpO1xuJGdyYXktOTogbWFwLWdldCgkZ3JheS1saXN0LCBcIjlcIik7XG4kZ3JheS0xMDogbWFwLWdldCgkZ3JheS1saXN0LCBcIjEwXCIpO1xuXG5cbi8vICBSZWRcbiRyZWQtbGlzdDogKFxuICBcIjBcIjogI2ZmZjVmNSxcbiAgXCIxXCI6ICNmZmUzZTMsXG4gIFwiMlwiOiAjZmZjOWM5LFxuICBcIjNcIjogI2ZmYThhOCxcbiAgXCI0XCI6ICNmZjg3ODcsXG4gIFwiNVwiOiAjZmY2YjZiLFxuICBcIjZcIjogI2ZhNTI1MixcbiAgXCI3XCI6ICNmMDNlM2UsXG4gIFwiOFwiOiAjZTAzMTMxLFxuICBcIjlcIjogI2M5MmEyYVxuKTtcblxuJHJlZC0wOiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCIwXCIpO1xuJHJlZC0xOiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCIxXCIpO1xuJHJlZC0yOiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCIyXCIpO1xuJHJlZC0zOiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCIzXCIpO1xuJHJlZC00OiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCI0XCIpO1xuJHJlZC01OiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCI1XCIpO1xuJHJlZC02OiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCI2XCIpO1xuJHJlZC03OiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCI3XCIpO1xuJHJlZC04OiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCI4XCIpO1xuJHJlZC05OiBtYXAtZ2V0KCRyZWQtbGlzdCwgXCI5XCIpO1xuXG5cbi8vICBQaW5rXG4kcGluay1saXN0OiAoXG4gIFwiMFwiOiAjZmZmMGY2LFxuICBcIjFcIjogI2ZmZGVlYixcbiAgXCIyXCI6ICNmY2MyZDcsXG4gIFwiM1wiOiAjZmFhMmMxLFxuICBcIjRcIjogI2Y3ODNhYyxcbiAgXCI1XCI6ICNmMDY1OTUsXG4gIFwiNlwiOiAjZTY0OTgwLFxuICBcIjdcIjogI2Q2MzM2YyxcbiAgXCI4XCI6ICNjMjI1NWMsXG4gIFwiOVwiOiAjYTYxZTRkXG4pO1xuXG4kcGluay0wOiBtYXAtZ2V0KCRwaW5rLWxpc3QsIFwiMFwiKTtcbiRwaW5rLTE6IG1hcC1nZXQoJHBpbmstbGlzdCwgXCIxXCIpO1xuJHBpbmstMjogbWFwLWdldCgkcGluay1saXN0LCBcIjJcIik7XG4kcGluay0zOiBtYXAtZ2V0KCRwaW5rLWxpc3QsIFwiM1wiKTtcbiRwaW5rLTQ6IG1hcC1nZXQoJHBpbmstbGlzdCwgXCI0XCIpO1xuJHBpbmstNTogbWFwLWdldCgkcGluay1saXN0LCBcIjVcIik7XG4kcGluay02OiBtYXAtZ2V0KCRwaW5rLWxpc3QsIFwiNlwiKTtcbiRwaW5rLTc6IG1hcC1nZXQoJHBpbmstbGlzdCwgXCI3XCIpO1xuJHBpbmstODogbWFwLWdldCgkcGluay1saXN0LCBcIjhcIik7XG4kcGluay05OiBtYXAtZ2V0KCRwaW5rLWxpc3QsIFwiOVwiKTtcblxuXG4vLyAgR3JhcGVcbiRncmFwZS1saXN0OiAoXG4gIFwiMFwiOiAjZjhmMGZjLFxuICBcIjFcIjogI2YzZDlmYSxcbiAgXCIyXCI6ICNlZWJlZmEsXG4gIFwiM1wiOiAjZTU5OWY3LFxuICBcIjRcIjogI2RhNzdmMixcbiAgXCI1XCI6ICNjYzVkZTgsXG4gIFwiNlwiOiAjYmU0YmRiLFxuICBcIjdcIjogI2FlM2VjOSxcbiAgXCI4XCI6ICM5YzM2YjUsXG4gIFwiOVwiOiAjODYyZTljXG4pO1xuXG4kZ3JhcGUtMDogbWFwLWdldCgkZ3JhcGUtbGlzdCwgXCIwXCIpO1xuJGdyYXBlLTE6IG1hcC1nZXQoJGdyYXBlLWxpc3QsIFwiMVwiKTtcbiRncmFwZS0yOiBtYXAtZ2V0KCRncmFwZS1saXN0LCBcIjJcIik7XG4kZ3JhcGUtMzogbWFwLWdldCgkZ3JhcGUtbGlzdCwgXCIzXCIpO1xuJGdyYXBlLTQ6IG1hcC1nZXQoJGdyYXBlLWxpc3QsIFwiNFwiKTtcbiRncmFwZS01OiBtYXAtZ2V0KCRncmFwZS1saXN0LCBcIjVcIik7XG4kZ3JhcGUtNjogbWFwLWdldCgkZ3JhcGUtbGlzdCwgXCI2XCIpO1xuJGdyYXBlLTc6IG1hcC1nZXQoJGdyYXBlLWxpc3QsIFwiN1wiKTtcbiRncmFwZS04OiBtYXAtZ2V0KCRncmFwZS1saXN0LCBcIjhcIik7XG4kZ3JhcGUtOTogbWFwLWdldCgkZ3JhcGUtbGlzdCwgXCI5XCIpO1xuXG5cbi8vICBWaW9sZXRcbiR2aW9sZXQtbGlzdDogKFxuICBcIjBcIjogI2YzZjBmZixcbiAgXCIxXCI6ICNlNWRiZmYsXG4gIFwiMlwiOiAjZDBiZmZmLFxuICBcIjNcIjogI2IxOTdmYyxcbiAgXCI0XCI6ICM5Nzc1ZmEsXG4gIFwiNVwiOiAjODQ1ZWY3LFxuICBcIjZcIjogIzc5NTBmMixcbiAgXCI3XCI6ICM3MDQ4ZTgsXG4gIFwiOFwiOiAjNjc0MWQ5LFxuICBcIjlcIjogIzVmM2RjNFxuKTtcblxuJHZpb2xldC0wOiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCIwXCIpO1xuJHZpb2xldC0xOiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCIxXCIpO1xuJHZpb2xldC0yOiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCIyXCIpO1xuJHZpb2xldC0zOiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCIzXCIpO1xuJHZpb2xldC00OiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCI0XCIpO1xuJHZpb2xldC01OiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCI1XCIpO1xuJHZpb2xldC02OiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCI2XCIpO1xuJHZpb2xldC03OiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCI3XCIpO1xuJHZpb2xldC04OiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCI4XCIpO1xuJHZpb2xldC05OiBtYXAtZ2V0KCR2aW9sZXQtbGlzdCwgXCI5XCIpO1xuXG5cbi8vICBJbmRpZ29cbiRpbmRpZ28tbGlzdDogKFxuICBcIjBcIjogI2VkZjJmZixcbiAgXCIxXCI6ICNkYmU0ZmYsXG4gIFwiMlwiOiAjYmFjOGZmLFxuICBcIjNcIjogIzkxYTdmZixcbiAgXCI0XCI6ICM3NDhmZmMsXG4gIFwiNVwiOiAjNWM3Y2ZhLFxuICBcIjZcIjogIzRjNmVmNSxcbiAgXCI3XCI6ICM0MjYzZWIsXG4gIFwiOFwiOiAjM2I1YmRiLFxuICBcIjlcIjogIzM2NGZjN1xuKTtcblxuJGluZGlnby0wOiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCIwXCIpO1xuJGluZGlnby0xOiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCIxXCIpO1xuJGluZGlnby0yOiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCIyXCIpO1xuJGluZGlnby0zOiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCIzXCIpO1xuJGluZGlnby00OiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCI0XCIpO1xuJGluZGlnby01OiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCI1XCIpO1xuJGluZGlnby02OiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCI2XCIpO1xuJGluZGlnby03OiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCI3XCIpO1xuJGluZGlnby04OiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCI4XCIpO1xuJGluZGlnby05OiBtYXAtZ2V0KCRpbmRpZ28tbGlzdCwgXCI5XCIpO1xuXG5cbi8vICBCbHVlXG4kYmx1ZS1saXN0OiAoXG4gIFwiMFwiOiAjZTVmYmZmLFxuICBcIjFcIjogI2M1ZjVmZixcbiAgXCIyXCI6ICM5OWU3ZmYsXG4gIFwiM1wiOiAjNjRkOGZmLFxuICBcIjRcIjogIzNhYzhmZixcbiAgXCI1XCI6ICMxYWJhZmYsXG4gIFwiNlwiOiAjMGFhOWY1LFxuICBcIjdcIjogIzA3OThlMixcbiAgXCI4XCI6ICMwOTg1Y2EsXG4gIFwiOVwiOiAjMDk3NWFlXG4pO1xuXG4kYmx1ZS0wOiBtYXAtZ2V0KCRibHVlLWxpc3QsIFwiMFwiKTtcbiRibHVlLTE6IG1hcC1nZXQoJGJsdWUtbGlzdCwgXCIxXCIpO1xuJGJsdWUtMjogbWFwLWdldCgkYmx1ZS1saXN0LCBcIjJcIik7XG4kYmx1ZS0zOiBtYXAtZ2V0KCRibHVlLWxpc3QsIFwiM1wiKTtcbiRibHVlLTQ6IG1hcC1nZXQoJGJsdWUtbGlzdCwgXCI0XCIpO1xuJGJsdWUtNTogbWFwLWdldCgkYmx1ZS1saXN0LCBcIjVcIik7XG4kYmx1ZS02OiBtYXAtZ2V0KCRibHVlLWxpc3QsIFwiNlwiKTtcbiRibHVlLTc6IG1hcC1nZXQoJGJsdWUtbGlzdCwgXCI3XCIpO1xuJGJsdWUtODogbWFwLWdldCgkYmx1ZS1saXN0LCBcIjhcIik7XG4kYmx1ZS05OiBtYXAtZ2V0KCRibHVlLWxpc3QsIFwiOVwiKTtcblxuXG4vLyAgQ3lhblxuJGN5YW4tbGlzdDogKFxuICBcIjBcIjogI2UzZmFmYyxcbiAgXCIxXCI6ICNjNWY2ZmEsXG4gIFwiMlwiOiAjOTllOWYyLFxuICBcIjNcIjogIzY2ZDllOCxcbiAgXCI0XCI6ICMzYmM5ZGIsXG4gIFwiNVwiOiAjMjJiOGNmLFxuICBcIjZcIjogIzE1YWFiZixcbiAgXCI3XCI6ICMxMDk4YWQsXG4gIFwiOFwiOiAjMGM4NTk5LFxuICBcIjlcIjogIzBiNzI4NVxuKTtcblxuJGN5YW4tMDogbWFwLWdldCgkY3lhbi1saXN0LCBcIjBcIik7XG4kY3lhbi0xOiBtYXAtZ2V0KCRjeWFuLWxpc3QsIFwiMVwiKTtcbiRjeWFuLTI6IG1hcC1nZXQoJGN5YW4tbGlzdCwgXCIyXCIpO1xuJGN5YW4tMzogbWFwLWdldCgkY3lhbi1saXN0LCBcIjNcIik7XG4kY3lhbi00OiBtYXAtZ2V0KCRjeWFuLWxpc3QsIFwiNFwiKTtcbiRjeWFuLTU6IG1hcC1nZXQoJGN5YW4tbGlzdCwgXCI1XCIpO1xuJGN5YW4tNjogbWFwLWdldCgkY3lhbi1saXN0LCBcIjZcIik7XG4kY3lhbi03OiBtYXAtZ2V0KCRjeWFuLWxpc3QsIFwiN1wiKTtcbiRjeWFuLTg6IG1hcC1nZXQoJGN5YW4tbGlzdCwgXCI4XCIpO1xuJGN5YW4tOTogbWFwLWdldCgkY3lhbi1saXN0LCBcIjlcIik7XG5cblxuLy8gIFRlYWxcbiR0ZWFsLWxpc3Q6IChcbiAgXCIwXCI6ICNlNmZjZjUsXG4gIFwiMVwiOiAjYzNmYWU4LFxuICBcIjJcIjogIzk2ZjJkNyxcbiAgXCIzXCI6ICM2M2U2YmUsXG4gIFwiNFwiOiAjMzhkOWE5LFxuICBcIjVcIjogIzIwYzk5NyxcbiAgXCI2XCI6ICMxMmI4ODYsXG4gIFwiN1wiOiAjMGNhNjc4LFxuICBcIjhcIjogIzA5OTI2OCxcbiAgXCI5XCI6ICMwODdmNWJcbik7XG5cbiR0ZWFsLTA6IG1hcC1nZXQoJHRlYWwtbGlzdCwgXCIwXCIpO1xuJHRlYWwtMTogbWFwLWdldCgkdGVhbC1saXN0LCBcIjFcIik7XG4kdGVhbC0yOiBtYXAtZ2V0KCR0ZWFsLWxpc3QsIFwiMlwiKTtcbiR0ZWFsLTM6IG1hcC1nZXQoJHRlYWwtbGlzdCwgXCIzXCIpO1xuJHRlYWwtNDogbWFwLWdldCgkdGVhbC1saXN0LCBcIjRcIik7XG4kdGVhbC01OiBtYXAtZ2V0KCR0ZWFsLWxpc3QsIFwiNVwiKTtcbiR0ZWFsLTY6IG1hcC1nZXQoJHRlYWwtbGlzdCwgXCI2XCIpO1xuJHRlYWwtNzogbWFwLWdldCgkdGVhbC1saXN0LCBcIjdcIik7XG4kdGVhbC04OiBtYXAtZ2V0KCR0ZWFsLWxpc3QsIFwiOFwiKTtcbiR0ZWFsLTk6IG1hcC1nZXQoJHRlYWwtbGlzdCwgXCI5XCIpO1xuXG5cbi8vICBHcmVlblxuJGdyZWVuLWxpc3Q6IChcbiAgXCIwXCI6ICNlYmZiZWUsXG4gIFwiMVwiOiAjZDNmOWQ4LFxuICBcIjJcIjogI2IyZjJiYixcbiAgXCIzXCI6ICM4Y2U5OWEsXG4gIFwiNFwiOiAjNjlkYjdjLFxuICBcIjVcIjogIzUxY2Y2NixcbiAgXCI2XCI6ICM0MGMwNTcsXG4gIFwiN1wiOiAjMzdiMjRkLFxuICBcIjhcIjogIzJmOWU0NCxcbiAgXCI5XCI6ICMyYjhhM2Vcbik7XG5cbiRncmVlbi0wOiBtYXAtZ2V0KCRncmVlbi1saXN0LCBcIjBcIik7XG4kZ3JlZW4tMTogbWFwLWdldCgkZ3JlZW4tbGlzdCwgXCIxXCIpO1xuJGdyZWVuLTI6IG1hcC1nZXQoJGdyZWVuLWxpc3QsIFwiMlwiKTtcbiRncmVlbi0zOiBtYXAtZ2V0KCRncmVlbi1saXN0LCBcIjNcIik7XG4kZ3JlZW4tNDogbWFwLWdldCgkZ3JlZW4tbGlzdCwgXCI0XCIpO1xuJGdyZWVuLTU6IG1hcC1nZXQoJGdyZWVuLWxpc3QsIFwiNVwiKTtcbiRncmVlbi02OiBtYXAtZ2V0KCRncmVlbi1saXN0LCBcIjZcIik7XG4kZ3JlZW4tNzogbWFwLWdldCgkZ3JlZW4tbGlzdCwgXCI3XCIpO1xuJGdyZWVuLTg6IG1hcC1nZXQoJGdyZWVuLWxpc3QsIFwiOFwiKTtcbiRncmVlbi05OiBtYXAtZ2V0KCRncmVlbi1saXN0LCBcIjlcIik7XG5cblxuLy8gIExpbWVcbiRsaW1lLWxpc3Q6IChcbiAgXCIwXCI6ICNmNGZjZTMsXG4gIFwiMVwiOiAjZTlmYWM4LFxuICBcIjJcIjogI2Q4ZjVhMixcbiAgXCIzXCI6ICNjMGViNzUsXG4gIFwiNFwiOiAjYTllMzRiLFxuICBcIjVcIjogIzk0ZDgyZCxcbiAgXCI2XCI6ICM4MmM5MWUsXG4gIFwiN1wiOiAjNzRiODE2LFxuICBcIjhcIjogIzY2YTgwZixcbiAgXCI5XCI6ICM1Yzk0MGRcbik7XG5cbiRsaW1lLTA6IG1hcC1nZXQoJGxpbWUtbGlzdCwgXCIwXCIpO1xuJGxpbWUtMTogbWFwLWdldCgkbGltZS1saXN0LCBcIjFcIik7XG4kbGltZS0yOiBtYXAtZ2V0KCRsaW1lLWxpc3QsIFwiMlwiKTtcbiRsaW1lLTM6IG1hcC1nZXQoJGxpbWUtbGlzdCwgXCIzXCIpO1xuJGxpbWUtNDogbWFwLWdldCgkbGltZS1saXN0LCBcIjRcIik7XG4kbGltZS01OiBtYXAtZ2V0KCRsaW1lLWxpc3QsIFwiNVwiKTtcbiRsaW1lLTY6IG1hcC1nZXQoJGxpbWUtbGlzdCwgXCI2XCIpO1xuJGxpbWUtNzogbWFwLWdldCgkbGltZS1saXN0LCBcIjdcIik7XG4kbGltZS04OiBtYXAtZ2V0KCRsaW1lLWxpc3QsIFwiOFwiKTtcbiRsaW1lLTk6IG1hcC1nZXQoJGxpbWUtbGlzdCwgXCI5XCIpO1xuXG5cbi8vICBZZWxsb3dcbiR5ZWxsb3ctbGlzdDogKFxuICBcIjBcIjogI2Y5ZjJkMixcbiAgXCIxXCI6ICNmOWViYjMsXG4gIFwiMlwiOiAjZjllMzhjLFxuICBcIjNcIjogI2Y4ZDU1YSxcbiAgXCI0XCI6ICNmOGM4MzUsXG4gIFwiNVwiOiAjZjViNzFiLFxuICBcIjZcIjogI2YxYTEwYSxcbiAgXCI3XCI6ICNlYzkwMDQsXG4gIFwiOFwiOiAjZTY3YzAzLFxuICBcIjlcIjogI2RjNjkwM1xuKTtcblxuJHllbGxvdy0wOiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCIwXCIpO1xuJHllbGxvdy0xOiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCIxXCIpO1xuJHllbGxvdy0yOiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCIyXCIpO1xuJHllbGxvdy0zOiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCIzXCIpO1xuJHllbGxvdy00OiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCI0XCIpO1xuJHllbGxvdy01OiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCI1XCIpO1xuJHllbGxvdy02OiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCI2XCIpO1xuJHllbGxvdy03OiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCI3XCIpO1xuJHllbGxvdy04OiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCI4XCIpO1xuJHllbGxvdy05OiBtYXAtZ2V0KCR5ZWxsb3ctbGlzdCwgXCI5XCIpO1xuXG5cbi8vICBPcmFuZ2VcbiRvcmFuZ2UtbGlzdDogKFxuICBcIjBcIjogI2ZmZjRlNixcbiAgXCIxXCI6ICNmZmU4Y2MsXG4gIFwiMlwiOiAjZmZkOGE4LFxuICBcIjNcIjogI2ZmYzA3OCxcbiAgXCI0XCI6ICNmZmE5NGQsXG4gIFwiNVwiOiAjZmY5MjJiLFxuICBcIjZcIjogI2ZkN2UxNCxcbiAgXCI3XCI6ICNmNzY3MDcsXG4gIFwiOFwiOiAjZTg1OTBjLFxuICBcIjlcIjogI2Q5NDgwZlxuKTtcblxuJG9yYW5nZS0wOiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCIwXCIpO1xuJG9yYW5nZS0xOiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCIxXCIpO1xuJG9yYW5nZS0yOiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCIyXCIpO1xuJG9yYW5nZS0zOiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCIzXCIpO1xuJG9yYW5nZS00OiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCI0XCIpO1xuJG9yYW5nZS01OiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCI1XCIpO1xuJG9yYW5nZS02OiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCI2XCIpO1xuJG9yYW5nZS03OiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCI3XCIpO1xuJG9yYW5nZS04OiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCI4XCIpO1xuJG9yYW5nZS05OiBtYXAtZ2V0KCRvcmFuZ2UtbGlzdCwgXCI5XCIpO1xuXG5cbi8vICBDb2xvciBsaXN0XG4kY29sb3Itc3BlY3RydW06ICAgOTtcblxuJGNvbG9yLWxpc3Q6IChcbiAgJGdyYXktbGlzdDogIFwiZ3JheVwiLFxuICAkcmVkLWxpc3Q6ICAgXCJyZWRcIixcbiAgJHBpbmstbGlzdDogIFwicGlua1wiLFxuICAkZ3JhcGUtbGlzdDogXCJncmFwZVwiLFxuICAkdmlvbGV0LWxpc3Q6XCJ2aW9sZXRcIixcbiAgJGluZGlnby1saXN0OlwiaW5kaWdvXCIsXG4gICRibHVlLWxpc3Q6ICBcImJsdWVcIixcbiAgJGN5YW4tbGlzdDogIFwiY3lhblwiLFxuICAkdGVhbC1saXN0OiAgXCJ0ZWFsXCIsXG4gICRncmVlbi1saXN0OiBcImdyZWVuXCIsXG4gICRsaW1lLWxpc3Q6ICBcImxpbWVcIixcbiAgJHllbGxvdy1saXN0OlwieWVsbG93XCIsXG4gICRvcmFuZ2UtbGlzdDpcIm9yYW5nZVwiXG4pO1xuIiwiLy8gU3dlZXRBbGVydDJcbi8vIGdpdGh1Yi5jb20vc3dlZXRhbGVydDIvc3dlZXRhbGVydDJcblxuQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ21peGlucyc7XG5cbmh0bWwsXG5ib2R5IHtcbiAgJi5zd2FsMi1zaG93biB7XG4gICAgQGluY2x1ZGUgbm90KFxuICAgICAgJy5zd2FsMi1uby1iYWNrZHJvcCcsXG4gICAgICAnLnN3YWwyLXRvYXN0LXNob3duJ1xuICAgICkge1xuICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIH1cbiAgfVxufVxuXG5ib2R5IHtcbiAgJi5zd2FsMi10b2FzdC1zaG93biB7XG4gICAgJi5zd2FsMi1oYXMtaW5wdXQgID4gLnN3YWwyLWNvbnRhaW5lciB7XG4gICAgICAmID4gLnN3YWwyLXRvYXN0IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAuc3dhbDItaWNvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zd2FsMi1idXR0b25zd3JhcHBlciB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dhbDItbG9hZGluZyB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuc3dhbDItaW5wdXQge1xuICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgbWFyZ2luOiA1cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYgPiAuc3dhbDItY29udGFpbmVyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAmLnN3YWwyLXNob3duIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItdG9wIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi10b3AtZW5kLFxuICAgICAgJi5zd2FsMi10b3AtcmlnaHQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItdG9wLXN0YXJ0LFxuICAgICAgJi5zd2FsMi10b3AtbGVmdCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1jZW50ZXItc3RhcnQsXG4gICAgICAmLnN3YWwyLWNlbnRlci1sZWZ0IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1jZW50ZXIge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1jZW50ZXItZW5kLFxuICAgICAgJi5zd2FsMi1jZW50ZXItcmlnaHQge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWJvdHRvbS1zdGFydCxcbiAgICAgICYuc3dhbDItYm90dG9tLWxlZnQge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItYm90dG9tIHtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1ib3R0b20tZW5kLFxuICAgICAgJi5zd2FsMi1ib3R0b20tcmlnaHQge1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5zd2FsMi1pb3NmaXgge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICB9XG5cbiAgJi5zd2FsMi1uby1iYWNrZHJvcCB7XG5cbiAgICAmID4gLnN3YWwyLXNob3duIHtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAmID4gLnN3YWwyLW1vZGFsIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggJHN3YWwyLW92ZXJsYXk7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItdG9wIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi10b3Atc3RhcnQsXG4gICAgICAmLnN3YWwyLXRvcC1sZWZ0IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLXRvcC1lbmQsXG4gICAgICAmLnN3YWwyLXRvcC1yaWdodCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItY2VudGVyIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItY2VudGVyLXN0YXJ0LFxuICAgICAgJi5zd2FsMi1jZW50ZXItbGVmdCB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItY2VudGVyLWVuZCxcbiAgICAgICYuc3dhbDItY2VudGVyLXJpZ2h0IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG5cbiAgICAgICYuc3dhbDItYm90dG9tIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1ib3R0b20tc3RhcnQsXG4gICAgICAmLnN3YWwyLWJvdHRvbS1sZWZ0IHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWJvdHRvbS1lbmQsXG4gICAgICAmLnN3YWwyLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zd2FsMi1jb250YWluZXIge1xuICAvLyBjZW50ZXJpbmdcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcGFkZGluZzogMTBweDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuXG4gIC8vIGJhY2tkcm9wXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIHotaW5kZXg6IDEwNjA7XG5cbiAgJi5zd2FsMi10b3Age1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG5cbiAgJi5zd2FsMi10b3Atc3RhcnQsXG4gICYuc3dhbDItdG9wLWxlZnQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gICYuc3dhbDItdG9wLWVuZCxcbiAgJi5zd2FsMi10b3AtcmlnaHQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cblxuICAmLnN3YWwyLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICYuc3dhbDItY2VudGVyLXN0YXJ0LFxuICAmLnN3YWwyLWNlbnRlci1sZWZ0IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gICYuc3dhbDItY2VudGVyLWVuZCxcbiAgJi5zd2FsMi1jZW50ZXItcmlnaHQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgfVxuXG4gICYuc3dhbDItYm90dG9tIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIH1cblxuICAmLnN3YWwyLWJvdHRvbS1zdGFydCxcbiAgJi5zd2FsMi1ib3R0b20tbGVmdCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgfVxuXG4gICYuc3dhbDItYm90dG9tLWVuZCxcbiAgJi5zd2FsMi1ib3R0b20tcmlnaHQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG5cbiAgJi5zd2FsMi1ncm93LWZ1bGxzY3JlZW4gPiAuc3dhbDItbW9kYWwge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmLnN3YWwyLWdyb3ctcm93ID4gLnN3YWwyLW1vZGFsIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleDogMTtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmLnN3YWwyLWdyb3ctY29sdW1uIHtcbiAgICBmbGV4OiAxO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAmLnN3YWwyLXRvcCxcbiAgICAmLnN3YWwyLWNlbnRlcixcbiAgICAmLnN3YWwyLWJvdHRvbSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgICYuc3dhbDItdG9wLXN0YXJ0LFxuICAgICYuc3dhbDItY2VudGVyLXN0YXJ0LFxuICAgICYuc3dhbDItYm90dG9tLXN0YXJ0LFxuICAgICYuc3dhbDItdG9wLWxlZnQsXG4gICAgJi5zd2FsMi1jZW50ZXItbGVmdCxcbiAgICAmLnN3YWwyLWJvdHRvbS1sZWZ0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgICYuc3dhbDItdG9wLWVuZCxcbiAgICAmLnN3YWwyLWNlbnRlci1lbmQsXG4gICAgJi5zd2FsMi1ib3R0b20tZW5kLFxuICAgICYuc3dhbDItdG9wLXJpZ2h0LFxuICAgICYuc3dhbDItY2VudGVyLXJpZ2h0LFxuICAgICYuc3dhbDItYm90dG9tLXJpZ2h0IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICB9XG5cbiAgICAmID4gLnN3YWwyLW1vZGFsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBub3QoXG4gICAgJy5zd2FsMi10b3AnLFxuICAgICcuc3dhbDItdG9wLXN0YXJ0JyxcbiAgICAnLnN3YWwyLXRvcC1lbmQnLFxuICAgICcuc3dhbDItdG9wLWxlZnQnLFxuICAgICcuc3dhbDItdG9wLXJpZ2h0JyxcbiAgICAnLnN3YWwyLWNlbnRlci1zdGFydCcsXG4gICAgJy5zd2FsMi1jZW50ZXItZW5kJyxcbiAgICAnLnN3YWwyLWNlbnRlci1sZWZ0JyxcbiAgICAnLnN3YWwyLWNlbnRlci1yaWdodCcsXG4gICAgJy5zd2FsMi1ib3R0b20nLFxuICAgICcuc3dhbDItYm90dG9tLXN0YXJ0JyxcbiAgICAnLnN3YWwyLWJvdHRvbS1lbmQnLFxuICAgICcuc3dhbDItYm90dG9tLWxlZnQnLFxuICAgICcuc3dhbDItYm90dG9tLXJpZ2h0Jykge1xuICAgICYgPiAuc3dhbDItbW9kYWwge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGllIHtcbiAgICAuc3dhbDItbW9kYWwge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJi5zd2FsMi1mYWRlIHtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4xcztcbiAgfVxuXG4gICYuc3dhbDItc2hvd24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2FsMi1vdmVybGF5O1xuICB9XG59XG5cblxuLnN3YWwyLXBvcHVwIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHN3YWwyLXdoaXRlO1xuICBmb250LWZhbWlseTogJHN3YWwyLWZvbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICYuc3dhbDItdG9hc3Qge1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAkc3dhbDItYm94LXNoYWRvdztcblxuICAgIC5zd2FsMi10aXRsZSB7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICAuc3dhbDItY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5zd2FsMi1pY29uIHtcbiAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuXG4gICAgICAmLnN3YWwyLXN1Y2Nlc3Mge1xuXG4gICAgICAgIC5zd2FsMi1zdWNjZXNzLXJpbmcge1xuICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnN3YWwyLWluZm8sXG4gICAgICAmLnN3YWwyLXdhcm5pbmcsXG4gICAgICAmLnN3YWwyLXF1ZXN0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIH1cblxuICAgICAgJi5zd2FsMi1lcnJvciB7XG5cbiAgICAgICAgW2NsYXNzXj0nc3dhbDIteC1tYXJrLWxpbmUnXSB7XG4gICAgICAgICAgdG9wOiAxNHB4O1xuICAgICAgICAgIHdpZHRoOiAyMnB4O1xuXG4gICAgICAgICAgJltjbGFzcyQ9J2xlZnQnXSB7XG4gICAgICAgICAgICBsZWZ0OiA1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJltjbGFzcyQ9J3JpZ2h0J10ge1xuICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dhbDItYnV0dG9uc3dyYXBwZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgfVxuXG4gICAgLnN3YWwyLXN0eWxlZCB7XG4gICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICRzd2FsMi13aGl0ZSwgMCAwIDAgMnB4ICRzd2FsMi1mb2N1cy1vdXRsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zd2FsMi12YWxpZGF0aW9uZXJyb3Ige1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDVweCAtMjBweDtcbiAgICB9XG5cbiAgICAuc3dhbDItc3VjY2VzcyB7XG4gICAgICBib3JkZXItY29sb3I6ICRzd2FsMi1zdWNjZXNzO1xuXG4gICAgICBbY2xhc3NePSdzd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmUnXSB7IC8vIEVtdWxhdGUgbW92aW5nIGNpcmN1bGFyIGxpbmVcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBoZWlnaHQ6IDY0cHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICAmW2NsYXNzJD0nbGVmdCddIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA2NHB4IDAgMCA2NHB4O1xuICAgICAgICAgIHRvcDogLTRweDtcbiAgICAgICAgICBsZWZ0OiAtMTVweDtcblxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMzJweCAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJltjbGFzcyQ9J3JpZ2h0J10ge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNjRweCA2NHB4IDA7XG4gICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICAgIGxlZnQ6IDE0cHg7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCAzMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zd2FsMi1zdWNjZXNzLXJpbmcge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgfVxuXG4gICAgICAuc3dhbDItc3VjY2Vzcy1maXgge1xuICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIGxlZnQ6IDI4cHg7XG4gICAgICAgIHRvcDogOHB4O1xuICAgICAgfVxuXG4gICAgICBbY2xhc3NePSdzd2FsMi1zdWNjZXNzLWxpbmUnXSB7XG4gICAgICAgIGhlaWdodDogNXB4O1xuXG4gICAgICAgICZbY2xhc3MkPSd0aXAnXSB7XG4gICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICAgIHRvcDogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgICZbY2xhc3MkPSdsb25nJ10ge1xuICAgICAgICAgIHdpZHRoOiAyMnB4O1xuICAgICAgICAgIHJpZ2h0OiAzcHg7XG4gICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcCB7XG4gICAgICBhbmltYXRpb246IGFuaW1hdGUtdG9hc3Qtc3VjY2Vzcy10aXAgLjc1cztcbiAgICB9XG5cbiAgICAuc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyB7XG4gICAgICBhbmltYXRpb246IGFuaW1hdGUtdG9hc3Qtc3VjY2Vzcy1sb25nIC43NXM7XG4gICAgfVxuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICYuc3dhbDItbG9hZGluZyB7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICB9XG5cbiAgLnN3YWwyLXRpdGxlIHtcbiAgICBjb2xvcjogbGlnaHRlbigkc3dhbDItYmxhY2ssIDM1KTtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIC40ZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIH1cblxuICAuc3dhbDItYnV0dG9uc3dyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcblxuICAgICY6bm90KC5zd2FsMi1sb2FkaW5nKSB7XG4gICAgICAuc3dhbDItc3R5bGVkIHtcbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgIG9wYWNpdHk6IC40O1xuICAgICAgICAgIGN1cnNvcjogbm8tZHJvcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3dhbDItbG9hZGluZyB7XG4gICAgICAuc3dhbDItc3R5bGVkIHtcbiAgICAgICAgJi5zd2FsMi1jb25maXJtIHtcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgbWFyZ2luOiA3LjVweDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgIGFuaW1hdGlvbjogcm90YXRlLWxvYWRpbmcgMS41cyBsaW5lYXIgMHMgaW5maW5pdGUgbm9ybWFsO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zd2FsMi1jYW5jZWwge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICA6bm90KC5zd2FsMi1zdHlsZWQpIHtcbiAgICAgICAgJi5zd2FsMi1jb25maXJtIHtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTFweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbGlnaHRlbigkc3dhbDItYmxhY2ssIDYwKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggMXB4ICRzd2FsMi13aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBhbmltYXRpb246IHJvdGF0ZS1sb2FkaW5nIDEuNXMgbGluZWFyIDBzIGluZmluaXRlIG5vcm1hbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3dhbDItc3R5bGVkIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6ICRzd2FsMi13aGl0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxN3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luOiAxNXB4IDVweCAwO1xuICAgIHBhZGRpbmc6IDEwcHggMzJweDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkc3dhbDItd2hpdGUsIDAgMCAwIDRweCAkc3dhbDItZm9jdXMtb3V0bGluZTtcbiAgICB9XG4gIH1cblxuICAuc3dhbDItaW1hZ2Uge1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5zd2FsMi1jbG9zZSB7XG4gICAgYmFja2dyb3VuZDogJHN3YWwyLXRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMzhweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBzZXJpZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgcmlnaHQ6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRzd2FsMi1jbG9zZS1idXR0b247XG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjFzIGVhc2U7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkc3dhbDItY2xvc2UtYnV0dG9uLWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gID4gLnN3YWwyLWlucHV0LFxuICA+IC5zd2FsMi1maWxlLFxuICA+IC5zd2FsMi10ZXh0YXJlYSxcbiAgPiAuc3dhbDItc2VsZWN0LFxuICA+IC5zd2FsMi1yYWRpbyxcbiAgPiAuc3dhbDItY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc3dhbDItY29udGVudCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiBsaWdodGVuKCRzd2FsMi1ibGFjaywgMzMpO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgfVxuXG4gIC5zd2FsMi1pbnB1dCxcbiAgLnN3YWwyLWZpbGUsXG4gIC5zd2FsMi10ZXh0YXJlYSxcbiAgLnN3YWwyLXNlbGVjdCxcbiAgLnN3YWwyLXJhZGlvLFxuICAuc3dhbDItY2hlY2tib3gge1xuICAgIG1hcmdpbjogMjBweCBhdXRvO1xuICB9XG5cbiAgLnN3YWwyLWlucHV0LFxuICAuc3dhbDItZmlsZSxcbiAgLnN3YWwyLXRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHN3YWwyLWlucHV0LWJvcmRlcjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggJHN3YWwyLWlucHV0LWJveC1zaGFkb3c7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIC4zcywgYm94LXNoYWRvdyAuM3M7XG5cbiAgICAmLnN3YWwyLWlucHV0ZXJyb3Ige1xuICAgICAgYm9yZGVyLWNvbG9yOiAkc3dhbDItZXJyb3IgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggJHN3YWwyLWVycm9yICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJHN3YWwyLWlucHV0LWJvcmRlci1mb2N1cztcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAzcHggJHN3YWwyLWlucHV0LWJveC1zaGFkb3ctZm9jdXM7XG4gICAgfVxuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oJHN3YWwyLWJsYWNrLCA4MCk7XG4gICAgfVxuICB9XG5cbiAgLnN3YWwyLXJhbmdlIHtcbiAgICBpbnB1dCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuXG4gICAgb3V0cHV0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGlucHV0LFxuICAgIG91dHB1dCB7XG4gICAgICBoZWlnaHQ6IDQzcHg7XG4gICAgICBsaW5lLWhlaWdodDogNDNweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDIwcHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLnN3YWwyLWlucHV0IHtcbiAgICBoZWlnaHQ6IDQzcHg7XG4gICAgcGFkZGluZzogMCAxMnB4O1xuXG4gICAgJlt0eXBlPSdudW1iZXInXSB7XG4gICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5zd2FsMi1maWxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cblxuICAuc3dhbDItdGV4dGFyZWEge1xuICAgIGhlaWdodDogMTA4cHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgfVxuXG4gIC5zd2FsMi1zZWxlY3Qge1xuICAgIGNvbG9yOiBsaWdodGVuKCRzd2FsMi1ibGFjaywgMzMpO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICBtaW4td2lkdGg6IDQwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuc3dhbDItcmFkaW8ge1xuICAgIGJvcmRlcjogMDtcblxuICAgIGxhYmVsIHtcbiAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dCxcbiAgICBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luOiAwIDNweCAwIDA7XG4gICAgfVxuICB9XG5cbiAgLnN3YWwyLWNoZWNrYm94IHtcbiAgICBjb2xvcjogbGlnaHRlbigkc3dhbDItYmxhY2ssIDMzKTtcblxuICAgIGlucHV0LFxuICAgIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuc3dhbDItdmFsaWRhdGlvbmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCRzd2FsMi1ibGFjaywgOTQpO1xuICAgIG1hcmdpbjogMCAtMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgY29sb3I6IGxpZ2h0ZW4oJHN3YWwyLWJsYWNrLCA1MCk7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnISc7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2FsMi12YWxpZGF0aW9uZXJyb3ItYmFja2dyb3VuZDtcbiAgICAgIGNvbG9yOiAkc3dhbDItdmFsaWRhdGlvbmVycm9yLWNvbG9yO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbkBzdXBwb3J0cyAoLW1zLWFjY2VsZXJhdG9yOiB0cnVlKSB7XG4gIC5zd2FsMi1yYW5nZSB7XG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBvdXRwdXQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgLnN3YWwyLXJhbmdlIHtcbiAgICBpbnB1dCB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIG91dHB1dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4uc3dhbDItaWNvbiB7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG1hcmdpbjogMjBweCBhdXRvIDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgJi5zd2FsMi1lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkc3dhbDItZXJyb3I7XG5cbiAgICAuc3dhbDIteC1tYXJrIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIFtjbGFzc149J3N3YWwyLXgtbWFyay1saW5lJ10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICB3aWR0aDogNDdweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRzd2FsMi1lcnJvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiAzN3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuXG4gICAgICAmW2NsYXNzJD0nbGVmdCddIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICBsZWZ0OiAxN3B4O1xuICAgICAgfVxuXG4gICAgICAmW2NsYXNzJD0ncmlnaHQnXSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuc3dhbDItd2FybmluZyB7XG4gICAgZm9udC1mYW1pbHk6ICRzd2FsMi1mb250O1xuICAgIGNvbG9yOiAkc3dhbDItd2FybmluZztcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJHN3YWwyLXdhcm5pbmcsIDcpO1xuICAgIGZvbnQtc2l6ZTogNjBweDtcbiAgICBsaW5lLWhlaWdodDogODBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmLnN3YWwyLWluZm8ge1xuICAgIGZvbnQtZmFtaWx5OiAkc3dhbDItZm9udDtcbiAgICBjb2xvcjogJHN3YWwyLWluZm87XG4gICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRzd2FsMi1pbmZvLCAyMCk7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA4MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gICYuc3dhbDItcXVlc3Rpb24ge1xuICAgIGZvbnQtZmFtaWx5OiAkc3dhbDItZm9udDtcbiAgICBjb2xvcjogJHN3YWwyLXF1ZXN0aW9uO1xuICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkc3dhbDItcXVlc3Rpb24sIDIwKTtcbiAgICBmb250LXNpemU6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDgwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJi5zd2FsMi1zdWNjZXNzIHtcbiAgICBib3JkZXItY29sb3I6ICRzd2FsMi1zdWNjZXNzO1xuXG4gICAgW2NsYXNzXj0nc3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lJ10geyAvLyBFbXVsYXRlIG1vdmluZyBjaXJjdWxhciBsaW5lXG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICZbY2xhc3MkPSdsZWZ0J10ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMjBweCAwIDAgMTIwcHg7XG4gICAgICAgIHRvcDogLTdweDtcbiAgICAgICAgbGVmdDogLTMzcHg7XG5cbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNjBweCA2MHB4O1xuICAgICAgfVxuXG4gICAgICAmW2NsYXNzJD0ncmlnaHQnXSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMTIwcHggMTIwcHggMDtcbiAgICAgICAgdG9wOiAtMTFweDtcbiAgICAgICAgbGVmdDogMzBweDtcblxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDYwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN3YWwyLXN1Y2Nlc3MtcmluZyB7IC8vIFJpbmdcbiAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgaGVpZ2h0OiA4MHB4O1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgJHN3YWwyLXN1Y2Nlc3MtYm9yZGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IC00cHg7XG4gICAgICB0b3A6IC00cHg7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5zd2FsMi1zdWNjZXNzLWZpeCB7IC8vIEhpZGUgY29ybmVycyBsZWZ0IGZyb20gYW5pbWF0aW9uXG4gICAgICB3aWR0aDogN3B4O1xuICAgICAgaGVpZ2h0OiA5MHB4O1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyOHB4O1xuICAgICAgdG9wOiA4cHg7XG4gICAgICB6LWluZGV4OiAxO1xuXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIH1cblxuICAgIFtjbGFzc149J3N3YWwyLXN1Y2Nlc3MtbGluZSddIHtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHN3YWwyLXN1Y2Nlc3M7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMjtcblxuICAgICAgJltjbGFzcyQ9J3RpcCddIHtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG5cbiAgICAgICAgbGVmdDogMTRweDtcbiAgICAgICAgdG9wOiA0NnB4O1xuXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgIH1cblxuICAgICAgJltjbGFzcyQ9J2xvbmcnXSB7XG4gICAgICAgIHdpZHRoOiA0N3B4O1xuXG4gICAgICAgIHJpZ2h0OiA4cHg7XG4gICAgICAgIHRvcDogMzhweDtcblxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uc3dhbDItcHJvZ3Jlc3NzdGVwcyB7XG4gICRsaWdodGJsdWU6ICNhZGQ4ZTY7XG4gICRibHVlOiAjMzA4NWQ2O1xuXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3dhbDItcHJvZ3Jlc3NjaXJjbGUge1xuICAgIGJhY2tncm91bmQ6ICRibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDJlbTtcbiAgICBjb2xvcjogJHN3YWwyLXdoaXRlO1xuICAgIGhlaWdodDogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyZW07XG4gICAgei1pbmRleDogMjA7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi5zd2FsMi1hY3RpdmVwcm9ncmVzc3N0ZXAge1xuICAgICAgYmFja2dyb3VuZDogJGJsdWU7XG5cbiAgICAgIH4gLnN3YWwyLXByb2dyZXNzY2lyY2xlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0Ymx1ZTtcbiAgICAgIH1cblxuICAgICAgfiAuc3dhbDItcHJvZ3Jlc3NsaW5lIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0Ymx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc3dhbDItcHJvZ3Jlc3NsaW5lIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZTtcbiAgICBoZWlnaHQ6IC40ZW07XG4gICAgbWFyZ2luOiAwIC0xcHg7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cblxuXG4vLyBnaXRodWIuY29tL3N3ZWV0YWxlcnQyL3N3ZWV0YWxlcnQyL2lzc3Vlcy8yNjhcbltjbGFzc149J3N3YWwyJ10ge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6ICRzd2FsMi10cmFuc3BhcmVudDtcbn1cblxuLy8gVG9hc3QgQW5pbWF0aW9uc1xuQGtleWZyYW1lcyBzaG93U3dlZXRUb2FzdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHJvdGF0ZVooMmRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDMzJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZVooLTJkZWcpO1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG5cbiAgNjYlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KSByb3RhdGVaKDJkZWcpO1xuICAgIG9wYWNpdHk6IC43O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHJvdGF0ZVooMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhpZGVTd2VldFRvYXN0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAzMyUge1xuICAgIG9wYWNpdHk6IC41O1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVaKDFkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLy8gTW9kYWwgYW5pbWF0aW9uc1xuQGtleWZyYW1lcyBzaG93U3dlZXRBbGVydCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC43KTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGhpZGVTd2VldEFsZXJ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnN3YWwyLXNob3cge1xuICBhbmltYXRpb246IHNob3dTd2VldEFsZXJ0IC4zcztcblxuICAmLnN3YWwyLXRvYXN0IHtcbiAgICBhbmltYXRpb246IHNob3dTd2VldFRvYXN0IC41cztcbiAgfVxuXG4gICYuc3dhbDItbm9hbmltYXRpb24ge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxufVxuXG4uc3dhbDItaGlkZSB7XG4gIGFuaW1hdGlvbjogaGlkZVN3ZWV0QWxlcnQgLjE1cyBmb3J3YXJkcztcblxuICAmLnN3YWwyLXRvYXN0IHtcbiAgICBhbmltYXRpb246IGhpZGVTd2VldFRvYXN0IC4ycyBmb3J3YXJkcztcbiAgfVxuXG4gICYuc3dhbDItbm9hbmltYXRpb24ge1xuICAgIGFuaW1hdGlvbjogbm9uZTtcbiAgfVxufVxuXG5cbi8vIFJpZ2h0LXRvLWxlZnQgc3VwcG9ydFxuW2Rpcj0ncnRsJ10ge1xuICAuc3dhbDItY2xvc2Uge1xuICAgIGxlZnQ6IDhweDtcbiAgICByaWdodDogYXV0bztcbiAgfVxufVxuXG5cbi8vIFN1Y2Nlc3MgaWNvbiBhbmltYXRpb25cblxuQGtleWZyYW1lcyBhbmltYXRlLXN1Y2Nlc3MtdGlwIHtcbiAgMCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7XG4gIH1cblxuICA1NCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDE5cHg7XG4gIH1cblxuICA3MCUge1xuICAgIHdpZHRoOiA1MHB4O1xuICAgIGxlZnQ6IC04cHg7XG4gICAgdG9wOiAzN3B4O1xuICB9XG5cbiAgODQlIHtcbiAgICB3aWR0aDogMTdweDtcbiAgICBsZWZ0OiAyMXB4O1xuICAgIHRvcDogNDhweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGxlZnQ6IDE0cHg7XG4gICAgdG9wOiA0NXB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS1zdWNjZXNzLWxvbmcge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDQ2cHg7XG4gICAgdG9wOiA1NHB4O1xuICB9XG5cbiAgNjUlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogNDZweDtcbiAgICB0b3A6IDU0cHg7XG4gIH1cblxuICA4NCUge1xuICAgIHdpZHRoOiA1NXB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMzVweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHdpZHRoOiA0N3B4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiAzOHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS10b2FzdC1zdWNjZXNzLXRpcCB7XG4gIDAlIHtcbiAgICB3aWR0aDogMDtcbiAgICBsZWZ0OiAxcHg7XG4gICAgdG9wOiA5cHg7XG4gIH1cblxuICA1NCUge1xuICAgIHdpZHRoOiAwO1xuICAgIGxlZnQ6IDFweDtcbiAgICB0b3A6IDlweDtcbiAgfVxuXG4gIDcwJSB7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgbGVmdDogLTRweDtcbiAgICB0b3A6IDE3cHg7XG4gIH1cblxuICA4NCUge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgbGVmdDogMTBweDtcbiAgICB0b3A6IDIwcHg7XG4gIH1cblxuICAxMDAlIHtcbiAgICB3aWR0aDogMTJweDtcbiAgICBsZWZ0OiAzcHg7XG4gICAgdG9wOiAxOHB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS10b2FzdC1zdWNjZXNzLWxvbmcge1xuICAwJSB7XG4gICAgd2lkdGg6IDA7XG4gICAgcmlnaHQ6IDIycHg7XG4gICAgdG9wOiAyNnB4O1xuICB9XG5cbiAgNjUlIHtcbiAgICB3aWR0aDogMDtcbiAgICByaWdodDogMjJweDtcbiAgICB0b3A6IDI2cHg7XG4gIH1cblxuICA4NCUge1xuICAgIHdpZHRoOiAyNnB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTVweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIHJpZ2h0OiAzcHg7XG4gICAgdG9wOiAxNXB4O1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlUGxhY2Vob2xkZXIge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxuXG4gIDUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB9XG5cbiAgMTIlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDA1ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00MDVkZWcpO1xuICB9XG59XG5cbi5zd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAge1xuICBhbmltYXRpb246IGFuaW1hdGUtc3VjY2Vzcy10aXAgLjc1cztcbn1cblxuLnN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLWxvbmcge1xuICBhbmltYXRpb246IGFuaW1hdGUtc3VjY2Vzcy1sb25nIC43NXM7XG59XG5cbi5zd2FsMi1zdWNjZXNzIHtcbiAgJi5zd2FsMi1hbmltYXRlLXN1Y2Nlc3MtaWNvbiB7XG4gICAgLnN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZS1yaWdodCB7XG4gICAgICBhbmltYXRpb246IHJvdGF0ZVBsYWNlaG9sZGVyIDQuMjVzIGVhc2UtaW47XG4gICAgfVxuICB9XG59XG5cblxuLy8gRXJyb3IgaWNvbiBhbmltYXRpb25cblxuQGtleWZyYW1lcyBhbmltYXRlLWVycm9yLWljb24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDEwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zd2FsMi1hbmltYXRlLWVycm9yLWljb24ge1xuICBhbmltYXRpb246IGFuaW1hdGUtZXJyb3ItaWNvbiAuNXM7XG59XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZS14LW1hcmsge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguNCk7XG4gICAgbWFyZ2luLXRvcDogMjZweDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC40KTtcbiAgICBtYXJnaW4tdG9wOiAyNnB4O1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xNSk7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5zd2FsMi1hbmltYXRlLXgtbWFyayB7XG4gIGFuaW1hdGlvbjogYW5pbWF0ZS14LW1hcmsgLjVzO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS1sb2FkaW5nIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuIiwiQG1peGluIGllIHtcbiAgQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMzAyNTAxNjEvMTMzMTQyNVxuQG1peGluIG5vdCgkaWdub3ItbGlzdC4uLikge1xuICBAaWYgKGxlbmd0aCgkaWdub3ItbGlzdCkgPT0gMSkge1xuICAgICRpZ25vci1saXN0OiBudGgoJGlnbm9yLWxpc3QsIDEpO1xuICB9XG5cbiAgJG5vdC1vdXRwdXQ6ICcnO1xuICBAZWFjaCAkbm90IGluICRpZ25vci1saXN0IHtcbiAgICAkbm90LW91dHB1dDogJG5vdC1vdXRwdXQgKyAnOm5vdCgjeyRub3R9KSc7XG4gIH1cblxuICAmI3skbm90LW91dHB1dH0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIkc3dhbDItd2hpdGU6ICAgICAgICNmZmYgIWRlZmF1bHQ7XG4kc3dhbDItYmxhY2s6ICAgICAgICMwMDAgIWRlZmF1bHQ7XG4kc3dhbDItdHJhbnNwYXJlbnQ6IHJnYmEoJHN3YWwyLWJsYWNrLCAwKSAhZGVmYXVsdDtcbiRzd2FsMi1ib3gtc2hhZG93OiAgI2Q5ZDlkOSAhZGVmYXVsdDtcbiRzd2FsMi1zdWNjZXNzOiAgICAgICAgI2E1ZGM4NiAhZGVmYXVsdDtcbiRzd2FsMi1zdWNjZXNzLWJvcmRlcjogcmdiYSgkc3dhbDItc3VjY2VzcywgLjIpICFkZWZhdWx0O1xuJHN3YWwyLWVycm9yOiAgICAgICAgICAjZjI3NDc0ICFkZWZhdWx0O1xuJHN3YWwyLXdhcm5pbmc6ICAgICAgICAjZjhiYjg2ICFkZWZhdWx0O1xuJHN3YWwyLWluZm86ICAgICAgICAgICAjM2ZjM2VlICFkZWZhdWx0O1xuJHN3YWwyLXF1ZXN0aW9uOiAgICAgICAjODdhZGJkICFkZWZhdWx0O1xuXG4kc3dhbDItb3ZlcmxheTogICAgICAgIHJnYmEoJHN3YWwyLWJsYWNrLCAuNCkgIWRlZmF1bHQ7XG5cbiRzd2FsMi1jbG9zZS1idXR0b246ICAgICAgICAgICAgICAgbGlnaHRlbigkc3dhbDItYmxhY2ssIDgwKSAhZGVmYXVsdDtcbiRzd2FsMi1jbG9zZS1idXR0b24taG92ZXI6ICAgICAgICAgI2Q1NSAhZGVmYXVsdDtcblxuJHN3YWwyLWlucHV0LWJvcmRlcjogICAgICAgICAgICAgICBsaWdodGVuKCRzd2FsMi1ibGFjaywgODUpICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWJvcmRlci1mb2N1czogICAgICAgICAjYjRkYmVkICFkZWZhdWx0O1xuJHN3YWwyLWlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICByZ2JhKCRzd2FsMi1ibGFjaywgLjA2KSAhZGVmYXVsdDtcbiRzd2FsMi1pbnB1dC1ib3gtc2hhZG93LWZvY3VzOiAgICAgI2M0ZTZmNSAhZGVmYXVsdDtcblxuJHN3YWwyLXZhbGlkYXRpb25lcnJvci1iYWNrZ3JvdW5kOiAjZWE3ZDdkICFkZWZhdWx0O1xuJHN3YWwyLXZhbGlkYXRpb25lcnJvci1jb2xvcjogICAgICAkc3dhbDItd2hpdGUgIWRlZmF1bHQ7XG5cbiRzd2FsMi1mb2N1cy1vdXRsaW5lOiByZ2JhKDUwLCAxMDAsIDE1MCwgLjQpO1xuXG4kc3dhbDItZm9udDogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdwYXJ0aWFscyc7XG5cbi8vIENvbG9yc1xuJHBseXItY29sb3ItbWFpbjogJGJsdWUtNztcblxuJGltYWdlX3BhdGg6IFwiLi4vaW1hZ2VzXCIgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgXCJmb3RvcmFtYVwiO1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ub3Vpc2xpZGVyL2Rpc3RyaWJ1dGUvbm91aXNsaWRlclwiO1xuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9tYXRlcmlhbC1kZXNpZ24tbGl0ZS9zcmMvbWF0ZXJpYWwtZGVzaWduLWxpdGVcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL19ib290c3RyYXBcIjtcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvcGx5ci9zcmMvc2Nzcy9wbHlyXCI7XG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL3N3ZWV0YWxlcnQyL3NyYy9zd2VldGFsZXJ0MlwiO1xuXG4uc3dhbDItbW9kYWwge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAyMHB4IDMwcHggIWltcG9ydGFudDtcbiAgbWluLWhlaWdodDogMDtcblxuICAuc3dhbDItc3BhY2VyIHtcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5zd2FsMi1jbG9zZSB7XG4gICAgZm9udC1zaXplOiA0MnB4ICFpbXBvcnRhbnQ7XG4gICAgdG9wOiA4cHggIWltcG9ydGFudDtcbiAgICByaWdodDogMTZweCAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cblxuICAuc3dhbDItdGl0bGUge1xuICAgIGZvbnQ6IDQwMCAzcmVtICRwcmltYXJ5LWZvbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBjb2xvcjogJGdyYXktMTA7XG4gIH1cblxuICAuc3dhbDItY29udGVudCB7XG4gICAgZm9udDogMzAwIDJyZW0vMi41cmVtICRwcmltYXJ5LWZvbnQ7XG4gICAgY29sb3I6ICRncmF5LTEwO1xuICB9XG5cbiAgLnN3YWwyLXN0eWxlZCB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wbHlyX19wbGF5LWxhcmdlIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwgMC42KTtcbiAgYm9yZGVyOiA1cHggc29saWQgJHdoaXRlO1xuICBwYWRkaW5nOiAzMHB4O1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCAxcHggdHJhbnNwYXJlbnRpemUoJGJsYWNrLCAuOCk7XG4gIG9wYWNpdHk6IC44O1xuXG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDJweDtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZ29ib2xkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2dvYm9sZF9sb3dwbHVzLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9nb2JvbGRfbG93cGx1cy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdnb2JvbGQnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvZ29ib2xkX3JlZ3VsYXItd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL2dvYm9sZF9yZWd1bGFyLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2dvYm9sZCc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9nb2JvbGRfdGhpbi13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi4vZm9udHMvZ29ib2xkX3RoaW4td2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZ29ib2xkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2dvYm9sZF91cGxvdy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi4vZm9udHMvZ29ib2xkX3VwbG93LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2FsbGVyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2FsbGVyX3N0ZF9sdC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi4vZm9udHMvYWxsZXJfc3RkX2x0LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2FsbGVyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2FsbGVyX3N0ZF9yZy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi4vZm9udHMvYWxsZXJfc3RkX3JnLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2FsbGVyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL2FsbGVyX3N0ZF9yZy13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgIHVybCgnLi4vZm9udHMvYWxsZXJfc3RkX3JnLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICBzcmM6ICB1cmwoJy4uL2ZvbnRzL2ljb21vb24uZW90PzFhZXdiaicpO1xuICBzcmM6ICB1cmwoJy4uL2ZvbnRzL2ljb21vb24uZW90PzFhZXdiaiNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24udHRmPzFhZXdiaicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24ud29mZj8xYWV3YmonKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2ljb21vb24uc3ZnPzFhZXdiaiNpY29tb29uJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5bY2xhc3NePVwiaWNvbi1cIl0sIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gIHNwZWFrOiBub25lO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1saW5rZWRpbjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwNVwiOyB9XG4uaWNvbi1jb2Rlcm9ja3I6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MDRcIjsgfVxuLmljb24tZWFydGg6YmVmb3JlIHsgY29udGVudDogXCJcXGU5MDZcIjsgfVxuLmljb24tc3RhcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwM1wiOyB9XG4uaWNvbi15b3V0dWJlLWN1c3RvbTpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTkwMlwiOyB9XG4uaWNvbi1tZWRpdW06YmVmb3JlIHsgY29udGVudDogXCJcXGU5MDFcIjsgfVxuLmljb24tZ29vZ2xlLXBsdXM6YmVmb3JlIHsgY29udGVudDogXCJcXGVhOGRcIjsgfVxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHsgY29udGVudDogXCJcXGVhOTBcIjsgfVxuLmljb24tdHdpdHRlcjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZWE5NlwiOyB9XG4uaWNvbi15b3V0dWJlOmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlYTlkXCI7IH1cbi5pY29uLWdpdGh1YjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZWFiMFwiOyB9XG4uaWNvbi1pbnN0YWdyYW06YmVmb3JlIHsgY29udGVudDogXCJcXGU5MDBcIjsgfVxuXG4uYnJvd3NlcnVwZ3JhZGUge1xuICBtYXJnaW46IDAuMmVtIDA7XG4gIGJhY2tncm91bmQ6ICRncmF5LTQ7XG4gIGNvbG9yOiAkYmxhY2s7XG4gIHBhZGRpbmc6IDAuMmVtIDA7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJHllbGxvdy02O1xuICBjb2xvcjogJHdoaXRlO1xufVxuOjotbW96LXNlbGVjdGlvbiB7IGJhY2tncm91bmQ6ICR5ZWxsb3ctNjsgfVxuXG5odG1sIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xufVxuXG5odG1sLFxuYm9keSB7XG4gIEBleHRlbmQgLmZsZXgtY29sdW1uO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgY29sb3I6ICRncmF5LTEwO1xufVxuXG5odG1sICoge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7IGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYSB7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246LjEycztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cbi5idG4ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IDJweCBzb2xpZCAkeWVsbG93LTY7XG4gIGNvbG9yOiAkeWVsbG93LTY7XG4gIHBhZGRpbmc6IDEycHggMzBweCAxMXB4IDMwcHg7XG4gIGZvbnQ6IDEuOHJlbSAkcHJpbWFyeS1mb250O1xuICBsZXR0ZXItc3BhY2luZzogLjA1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHllbGxvdy02O1xuICB9XG59XG5cbnAgeyBmb250OiAzMDAgMS44cmVtLzMuMjByZW0gJHByaW1hcnktZm9udDsgfVxuXG4udGl0bGUge1xuICBjbGVhcjogYm90aDtcbiAgZm9udDogNC41cmVtLzdyZW0gJHNlY3VuZGFyeS1mb250O1xuICBsZXR0ZXItc3BhY2luZzogLjRyZW07XG4gIGNvbG9yOiAkZ3JheS0xMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDEwMHB4IGF1dG8gNzBweCBhdXRvO1xufVxuXG4uc3VidGl0bGUge1xuICBoMiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udDogMy41cmVtICRzZWN1bmRhcnktZm9udDtcbiAgICBsZXR0ZXItc3BhY2luZzogLjJyZW07XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHllbGxvdy02O1xuICAgIG1hcmdpbjogMTVweCAwIDMwcHggMDtcbiAgfVxufVxuXG4uZmxleC1yb3cge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xufVxuXG4uZmxleC1jb2x1bW4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4jaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHB4O1xuICB6LWluZGV4OiAxO1xuICBtYXJnaW4tdG9wOiAtMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgb3BhY2l0eTogLjk4O1xuICBib3gtc2hhZG93OiAwcHggM3B4IDVweCAwcHggcmdiYSgwLDAsMCwwLjIpO1xuXG4gIC5mbGV4LXJvdyB7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIC5sb2dvIHtcbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjIycHg7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogNDhweDtcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQ6IDEuOHJlbSAkcHJpbWFyeS1mb250O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHsgY29sb3I6ICR5ZWxsb3ctNjsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEubW9iaWxlIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogOHB4IDE0cHggMTBweCAxNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYm9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcblxuICAgICAgaW1nIHsgd2lkdGg6IDI0cHg7IH1cbiAgICB9XG4gIH1cbn1cblxuI2hvbWUge1xuICA+IC5iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3ctNjtcbiAgICBtYXgtaGVpZ2h0OiA1NTBweDtcbiAgICBoZWlnaHQ6IDU1MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Nyb3dkLWJnLmpwZycpIGJvdHRvbSBjZW50ZXIgJHllbGxvdy02O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtM3B4IDVweCAwcHggcmdiYSgwLDAsMCwwLjIpO1xuXG4gICAgaDEge1xuICAgICAgZm9udDogNHJlbS84LjVyZW0gJHNlY3VuZGFyeS1mb250O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC40cmVtO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi10b3A6IDk4cHg7XG4gICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCA1cHggcmdiYSgwLCAwLCAwLCAuMyk7XG4gICAgfVxuICB9XG59XG5cbi53aGF0LXdlLWRvIHtcbiAgLmJsdXJyZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDgwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IC0zcHggNXB4IDBweCByZ2JhKDI1NSwyNTUsMjU1LDEpO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGV4dGVuZCAucHNldWRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDg1cHg7XG4gICAgICB0b3A6IC04NXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Nyb3dkLWJnLmpwZycpIGJvdHRvbSBjZW50ZXI7XG4gICAgICBmaWx0ZXI6IGJsdXIoNXB4KTtcbiAgICB9XG4gIH1cblxuICBoZWFkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtaW4taGVpZ2h0OiAxNjBweDtcbiAgICBtYXJnaW4tdG9wOiAtMTcwcHg7XG4gICAgb3BhY2l0eTogLjk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDBweCAtM3B4IDNweCAzcHggcmdiYSgwLDAsMCwwLjIpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBAZXh0ZW5kIC5wc2V1ZG87XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udDogMzAwIDMuNXJlbS81cmVtICRwcmltYXJ5LWZvbnQ7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAzMnB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgIHNwYW4geyBmb250LXdlaWdodDogNDAwOyB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIG1hcmdpbi10b3A6IC00MHB4O1xuXG4gICAgcCB7IGNsZWFyOiBib3RoOyB9XG5cbiAgICAud3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAZXh0ZW5kIC5wc2V1ZG87XG4gICAgICAgIGhlaWdodDogMTAzJTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IC00LjUlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgJGJsYWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlIHsgZmxvYXQ6IGxlZnQ7IH1cblxuICAgIC5sZWZ0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDcwcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgaDIge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLS42cmVtO1xuICAgICAgfVxuXG4gICAgICAuc3VidGl0bGUgc3BhbiB7IGZsb2F0OiByaWdodDsgfVxuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLnNlcnZpY2U6bnRoLWNoaWxkKDJuKSB7IG1hcmdpbi10b3A6IDI3NXB4OyB9XG4gICAgLnNlcnZpY2U6bnRoLWNoaWxkKDNuKSB7IG1hcmdpbi10b3A6IDM4cHg7IH1cbiAgICAuc2VydmljZTpudGgtY2hpbGQoNG4pIHsgbWFyZ2luOiAzNDBweCAwIDYwcHggMDsgfVxuXG4gICAgaDQge1xuICAgICAgZm9udDogMzAwIDJyZW0gJHNlY3VuZGFyeS1mb250O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xMnJlbTtcbiAgICAgIG1hcmdpbjogNzBweCAwIDI1cHg7XG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICBmb250OiAxLjhyZW0gJHNlY3VuZGFyeS1mb250O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4xcmVtO1xuICAgICAgcGFkZGluZzogMTNweCAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ucHJvZHVjdHMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAxMEQxNjtcbiAgICBtYXgtaGVpZ2h0OiA1OTBweDtcbiAgICBoZWlnaHQ6IDU5MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2dyaWQtcGF0dGVybi5wbmcnKSAwIC00cHg7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IC0zcHggNXB4IDBweCByZ2JhKDAsMCwwLDAuMik7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAZXh0ZW5kIC5wc2V1ZG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDU5MHB4O1xuICAgICAgaGVpZ2h0OiA1OTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2dyYXBocy5wbmcnKSBjZW50ZXIgMzFweCBuby1yZXBlYXQ7XG4gICAgfVxuICB9XG5cbiAgLndyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBtYXJnaW46IDkycHggYXV0byA2MHB4IGF1dG87XG4gIH1cblxuICAucGxhbnJvY2tyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogNzczcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgICBtYXJnaW46IDUwcHggYXV0byAyNnB4IGF1dG87XG4gICAgICB9XG5cbiAgICAgIHNwYW4geyBib3JkZXItY29sb3I6ICRibHVlLTc7IH1cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJsdWUtNztcbiAgICAgIGNvbG9yOiAkYmx1ZS03O1xuICAgICAgbWFyZ2luLXRvcDogMjNweDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZS03O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5lc3RpbWVvcHJhem8ge1xuICAgIG1hcmdpbi10b3A6IDgwcHg7XG5cbiAgICAud3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM1cHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgICAgICBzcGFuIHsgYm9yZGVyLWNvbG9yOiAkYmx1ZS03OyB9XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuYnRuIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYmx1ZS03O1xuICAgICAgICBjb2xvcjogJGJsdWUtNztcbiAgICAgICAgbWFyZ2luLXRvcDogMjNweDtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZS03O1xuICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyNDBweDtcbiAgICAgIG1hcmdpbjogMzhweCAwIDAgMzVweDtcbiAgICB9XG4gIH1cblxuICAuY29kZXJvY2tyd2F5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIGgyIHtcbiAgICAgICAgQGV4dGVuZCAudGl0bGU7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMTEwcHggYXV0byAwIGF1dG87XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgY29sb3I6ICRibHVlLTc7XG4gICAgICAgIGZvbnQ6IDMuMnJlbSAkc2VjdW5kYXJ5LWZvbnQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMnJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgNTBweCAwO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlLTc7XG4gICAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHsgbWFyZ2luLXJpZ2h0OiAycmVtOyB9XG4gICAgICAgICY6YWZ0ZXIgeyBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wbHlyX19jb250cm9scyxcbiAgICAucGx5cl9fcGxheS1sYXJnZSB7IHotaW5kZXg6IDA7IH1cblxuICAgIC5wbHlyX192aWRlby13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgdmlkZW8ge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAuYnRuIHsgbWFyZ2luLXRvcDogMjNweDsgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgY29sb3I6ICRibHVlLTc7XG4gICAgICBib3JkZXItY29sb3I6ICRibHVlLTc7XG4gICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtNztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRlc3RpbW9uaWFscyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS0yO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktMjtcbiAgYmFja2dyb3VuZDogJGdyYXktMDtcbiAgcGFkZGluZy1ib3R0b206IDgwcHg7XG5cbiAgLmZvdG9yYW1hX19zdGFnZSB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IC4xcyBsaW5lYXI7XG5cbiAgICAuZm90b3JhbWFfX2FyciB7XG4gICAgICB3aWR0aDogNDZweDtcbiAgICAgIGhlaWdodDogODVweDtcbiAgICAgIHRvcDogMjAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9hcnJvdy5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNDZweCA4NXB4O1xuXG4gICAgICAmLmZvdG9yYW1hX19hcnItLXByZXYge1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgfVxuXG4gICAgICAmLmZvdG9yYW1hX19hcnItLW5leHQge1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm90b3JhbWFfX25hdiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2l0aW9uOiB0b3AgLjFzIGxpbmVhcjtcblxuICAgICAgLmZvdG9yYW1hX19uYXZfX2ZyYW1lLS1kb3Qge1xuICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICBoZWlnaHQ6IDlweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkeWVsbG93LTY7XG4gICAgICAgIG1hcmdpbjogMCA5cHg7XG5cbiAgICAgICAgJi5mb3RvcmFtYV9fYWN0aXZlIHsgYmFja2dyb3VuZDogJHllbGxvdy02OyB9XG4gICAgICB9XG4gICAgfVxuXG4gIC50ZXN0aW1vbmlhbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDI0MHB4O1xuICAgICAgICBoZWlnaHQ6IDI0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR5ZWxsb3ctNjtcbiAgICAgICAgcGFkZGluZzoxMHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0b1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtNjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHllbGxvdy02O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweCAyMHB4O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250OiAyLjRyZW0gJHNlY3VuZGFyeS1mb250O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjJyZW07XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTUwcHg7XG4gICAgICAgIGZvbnQ6IDEuOHJlbS8yLjhyZW0gJHByaW1hcnktZm9udDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICBmb250LWZhbWlseTogJHNlY3VuZGFyeS1mb250O1xuICAgICAgICBxdW90ZXM6IFwiXFwyMDFDXCJcIlxcMjAxRFwiXCJcXDIwMThcIlwiXFwyMDE5XCI7XG5cbiAgICAgICAgJjo6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgY29sb3I6ICR5ZWxsb3ctNjtcbiAgICAgICAgICBmb250LXNpemU6IDNlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogLTIuOHJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHsgY29udGVudDogb3Blbi1xdW90ZTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDt9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAgeyBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIH1cbiAgfVxufVxuXG4uYXJ0aWNsZXMge1xuICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICB1bCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcblxuICAgICAgLmhlYWRlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6ICRncmF5LTEwO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgZm9udDogMzAwIDNyZW0gJHByaW1hcnktZm9udDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNC4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMgeyBmb250OiA0MDAgMS44cmVtICRwcmltYXJ5LWZvbnQ7IH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHllbGxvdy02O1xuICAgICAgICBtYXJnaW46IDE1cHggMCAxNXB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5hbmNob3Ige1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBmb250OiAxLjdyZW0gJHByaW1hcnktZm9udDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6ICR5ZWxsb3ctNjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR5ZWxsb3ctNjtcbiAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGNvbG9yOiAkZ3JheS0xMDtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRncmF5LTEwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICRncmF5LTEwO1xuICBjb2xvcjogJHdoaXRlO1xuICBwYWRkaW5nOiAzM3B4IDA7XG5cbiAgLnNvY2lhbCB7XG4gICAgbWFyZ2luOiAyNnB4IDAgMCAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDE0cHg7XG5cblxuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgc3BhbiB7IGZvbnQtc2l6ZTogMi44cmVtOyB9XG5cbiAgICAgICAgJjpob3ZlciBzcGFuLFxuICAgICAgICAmOmZvY3VzIHNwYW57IGNvbG9yOiAkeWVsbG93LTY7IH1cbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1jaGlsZCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgfVxuXG4gIH1cblxuICAudGV4dCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogOXB4IDMycHggMCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgcCB7IGZvbnQ6IDMwMCAxLjZyZW0vMi42cmVtICRwcmltYXJ5LWZvbnQgIWltcG9ydGFudDsgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMjhweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbn1cblxuXG5AaW1wb3J0IFwiY29udGFjdFwiO1xuXG5AaW1wb3J0IFwiYWJvdXRcIjtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICAgTUVOVSBNT0JJTEUgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiNtYWluLWNvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgLyogc2xpZ2h0bHkgdmlzaWJsZSBvbmx5IHdoZW4gd2UgcmVzaXplIHRoaXMgZWxlbWVudCAqL1xuICBib3gtc2hhZG93OiAwIDAgNDBweCByZ2JhKDAsIDAsIDAsIDAuOCk7XG4gIHotaW5kZXg6IDE7XG4gIC8qIEZvcmNlIEhhcmR3YXJlIEFjY2VsZXJhdGlvbiBpbiBXZWJLaXQgKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjRzO1xufVxuXG4jbWFpbi1jb250ZW50Lm1vdmUtb3V0IHsgb3BhY2l0eTogMDsgfVxuXG4ubm8tanMgI21haW4tY29udGVudCB7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuI21lbnUtbW9iaWxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIC8qIEZvcmNlIEhhcmR3YXJlIEFjY2VsZXJhdGlvbiBpbiBXZWJLaXQgKi9cbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAvKiB3ZSBtb3ZlIHRoaXMgZWxlbWVudCBvZmYgdGhlIGNhbnZhcyAqL1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNHM7XG4gIHotaW5kZXg6IDM7XG5cbiAgdWwge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuXG4gIGxpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDI4cHggMDtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICR5ZWxsb3ctNjtcbiAgICAgIGZvbnQ6ICAycmVtICRwcmltYXJ5LWZvbnQ7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG4gIH1cblxuICAuY2xvc2UtbWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMjVweDtcbiAgICByaWdodDogMTlweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZzogMTBweDtcblxuICAgIGltZyB7IHdpZHRoOiAyNnB4OyB9XG4gIH1cbn1cblxuLm5vLXRvdWNoICNtZW51LW1vYmlsZSBsaSBhOmhvdmVyIHsgYm9yZGVyLWNvbG9yOiAkd2hpdGU7IH1cblxuI21lbnUtbW9iaWxlLmlzLXZpc2libGUge1xuICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLm5vLWpzICNtZW51LW1vYmlsZSB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbn1cblxuLm5vLWpzICNtZW51LW1vYmlsZSAuY2xvc2UtbWVudSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLnNoYWRvdy1sYXllciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIHotaW5kZXg6IDI7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcyAwLjVzLCBvcGFjaXR5IDAuNXMgMHM7XG59XG5cbi5zaGFkb3ctbGF5ZXIuaXMtdmlzaWJsZSB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xufVxuXG5cbi5ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIGZvbnQ6IDIuMnJlbSAkcHJpbWFyeS1mb250O1xuXG4gIGlucHV0IHtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggNXB4IDVweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyYXktMTA7XG5cbiAgICAmOmZvY3VzIH4gbGFiZWwsXG4gICAgJjp2YWxpZCB+IGxhYmVsIHtcbiAgICAgIHRvcDogLTIwcHg7XG4gICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgIGNvbG9yOiAkZ3JheS02O1xuICAgIH1cblxuICAgIGlucHV0OmZvY3VzIH4gLmhpZ2hsaWdodCB7IGFuaW1hdGlvbjogaW5wdXRIaWdobGlnaHRlciAwLjNzIGVhc2U7IH1cblxuICAgICY6Zm9jdXMgfiAuYmFyOmJlZm9yZSxcbiAgICAmOmZvY3VzIH4gLmJhcjphZnRlciB7IHdpZHRoOiA1MCU7IH1cblxuICAgICY6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG4gIH1cblxuICAuaGlnaGxpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiA2MCU7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIHRvcDogMjUlO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgLmJhciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBAZXh0ZW5kIC5wc2V1ZG87XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgdG9wOiAtMnB4O1xuICAgICAgYmFja2dyb3VuZDogJHllbGxvdy02O1xuICAgICAgdHJhbnNpdGlvbjogMC4ycyBlYXNlIGFsbDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7IGxlZnQ6IDUwJTsgfVxuICAgICY6YWZ0ZXIgeyByaWdodDogNTAlOyB9XG4gIH1cblxuICBsYWJlbCB7XG4gICAgY29sb3I6ICRncmF5LTY7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgbGVmdDogNXB4O1xuICAgIHRvcDogMTBweDtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UgYWxsO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgaW5wdXRIaWdobGlnaHRlciB7XG4gIGZyb20geyBiYWNrZ3JvdW5kOiAjNTI2NEFFOyB9XG4gIHRvIHtcbiAgICB3aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AaW1wb3J0IFwibWlkaWEtcXVlcmllc1wiO1xuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ3BhcnRpYWxzJztcblxuI2NvbnRhY3Qge1xuICA+IC5iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LTk7XG4gICAgbWF4LWhlaWdodDogNTUwcHg7XG4gICAgaGVpZ2h0OiA1NTBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9taWMtYmcuanBnJykgYm90dG9tIGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwcHggLTNweCA1cHggMHB4IHJnYmEoMCwwLDAsMC4yKTtcblxuICAgIGgxIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICAgIGZvbnQ6IDVyZW0vOS41cmVtICRzZWN1bmRhcnktZm9udDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAuNHJlbTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBtYXJnaW46IDEzMnB4IDAgMCAxNjBweDtcbiAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDVweCByZ2JhKDAsIDAsIDAsIC4zKTtcbiAgICB9XG4gIH1cblxuICAubGV0cy10YWxrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG5cbiAgICBoZWFkZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHllbGxvdy02O1xuICAgICAgICAgIG1hcmdpbjogMTlweCBhdXRvIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNyb3NzLXRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC4ycmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBleHRlbmQgLnBzZXVkbztcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICR5ZWxsb3ctNjtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMTBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAZXh0ZW5kIC5wc2V1ZG87XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBsZWZ0OiAyNDBweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm51bWJlciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogLTMwcHg7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgZm9udDogOHJlbSAkc2VjdW5kYXJ5LWZvbnQ7XG4gICAgICAgICAgY29sb3I6ICRncmF5LTM7XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBmb250OiAzLjVyZW0vNS4ycmVtICRzZWN1bmRhcnktZm9udDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmxlZnQge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1pbi13aWR0aDogMjU1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgJjphZnRlciB7IH1cblxuICAgICAgICAgIC5udW1iZXIgeyB9XG5cbiAgICAgICAgICAudGl0bGUgeyBsZWZ0OiA0MXB4OyB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0IHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbWluLXdpZHRoOiAzNTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAzMzhweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubnVtYmVyIHsgcmlnaHQ6IDA7IH1cblxuICAgICAgICAgIC50aXRsZSB7IHJpZ2h0OiAzOXB4IH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5hYm91dC15b3Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDQ1cHggMDtcbiAgICB9XG5cbiAgICAuYWJvdXQtcHJvamVjdCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udDogM3JlbSAkcHJpbWFyeS1mb250O1xuICAgICAgfVxuXG4gICAgICAubGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICBsaSB7IGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubWRsLXJhZGlvIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgICAgICBtYXJnaW46IDEycHggMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM3cHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAmOmZvY3VzIH4gLm1kbC1yYWRpb19fbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICR5ZWxsb3ctNjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRsLXJhZGlvX19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlIHsgYmFja2dyb3VuZDogJHllbGxvdy02IH1cblxuICAgICAgICAubWRsLXJhZGlvX19sYWJlbCB7IGZvbnQ6IDMwMCAyLjJyZW0gJHByaW1hcnktZm9udDsgfVxuXG4gICAgICAgIC5tZGwtcmFkaW9fX291dGVyLWNpcmNsZSB7XG4gICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJHllbGxvdy02O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1kbC1yYWRpb19faW5uZXItY2lyY2xlIHtcbiAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgdG9wOiA5cHg7XG4gICAgICAgICAgbGVmdDogNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3ctNjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZGwtcmFkaW9fX3JpcHBsZS1jb250YWluZXIge1xuICAgICAgICAgIHdpZHRoOiA2MXB4O1xuICAgICAgICAgIGhlaWdodDogNjFweDtcbiAgICAgICAgICB0b3A6IC0xNHB4O1xuICAgICAgICAgIGxlZnQ6IC0xOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5tZGwtY2hlY2tib3gge1xuICAgICAgICBAZXh0ZW5kIC5tZGwtcmFkaW87XG4gICAgICAgIHRvcDogMXB4O1xuXG4gICAgICAgICYuaXMtdXBncmFkZWQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtZm9jdXNlZCB7XG4gICAgICAgICAgLm1kbC1jaGVja2JveF9fbGFiZWwgeyBjb2xvcjogJHllbGxvdy02OyB9XG4gICAgICAgIH1cblxuICAgICAgICAubWRsLWNoZWNrYm94X19yaXBwbGUtY29udGFpbmVyIC5tZGwtcmlwcGxlIHsgYmFja2dyb3VuZDogJHllbGxvdy02OyB9XG5cbiAgICAgICAgLm1kbC1jaGVja2JveF9fbGFiZWwgeyBmb250OiAzMDAgMi4ycmVtICRwcmltYXJ5LWZvbnQ7IH1cblxuICAgICAgICAubWRsLWNoZWNrYm94X19ib3gtb3V0bGluZSB7XG4gICAgICAgICAgQGV4dGVuZCAubWRsLXJhZGlvX19vdXRlci1jaXJjbGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtY2hlY2tlZCB7XG4gICAgICAgICAgLm1kbC1jaGVja2JveF9fYm94LW91dGxpbmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkeWVsbG93LTY7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tZGwtY2hlY2tib3hfX3RpY2stb3V0bGluZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93LTY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1kbC1jaGVja2JveF9fZm9jdXMtaGVscGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAubWRsLWNoZWNrYm94X19yaXBwbGUtY29udGFpbmVyIHtcbiAgICAgICAgICBAZXh0ZW5kIC5tZGwtcmFkaW9fX3JpcHBsZS1jb250YWluZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDQwcHggMDtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQ6IDEuODVyZW0gJHByaW1hcnktZm9udDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnB1dCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDExM3B4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubm9VaS10YXJnZXQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgICAgJi5ub1VpLWhvcml6b250YWwgeyBoZWlnaHQ6IDJweDsgfVxuXG4gICAgICAgICAgLm5vVWktaGFuZGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgbGVmdDogLTEzcHg7XG4gICAgICAgICAgICB0b3A6IC0xMXB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgwLCAwLCAwLCAuNCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93LTY7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB3aWR0aCwgaGVpZ2h0LCB0b3A7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOi4wNHM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG5cbiAgICAgICAgICAgICYubm9VaS1hY3RpdmUge1xuICAgICAgICAgICAgICB3aWR0aDogMjdweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgICB0b3A6IC0xM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmFmdGVyLFxuICAgICAgICAgICAgJjpiZWZvcmUgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5vVWktY29ubmVjdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkeWVsbG93LTY7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGVhZGxpbmUge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4XG4gICAgICB9XG5cbiAgICAgIC5idWRnZXQgLmlucHV0IHsgcGFkZGluZy1yaWdodDogMTU5cHg7IH1cblxuICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG5cbiAgICAgIC5kZXRhaWxzIHsgbWFyZ2luLXRvcDogMzBweDsgfVxuXG4gICAgICAuYnRuIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjRyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggNDBweCAxMXB4IDQwcHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLGNvbG9yO1xuICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMTJzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2FkZHJlc3Mge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA2MDBweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LTI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAjbWFwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWFwLWJnLmpwZycpIHRvcCBjZW50ZXIgbm8tcmVwZWF0O1xuICB9XG5cbiAgLmNhcmQge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBtYXJnaW4tdG9wOiAtNDcycHg7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGJveC1zaGFkb3c6IDFweCAxcHggM3B4IDBweCByZ2JhKDE3NSwgMTc1LCAxNzUsIDAuMzUpO1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQ6IDMuNXJlbS81LjJyZW0gJHNlY3VuZGFyeS1mb250O1xuICAgICAgbWFyZ2luOiAxMnB4IDAgMjJweCAwICFpbXBvcnRhbnQ7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgICAgICBib3JkZXItdG9wOiA0cHggc29saWQgJHllbGxvdy02O1xuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcblxuICAgICAgJi5zdHJvbmcgeyBmb250OiA0MDAgMi4ycmVtICRwcmltYXJ5LWZvbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ3BhcnRpYWxzJztcblxuI2Fib3V0IHtcbiAgLmJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXktMjtcbiAgICBtYXgtaGVpZ2h0OiA1NTBweDtcbiAgICBoZWlnaHQ6IDU1MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL3doaXRlX3dhbGwucG5nJykgcmVwZWF0O1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAtM3B4IDVweCAwcHggcmdiYSgwLDAsMCwwLjIpO1xuXG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogNzBweCAwIDAgMDtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7IHdpZHRoOiAzMDBweDsgfVxuICAgIH1cbiAgfVxuXG4gIC5waG90b3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDA7XG4gICAgbWFyZ2luOiAtMzQ1cHggMCA1NXB4IDA7XG5cbiAgICAucm93IHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwNXB4O1xuXG4gICAgICBpbWcgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICB9XG4gIH1cblxuICAuY29kZXJvY2tyIHtcbiAgICAuaGlzdG9yeSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcblxuICAgICAgLmNyb3NzLXRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAuMnJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAZXh0ZW5kIC5wc2V1ZG87XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgJHllbGxvdy02O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogNTVweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1MHB4O1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgQGV4dGVuZCAucHNldWRvO1xuICAgICAgICAgICAgICB3aWR0aDogMjI0cHg7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICR5ZWxsb3ctNjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBleHRlbmQgLnBzZXVkbztcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDM3NHB4O1xuICAgICAgICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogLTMwcHg7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICAgIGZvbnQ6IDhyZW0gJHNlY3VuZGFyeS1mb250O1xuICAgICAgICAgICAgY29sb3I6ICRncmF5LTM7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQ6IDMuNXJlbS81LjJyZW0gJHNlY3VuZGFyeS1mb250O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYubGVmdCB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubG9nbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgICAgICAgbWFyZ2luOiAxMzBweCAwIDkwcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICBpIHsgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmluY2lwbGVzIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS0yO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheS0xO1xuICAgICAgcGFkZGluZy10b3A6IDY1cHg7XG5cbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAZXh0ZW5kIC5wc2V1ZG87XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5LTI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMzNweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTMzcHg7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzBweDtcblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICBmb250OiAzLjVyZW0vNS4ycmVtIFwiZ29ib2xkXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJTZWdvZSBVSVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0byAxNnB4IGF1dG87XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICR5ZWxsb3ctNjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGhlYWRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiA1NDRweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9yb2Nrc3Rhci5qcGcnKSBib3R0b20gY2VudGVyO1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwMHB4O1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIG1hcmdpbjogMTEwcHggMCAwIDgwcHg7XG4gICAgICAgICAgICBmb250OiA0LjVyZW0vOHJlbSAkc2VjdW5kYXJ5LWZvbnQ7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLjRyZW07XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCA1cHggcmdiYSgwLCAwLCAwLCAuMyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRlYW0gLmNvbnRhaW5lciAucm93IHtcbiAgICA+IC5zdWJ0aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDk1cHggMCA2MHB4IDA7XG5cbiAgICAgIGgyIHsgZm9udC1zaXplOiA0LjVyZW07IH1cblxuICAgICAgc3BhbiB7IHdpZHRoOiAzMDBweDsgfVxuICAgIH1cblxuICAgID4gdWwge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIC5wZXJzb24ge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXG4gICAgICAgICAgICAucHJvZmlsZSB7XG4gICAgICAgICAgICAgIC5zdWJ0aXRsZSxcbiAgICAgICAgICAgICAgcCB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBlcnNvbiB7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgIC5hdmF0YXIge1xuICAgICAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDMwcHggMCAzMHB4O1xuXG4gICAgICAgICAgICAuc2hhZG93IHtcbiAgICAgICAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICBib3gtc2hhZG93OiByZ2JhKDAsIDAsIDAsIDAuMikgM3B4IDNweCAxMHB4IGluc2V0O1xuXG4gICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIxMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyOHB4O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuOHJlbTtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkeWVsbG93LTY7XG4gICAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4O1xuXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7IGNvbG9yOiAkYmxhY2s7IH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZmlsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMzBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAgICAgICAgIGgyIHsgZm9udC1zaXplOiAyLjdyZW07IH1cblxuICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDIycHggMCAxMHB4IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICR5ZWxsb3ctNjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICBmb250OiAycmVtLzIuNXJlbSAkc2VjdW5kYXJ5LWZvbnQ7XG4gICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAuMXJlbTtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICBjb2xvcjogJHllbGxvdy02O1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHllbGxvdy02O1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG5cbiAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmF5LTEwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyYXktMTA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RhcnMge1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDU1cHggMCA3MHB4IDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGNvbG9yOiAkZ3JheS0xMDtcbiAgICAgIGZvbnQ6IDMuNXJlbS81LjJyZW0gXCJnb2JvbGRcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIlNlZ29lIFVJXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLjJyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAxMDBweCAwO1xuXG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR5ZWxsb3ctNjtcbiAgICAgICAgdG9wOiAyLjRyZW07XG4gICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmUgeyBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgICAgICY6YWZ0ZXIgeyBtYXJnaW4tbGVmdDogMnJlbTsgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBzZXVkbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xufVxuIiwiQGltcG9ydCAndmFyaWFibGVzJztcbkBpbXBvcnQgJ3BhcnRpYWxzJztcblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTQ4MHB4KSB7XG4gICNhYm91dCAucGhvdG9zIC5yb3cge1xuICAgIC5waWMtMywgLnBpYy00LFxuICAgIC5waWMtOSwgLnBpYy0wIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG59XG5cbi8qPT09PT09PT09PSAgTm9uLU1vYmlsZSBGaXJzdCBNZXRob2QgID09PT09PT09PT0qL1xuXG4vKiBMYXJnZSBEZXZpY2VzLCBXaWRlIFNjcmVlbnMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDEyMDBweCkge1xuICAjaG9tZSA+IC5iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIGhlaWdodDogNTAwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvY3Jvd2QtbGcuanBnJykgYm90dG9tIGNlbnRlcjtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMy44cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDcuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDU2cHg7XG4gICAgfVxuICB9XG5cbiAgI2NvbnRhY3QgPiAuYmFubmVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICBoZWlnaHQ6IDUwMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21pYy1sZy5qcGcnKSBib3R0b20gY2VudGVyO1xuXG4gICAgaDEgeyBtYXJnaW46IDEwNXB4IDAgMCAxMDBweDsgfVxuICB9XG5cbiAgLndoYXQtd2UtZG8ge1xuICAgIGhlYWRlciBoMyB7IGZvbnQtc2l6ZTogM3JlbTsgfVxuXG4gICAgLmRldmVsb3BtZW50IGgyIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuICAgIGgyIHsgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDsgfVxuICB9XG5cbiAgLnRlYW0gaGVhZGVyIHsgbWFyZ2luLXRvcDogLTM1NnB4ICFpbXBvcnRhbnQ7IH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTAxMHB4KSB7XG4gICNhYm91dCAucGhvdG9zIHtcbiAgICAucm93IHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgLnBpYy0yLCAucGljLTMsIC5waWMtNCxcbiAgICAgIC5waWMtOCwgLnBpYy05LCAucGljLTAgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuICB9XG59XG5cbi8qIE1lZGl1bSBEZXZpY2VzLCBEZXNrdG9wcyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogOTkycHgpIHtcbiAgLmdyb3VwIHsgbWFyZ2luOiA2MHB4IDAgMzBweCAwICFpbXBvcnRhbnQ7IH1cblxuICAjYWJvdXQgLmNvZGVyb2NrciAuY3Jvc3MtdGl0bGUgaDIge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmFmdGVyIHsgbGVmdDogNDcwcHggIWltcG9ydGFudDsgfVxuICB9XG5cbiAgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3Rvcnkge1xuICAgIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICB9XG5cbiAgI2Fib3V0IC5jb2Rlcm9ja3IgLmhpc3RvcnkgLmxvZ28gaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIG1hcmdpbjogNzVweCAwIDYwcHggMDtcbiAgfVxuXG4gICNhYm91dCAuY29kZXJvY2tyIC5oaXN0b3J5IHAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuICAjYWJvdXQgLmNvZGVyb2NrciAucHJpbmNpcGxlcyB7IHBhZGRpbmctdG9wOiA1OHB4OyB9XG5cbiAgI2Fib3V0IC50ZWFtIC5jb250YWluZXIgLnJvdyA+IC5zdWJ0aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogODVweCAwIDQ1cHggMDtcbiAgfVxuXG4gICNhYm91dCAudGVhbSAuY29udGFpbmVyIC5yb3cgPiB1bCBsaSAuc3RhcnMgeyBwYWRkaW5nOiA0NXB4IDAgNjBweCAwOyB9XG5cbiAgI2Fib3V0IC5jb2Rlcm9ja3IgLnByaW5jaXBsZXMgLmNvbnRhaW5lciB1bCBsaSB7IG1hcmdpbi1ib3R0b206IDU4cHg7IH1cblxuICAjYWJvdXQgLnRlYW0gLmNvbnRhaW5lciAucm93IGgzIHsgbWFyZ2luOiA4MHB4IDA7IH1cblxuICAudGVhbSBoZWFkZXIgeyBtYXJnaW4tdG9wOiAtMTEycHggIWltcG9ydGFudDsgfVxuXG4gICNoZWFkZXIgbmF2IHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICNob21lID4gLmJhbm5lciB7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Nyb3dkLW1kLmpwZycpIGJvdHRvbSBjZW50ZXI7IH1cblxuICAjY29udGFjdCA+IC5iYW5uZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21pYy1tZC5qcGcnKSBib3R0b20gY2VudGVyO1xuICB9XG5cbiAgLndoYXQtd2UtZG8ge1xuICAgIGhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICBoMyB7IGZvbnQtc2l6ZTogMi44cmVtOyB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gICAgLndyYXBwZXI6YWZ0ZXIgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC5zZXJ2aWNlIHtcbiAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogMzBweCAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5sZWZ0IGgyIHsgbWFyZ2luLXJpZ2h0OiAtLjRyZW0gIWltcG9ydGFudDsgfVxuICB9XG5cbiAgLnRpdGxlIHsgbWFyZ2luOiA4MHB4IDAgNjBweCAwOyB9XG5cbiAgLmNvZGVyb2NrcndheSB7XG4gICAgLnRpdGxlIHsgbWFyZ2luOiA4MHB4IDAgMTVweCAwOyB9XG5cbiAgICBoMyB7IG1hcmdpbi1ib3R0b206IDM1cHggIWltcG9ydGFudDsgfVxuXG4gICAgLnRleHQsXG4gICAgLnBseXIge1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgbWFyZ2luLXRvcDogMjVweCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICNmb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGltZyB7XG4gICAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIG1hcmdpbjogMzVweCBhdXRvO1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLyogU21hbGwgRGV2aWNlcywgVGFibGV0cyAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNzY4cHgpIHtcbiAgI2Fib3V0IC5waG90b3MgLnJvdyB7XG4gICAgLmltZy1yZXNwb25zaXZlIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLnBpYy0xLCAucGljLTIsIC5waWMtMywgLnBpYy00LFxuICAgIC5waWMtNywgLnBpYy04LCAucGljLTksIC5waWMtMCB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuXG4gICNhYm91dCAucHJpbmNpcGxlcyBoZWFkZXIgc3BhbiB7XG4gICAgZm9udC1zaXplOiAzLjVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogN3JlbSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzMzBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogNjJweCAwIDAgNDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgI2Fib3V0IC5wZXJzb24ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4gIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAucHJvZmlsZSAuc3VidGl0bGV7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAjaG9tZSA+IC5iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xuICAgIGhlaWdodDogNDUwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvY3Jvd2Qtc20uanBnJykgYm90dG9tIGNlbnRlcjtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA3LjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiA3MnB4O1xuICAgIH1cbiAgfVxuXG4gICAjY29udGFjdCA+IC5iYW5uZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQ1MHB4O1xuICAgIGhlaWdodDogNDUwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvbWljLXNtLmpwZycpIGJvdHRvbSBjZW50ZXI7XG5cbiAgICBoMSB7XG4gICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgICAgbWFyZ2luOiA4NXB4IGF1dG8gMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC53aGF0LXdlLWRvIC5ibHVycmVkLFxuICAud2hhdC13ZS1kbyAuYmx1cnJlZDpiZWZvcmUsXG4gIC53aGF0LXdlLWRvIGhlYWRlciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAud2hhdC13ZS1kbyBzZWN0aW9uIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4gIC5wcm9kdWN0cyB7XG4gICAgaGVhZGVyIHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBoZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvZ3JhcGhzLnBuZ1wiKSBjZW50ZXIgLTM2cHggbm8tcmVwZWF0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lc3RpbWVvcHJhem8ge1xuICAgICAgLndyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAuc3VidGl0bGUgeyBtYXJnaW4tdG9wOiAyMHB4O31cblxuICAgICAgICBwIHtcbiAgICAgICAgICB3aWR0aDogaW5pdGlhbDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogNDBweCBhdXRvIDAgYXV0bztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDYwOHB4KSB7XG4gICNob21lID4gLmJhbm5lciBoMSB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA2cmVtO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDU1MHB4KSB7XG4gICNob21lID4gLmJhbm5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgaGVpZ2h0OiA0MDBweDtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDUuNXJlbTtcbiAgICAgIG1hcmdpbjogMzRweCAzMHB4IDAgMzBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNTUwcHgpIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSB7XG4gICNob21lID4gLmJhbm5lciB7XG4gICAgbWF4LWhlaWdodDogMzU1cHg7XG4gICAgaGVpZ2h0OiAzNTVweDtcbiAgfVxufVxuXG4vKiBFeHRyYSBTbWFsbCBEZXZpY2VzLCBQaG9uZXMgKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDQ4MHB4KSB7XG4gICNob21lID4gLmJhbm5lciB7IGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2Nyb3dkLXhzLmpwZycpIGJvdHRvbSBjZW50ZXI7IH1cblxuICAjY29udGFjdCA+IC5iYW5uZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL21pYy14cy5qcGcnKSBib3R0b20gY2VudGVyO1xuXG4gICAgaDEge1xuICAgICAgbWFyZ2luOiA1NXB4IGF1dG8gMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAyNjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA4LjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlIHsgZm9udC1zaXplOiAzLjhyZW07IH1cblxuICAuc3VidGl0bGUgaDIgeyBmb250LXNpemU6IDIuNXJlbTsgfVxuXG4gIC53aGF0LXdlLWRvIHtcbiAgICBoNCB7IG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDsgfVxuXG4gICAgLnNlcnZpY2Uge1xuICAgICAgbWFyZ2luOiAxOHB4IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2VydmljZTpudGgtY2hpbGQoMW4pIHsgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7IH1cblxuICAgIC5idG4ge1xuICAgICAgZm9udC1zaXplOiAxLjZyZW0gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDEzcHggMTVweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICNhYm91dCAucHJpbmNpcGxlcyBoZWFkZXIgc3BhbiB7XG4gICAgZm9udC1zaXplOiAzLjVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogN3JlbSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAzMzBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogNjJweCAwIDAgNDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLnByb2R1Y3RzIHtcbiAgICBoZWFkZXIge1xuICAgICAgbWF4LWhlaWdodDogNDAwcHggIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogNDAwcHggIWltcG9ydGFudDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBtYXgtaGVpZ2h0OiA0MDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9ncmFwaHMucG5nXCIpIGNlbnRlciAtMTMwcHggbm8tcmVwZWF0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lc3RpbWVvcHJhem8geyBtYXJnaW4tdG9wOiA1NXB4ICFpbXBvcnRhbnQ7IH1cblxuICAgIC5jb2Rlcm9ja3J3YXkge1xuICAgICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICY6YWZ0ZXIgeyB0b3A6IDEuMnJlbSAhaW1wb3J0YW50OyB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHsgbWFyZ2luOiA2MnB4IGF1dG8gMjBweCBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIC5mb3RvcmFtYV9fYXJyIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgI2Zvb3RlciBsaSB7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxuICAgICY6bGFzdC1jaGlsZCB7IG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogNDY1cHgpIHtcbiAgLnRpdGxlIHsgbWFyZ2luOiA2MHB4IDAgNDBweCAwOyB9XG5cbiAgI2hvbWUgPiAuYmFubmVyIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDIuMnJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1LjJyZW07XG4gICAgICBtYXJnaW46IDQzcHggMDtcbiAgICB9XG4gIH1cblxuICAud2hhdC13ZS1kbyBzZWN0aW9uIHsgcGFkZGluZy1ib3R0b206IDc2cHg7IH1cblxuICAjY29udGFjdCAuY3Jvc3MtdGl0bGUge1xuICAgIGgyIHtcbiAgICAgIC5udW1iZXIge1xuICAgICAgICBib3R0b206IC0yNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQ6IDZyZW0gJHNlY3VuZGFyeS1mb250ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQ6IDIuNnJlbS81LjJyZW0gJHNlY3VuZGFyeS1mb250ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvdHRvbTogLTZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxlZnQge1xuICAgICAgJjphZnRlciB7IG1pbi13aWR0aDogMjA0cHggIWltcG9ydGFudCB9XG4gICAgICBoMiB7XG4gICAgICAgICY6YWZ0ZXIgeyBsZWZ0OiAxODlweCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC50aXRsZSB7IGxlZnQ6IDMxcHggIWltcG9ydGFudDsgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYucmlnaHQge1xuICAgICAgJjphZnRlciB7IG1pbi13aWR0aDogMjgzcHggIWltcG9ydGFudCB9XG4gICAgICBoMiB7XG4gICAgICAgICY6YWZ0ZXIgeyByaWdodDogMjY4cHggIWltcG9ydGFudDsgfVxuICAgICAgICAudGl0bGUgeyByaWdodDogMzBweCAhaW1wb3J0YW50OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDM2OHB4KSB7XG4gICNob21lID4gLmJhbm5lciB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDVyZW07XG4gICAgICBtYXJnaW46IDQzcHggMDtcbiAgICB9XG4gIH1cblxuICAjYWJvdXQgLnBob3RvcyB7IG1hcmdpbjogLTM0NXB4IDAgNjVweCAwOyB9XG5cbiAgI2Fib3V0IC5wcmluY2lwbGVzIGhlYWRlciBzcGFuIHtcbiAgICBmb250LXNpemU6IDNyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogN3JlbSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAyODBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogNjJweCAwIDAgMThweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDM0NnB4KSB7XG4gICNob21lID4gLmJhbm5lciB7XG4gICAgaDEgeyBtYXJnaW46IDI0cHggMDsgfVxuICB9XG59XG5cbi8qIEN1c3RvbSwgaVBob25lIFJldGluYSAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMzIwcHgpIHtcbiAgI2hvbWUgPiAuYmFubmVyIHtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDEuOHJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0Ljc1cmVtO1xuICAgICAgbWFyZ2luOiAzNXB4IDA7XG4gICAgfVxuICB9XG5cbiAgI2Fib3V0IC5waG90b3MgeyBtYXJnaW46IC0zNDVweCAwIDkwcHggMDsgfVxufVxuIl19 */
diff --git a/src/templates/contact.html b/contact.html
similarity index 61%
rename from src/templates/contact.html
rename to contact.html
index 960f3da..fbe8d1a 100644
--- a/src/templates/contact.html
+++ b/contact.html
@@ -1,11 +1,65 @@
----
-title: Coderockr - Contato
----
+<!doctype html>
+<html class="no-js" lang="pt">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+		<title>Coderockr - Contato</title>
 
-<div id="main-content">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="format-detection" content="telephone=no">
+
+    <meta name="description" content="A Coderockr acredita que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação.">
+    <meta name="keywords" content="Coderockr, Desenvilvimento, Sistemas Web, Aplicativos Mobile, Big Data, Planrockr, Elton Minetto, Joinville.">
+
+    <link type="text/plain" rel="author" href="humans.txt" />
+    <link href="assets/images/favicon.png" rel="shortcut icon">
+
+    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
 
-    {{> header}}
+    <link rel="stylesheet" href="assets/styles/main.css">
+
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>
+    <script>
+      (function(h,o,t,j,a,r){
+          h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
+          h._hjSettings={hjid:744957,hjsv:6};
+          a=o.getElementsByTagName('head')[0];
+          r=o.createElement('script');r.async=1;
+          r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
+          a.appendChild(r);
+      })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
+    </script>
+	</head>
+	<body>
+		<!--[if lt IE 10]>
+			<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+		<![endif]-->
+
+		
+<div id="main-content">
 
+    <header id="header">
+      <div class="container">
+        <div class="row">
+          <div class="col-md-12 flex-row">
+            <a href="index.html" title="Coderockr" class="logo">
+              <img src="assets/images/coderockr.svg" alt="Coderockr Logo">
+            </a>
+            <nav>
+              <ul>
+                <li><a href="index.html" title="O que fazemos" data-autoscroll="true">O Que Fazemos</a></li>
+                <li><a href="about.html" title="Quem somos">Quem Somos</a></li>
+                <li><a href="https://blog.coderockr.com" title="Blog Coderockr" target="_blank">Blog</a></li>
+                <li><a href="contact.html" title="Contato">Contato</a></li>
+              </ul>
+            </nav>
+            <a class="mobile hidden-md hidden-lg menu-trigger" href="#menu-mobile" title="Menu">
+              <img src="assets/images/menu.svg" alt="Menu icon">
+            </a>
+          </div>
+        </div>
+      </div>
+    </header>
     <div id="contact" class="wrap">
       <section class="banner">
         <div class="container">
@@ -206,7 +260,7 @@ <h1 class="title">
             <p class="strong">Rua Henrique Meyer, 40,</p>
             <p>Sala 1, Centro. CEP 89201-405</p>
             <p>Joinville - SC</p>
-            <p class="strong">Fone: +55 47 3227-6359</p>
+            <p class="strong">Fone: +55 47 98859-1460</p>
             <p class="strong">contato@coderockr.com</p>
           </div>
         </div>
@@ -215,5 +269,73 @@ <h1 class="title">
 
     <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyAlXreDCGCFsGRMWteNqmZ_Ai5qFjohDEE"></script>
 
-    {{> footer}}
-  </div>
\ No newline at end of file
+    <footer id="footer">
+      <div class="container">
+        <div class="row">
+          <div class="col-md-12">
+            <ul class="social">
+              <li><a href="https://www.facebook.com/coderockr" title="Curta a Coderockr no Facebook"><span class="icon-facebook"></span></a></li>
+              <li><a href="https://twitter.com/coderockr" title="Siga a Coderockr no Twitter" target="_blank"><span class="icon-twitter"></span></a></li>
+              <li><a href="https://www.instagram.com/coderockr" title="Veja a Coderockr no Instagram" target="_blank"><span class="icon-instagram"></span></a></li>
+              <li><a href="https://www.linkedin.com/company/coderockr" title="Acompahe a Coderockr no LinkedIn" target="_blank"><span class="icon-linkedin"></span></a></li>
+              <li><a href="https://blog.coderockr.com" title="Leia sore a Coderockr no Medium" target="_blank"><span class="icon-medium"></span></a></li>
+              <li><a href="https://github.com/Coderockr" title="Acompahe a Coderockr no Github" target="_blank"><span class="icon-github"></span></a></li>
+            </ul>
+            <img src="assets/images/hand-white.svg" alt="Coderockr Logo" title="You Rock!" class="pull-right">
+            <div class="text">
+              <p>
+                +55 47 98859-1460 &nbsp;&nbsp;&nbsp;
+                contato@coderockr.com
+              </p>
+              <p class="copyright">© 2021 Coderockr. Todos os direitos reservados. &nbsp; Joinville - SC</p>
+            </div>
+          </div>
+        </div>
+      </div>
+    </footer>  </div>
+
+		<div class="shadow-layer"></div>
+
+    <nav id="menu-mobile">
+      <div class="container">
+        <div class="row">
+          <ul>
+            <li><a href="index.html">Home</a></li>
+            <li><a href="index.html#what-we-do" data-autoscroll="true">O Que Fazemos</a></li>
+            <li><a href="about.html">Quem Somos</a></li>
+            <li><a href="index.html#products" title="Nossos Produtos" data-autoscroll="true">Produtos</a></li>
+            <li><a href="https://blog.coderockr.com" title="Blog Coderockr" target="_blank">Blog</a></li>
+            <li><a href="contact.html">Contato</a></li>
+          </ul>
+          <a href="#0" class="close-menu"><img src="assets/images/close.svg" alt="Close icon"></a>
+        </div>
+      </div>
+    </nav>
+
+    <script src="assets/scripts/main.js" async defer></script>
+    <script type="text/javascript">
+      _linkedin_data_partner_id = "220457";
+      </script><script type="text/javascript">
+      (function(){var s = document.getElementsByTagName("script")[0];
+      var b = document.createElement("script");
+      b.type = "text/javascript";b.async = true;
+      b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
+      s.parentNode.insertBefore(b, s);})();
+    </script>
+    <noscript>
+    <img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=220457&fmt=gif" />
+    </noscript>
+
+    <script type="text/javascript">
+      var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
+      (function(){
+      var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
+      s1.async=true;
+      s1.src='https://embed.tawk.to/5c4a1be8ab5284048d0e73d6/default';
+      s1.charset='UTF-8';
+      s1.setAttribute('crossorigin','*');
+      s0.parentNode.insertBefore(s1,s0);
+      })();
+    </script>
+  </body>
+</html>
diff --git a/gh-pages.sh b/gh-pages.sh
deleted file mode 100755
index 2077d80..0000000
--- a/gh-pages.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-yarn build
-cp ./CNAME ./dist/CNAME
-cp ./humans.txt ./dist/humans.txt
-cp ./crossdomain.xml ./dist/crossdomain.xml
-cp ./README.md ./dist/README.md
-git subtree split --prefix dist -b master # create a local master branch containing the splitted output folder
-git push -f origin master:master # force the push of the master branch to the remote master branch at origin
-git branch -D master # delete the local master because you will need it: ref
diff --git a/gulpfile.js b/gulpfile.js
deleted file mode 100644
index 5415f0e..0000000
--- a/gulpfile.js
+++ /dev/null
@@ -1,224 +0,0 @@
-const assemble = require('fabricator-assemble');
-const autoprefixer = require('gulp-autoprefixer');
-const browserSync = require('browser-sync');
-const cssnano = require('gulp-cssnano');
-const del = require('del');
-const gulp = require('gulp');
-const gulpif = require('gulp-if');
-const gutil = require('gulp-util');
-const imagemin = require('gulp-imagemin');
-const notifier = require('node-notifier');
-const runSequence = require('run-sequence');
-const sass = require('gulp-sass');
-const sourcemaps = require('gulp-sourcemaps');
-const webpack = require('webpack');
-
-const reload = browserSync.reload;
-
-// configuration
-const config = {
-  templates: {
-    src: ['src/templates/**/*', '!src/templates/layouts/**'],
-    dest: 'dist',
-    watch: ['src/templates/**/*', 'src/data/**/*.json'],
-    layouts: 'src/templates/layouts/*',
-    partials: ['src/templates/components/**/*'],
-    data: 'src/data/**/*.{json,yml}',
-  },
-  scripts: {
-    src: './src/assets/scripts/main.js',
-    dest: 'dist/assets/scripts',
-    watch: 'src/assets/scripts/**/*',
-  },
-  styles: {
-    src: 'src/assets/styles/main.scss',
-    dest: 'dist/assets/styles',
-    watch: 'src/assets/styles/**/*',
-    browsers: ['last 1 version'],
-  },
-  images: {
-    src: 'src/assets/images/**/*',
-    dest: 'dist/assets/images',
-    watch: 'src/assets/images/**/*',
-  },
-  fonts: {
-    src: 'src/assets/fonts/**/*',
-    dest: 'dist/assets/fonts',
-    watch: 'src/assets/fonts/**/*',
-  },
-  data: {
-    src: 'src/data/**/*',
-    watch: 'src/data/**/*',
-  },
-  dev: gutil.env.dev,
-};
-
-// clean
-gulp.task('clean', del.bind(null, ['dist']));
-
-// templates
-gulp.task('templates', (done) => {
-  assemble({
-    layouts: config.templates.layouts,
-    views: config.templates.src,
-    materials: config.templates.partials,
-    data: config.templates.data,
-    keys: {
-      views: 'templates',
-      materials: 'components',
-    },
-    dest: config.templates.dest,
-    logErrors: config.dev,
-    helpers: {
-      // {{ default description "string of content used if description var is undefined" }}
-      default: function defaultFn(...args) {
-        return args.find(value => !!value);
-      },
-      // {{ concat str1 "string 2" }}
-      concat: function concat(...args) {
-        return args.slice(0, args.length - 1).join('');
-      },
-      // {{> (dynamicPartial name) }} ---- name = 'nameOfComponent'
-      dynamicPartial: function dynamicPartial(name) {
-        return name;
-      },
-      eq: function eq(v1, v2) {
-        return v1 === v2;
-      },
-      ne: function ne(v1, v2) {
-        return v1 !== v2;
-      },
-      and: function and(v1, v2) {
-        return v1 && v2;
-      },
-      or: function or(v1, v2) {
-        return v1 || v2;
-      },
-      not: function not(v1) {
-        return !v1;
-      },
-      gte: function gte(a, b) {
-        return +a >= +b;
-      },
-      lte: function lte(a, b) {
-        return +a <= +b;
-      },
-      plus: function plus(a, b) {
-        return +a + +b;
-      },
-      minus: function minus(a, b) {
-        return +a - +b;
-      },
-      divide: function divide(a, b) {
-        return +a / +b;
-      },
-      multiply: function multiply(a, b) {
-        return +a * +b;
-      },
-      abs: function abs(a) {
-        return Math.abs(a);
-      },
-      mod: function mod(a, b) {
-        return +a % +b;
-      },
-    },
-  });
-  done();
-});
-
-// scripts
-const webpackConfig = require('./webpack.config')(config);
-
-gulp.task('scripts', (done) => {
-  webpack(webpackConfig, (err, stats) => {
-    if (err) {
-      gutil.log(gutil.colors.red(err()));
-    }
-    const result = stats.toJson();
-    if (result.errors.length) {
-      result.errors.forEach((error) => {
-        gutil.log(gutil.colors.red(error));
-        notifier.notify({
-          title: 'JS Build Error',
-          message: error,
-        });
-      });
-    }
-    done();
-  });
-});
-
-// SASS styles
-gulp.task('styles', () =>
- gulp.src(config.styles.src)
-    .pipe(sourcemaps.init())
-    .pipe(sass({
-      includePaths: './node_modules',
-    }).on('error', sass.logError))
-    .pipe(autoprefixer({
-      browsers: config.styles.browsers,
-    }))
-    .pipe(gulpif(!config.dev, cssnano({ autoprefixer: false })))
-    .pipe(sourcemaps.write())
-    .pipe(gulp.dest(config.styles.dest))
-    .pipe(gulpif(config.dev, reload({ stream: true }))));
-
-// images
-gulp.task('images', () =>
-  gulp.src(config.images.src)
-    .pipe(imagemin({
-      progressive: true,
-      interlaced: true,
-    }))
-    .pipe(gulp.dest(config.images.dest)));
-
-// fonts
-gulp.task('fonts', () =>
-  gulp.src(config.fonts.src).pipe(gulp.dest(config.fonts.dest)));
-
-// data
-gulp.task('data', () =>
-  gulp.src(config.data.src));
-
-// server
-gulp.task('serve', () => {
-  browserSync({
-    server: {
-      baseDir: config.templates.dest,
-    },
-    notify: false,
-    logPrefix: 'BrowserSync',
-  });
-
-  gulp.task('templates:watch', ['templates'], reload);
-  gulp.watch(config.templates.watch, ['templates:watch']);
-  gulp.task('styles:watch', ['styles']);
-  gulp.watch(config.styles.watch, ['styles:watch']);
-  gulp.task('scripts:watch', ['scripts'], reload);
-  gulp.watch(config.scripts.watch, ['scripts:watch']);
-  gulp.task('images:watch', ['images'], reload);
-  gulp.watch(config.images.watch, ['images:watch']);
-  gulp.task('fonts:watch', ['fonts'], reload);
-  gulp.watch(config.fonts.watch, ['fonts:watch']);
-  gulp.task('data:watch', ['templates'], reload);
-  gulp.watch(config.data.watch, ['data:watch']);
-});
-
-// default build task
-gulp.task('default', ['clean'], () => {
-  const tasks = [
-    'templates',
-    'scripts',
-    'styles',
-    'images',
-    'fonts',
-    'data',
-  ];
-
-  // run build
-  runSequence(tasks, () => {
-    if (config.dev) {
-      gulp.start('serve');
-    }
-  });
-});
diff --git a/src/templates/index.html b/index.html
similarity index 57%
rename from src/templates/index.html
rename to index.html
index 2c72ba0..474d487 100644
--- a/src/templates/index.html
+++ b/index.html
@@ -1,19 +1,73 @@
----
-title: Coderockr - Creating Projects that Rock!
----
+<!doctype html>
+<html class="no-js" lang="pt">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+		<title>Coderockr - Creating Projects that Rock!</title>
 
-<main id="main-content">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <meta name="format-detection" content="telephone=no">
+
+    <meta name="description" content="A Coderockr acredita que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação.">
+    <meta name="keywords" content="Coderockr, Desenvilvimento, Sistemas Web, Aplicativos Mobile, Big Data, Planrockr, Elton Minetto, Joinville.">
+
+    <link type="text/plain" rel="author" href="humans.txt" />
+    <link href="assets/images/favicon.png" rel="shortcut icon">
+
+    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
+
+    <link rel="stylesheet" href="assets/styles/main.css">
 
-  {{> header}}
+    <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>
+    <script>
+      (function(h,o,t,j,a,r){
+          h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
+          h._hjSettings={hjid:744957,hjsv:6};
+          a=o.getElementsByTagName('head')[0];
+          r=o.createElement('script');r.async=1;
+          r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
+          a.appendChild(r);
+      })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
+    </script>
+	</head>
+	<body>
+		<!--[if lt IE 10]>
+			<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
+		<![endif]-->
 
+		
+<main id="main-content">
+
+  <header id="header">
+    <div class="container">
+      <div class="row">
+        <div class="col-md-12 flex-row">
+          <a href="index.html" title="Coderockr" class="logo">
+            <img src="assets/images/coderockr.svg" alt="Coderockr Logo">
+          </a>
+          <nav>
+            <ul>
+              <li><a href="index.html" title="O que fazemos" data-autoscroll="true">O Que Fazemos</a></li>
+              <li><a href="about.html" title="Quem somos">Quem Somos</a></li>
+              <li><a href="https://blog.coderockr.com" title="Blog Coderockr" target="_blank">Blog</a></li>
+              <li><a href="contact.html" title="Contato">Contato</a></li>
+            </ul>
+          </nav>
+          <a class="mobile hidden-md hidden-lg menu-trigger" href="#menu-mobile" title="Menu">
+            <img src="assets/images/menu.svg" alt="Menu icon">
+          </a>
+        </div>
+      </div>
+    </div>
+  </header>
   <div id="home" class="wrap">
     <section class="banner">
       <div class="container">
         <div class="row">
-            <h1 class="col-md-10 col-md-offset-1">
+          <h1 class="col-md-10 col-md-offset-1">
             A CODEROCKR É UMA EMPRESA QUE ACREDITA QUE O DESENVOLVIMENTO DE SOFTWARE
             É UMA ARTE, QUE DEVE SER FEITA COM PAIXÃO E DEDICAÇÃO.
-            </h1>
+          </h1>
         </div>
       </div>
     </section>
@@ -71,56 +125,15 @@ <h4>PODEMOS TE AJUDAR?</h4>
       <div class="wrapper">
         <div class="container">
           <div class="row">
-            <h1 class="title col-md-12">NOSSOS PRODUTOS</h1>
-            <section class="planrockr col-md-12 text-center">
-              <img src="assets/images/macbook.png" alt="Planrockr Screenshot">
-              <div class="subtitle">
-                <img src="assets/images/planrockr.svg" alt="Planrockr Logo">
-                <span></span>
-              </div>
-              <p class="text-center col-md-6 col-md-offset-3">
-                O Planrockr coleta dados de diversas ferramentas de gerenciamento de projetos
-                e usa Big Data para facilitar a análise e fornecer insights sobre os seus
-                projetos, facilitando a tomada de decisões. Visualize e analise o andamento e
-                performance de seus projetos com maior clareza e rapidez em um
-                único painel através do Planrockr.
-              </p>
-              <div class="clearfix"></div>
-              <a href="http://planrockr.com" class="btn" title="Saiba Mais" target="_blank">SAIBA MAIS</a>
-            </section>
-            <section class="estimeoprazo col-md-12">
-              <div class="row">
-                <div class="col-sm-6 col-xs-12">
-                  <div class="wrapper">
-                    <div class="subtitle">
-                      <h2>ESTIME O PRAZO</h2>
-                      <span></span>
-                    </div>
-                    <p>
-                      Estime o prazo do seu projeto em apenas dois passos! Disponibilizamos
-                      aqui um método utilizado para estimar o prazo de projetos de maneira
-                      fácil e rápida. Use agora mesmo e descubra os possíveis prazos do seu projeto.
-                    </p>
-                    <div class="clearfix"></div>
-                    <a href="http://www.estimeoprazo.com.br" class="btn" title="Saiba Mais" target="_blank">
-                      SAIBA MAIS
-                    </a>
-                  </div>
-                </div>
-                <div class="col-sm-6 col-xs-12">
-                  <img src="assets/images/estime-o-prazo.png" alt="Planrockr Screenshot">
-                </div>
-              </div>
-            </section>
             <section class="coderockrway col-md-12">
               <div class="subtitle text-center">
                 <h2>NOSSA METODOLOGIA</h2>
                 <h3>CODEROCKR WAY</h3>
               </div>
-              <div class="col-md-7">
+              <div class="col-md-8 col-md-offset-2">
                 <video></video>
               </div>
-              <div class="col-md-5">
+              <div class="col-md-8 col-md-offset-2">
                 <div class="text">
                   <p>
                     Ao longo dos anos a Coderockr tem estudado e aplicado diversas tendências em
@@ -210,14 +223,15 @@ <h4>CTO na Resultados Digitais</h4>
       </div>
     </section>
 
-  <section class="articles">
+    <section class="articles">
       <div class="container">
-      <div class="row">
-          <h1 class="title col-md-12">ARTIGOS RECENTES</h1>
+        <div class="row">
+          <h1 class="title col-md-12">ARTIGOS PUBLICADOS</h1>
 
           <ul class="col-md-12">
             <li class="col-md-4 col-md-offset-0 col-sm-8 col-sm-offset-2 col-xs-12 col-xs-offset-0">
-              <a href="https://blog.coderockr.com/time-tracking-na-linha-de-comando-ce5624642a88" title="Time tracking na linha de comando" target="_blank" class="header">
+              <a href="https://blog.coderockr.com/time-tracking-na-linha-de-comando-ce5624642a88"
+                title="Time tracking na linha de comando" target="_blank" class="header">
                 <img src="assets/images/articles/time_tracking_on_cli.jpg" alt="Time tracking na linha de comando">
                 <h2>Time tracking na linha de comando</h2>
                 <h3>Elton Minetto - 21/08/2017</h3>
@@ -228,13 +242,16 @@ <h3>Elton Minetto - 21/08/2017</h3>
                 no nosso dia a dia. Uma das minhas sugestões no post foi usar uma ferramenta
                 para anotar as horas e tarefas, o que ajuda a manter o foco em uma coisa de cada vez...
               </p>
-              <a href="https://blog.coderockr.com/time-tracking-na-linha-de-comando-ce5624642a88" title="Continuar lendo" target="_blank" class="anchor">
+              <a href="https://blog.coderockr.com/time-tracking-na-linha-de-comando-ce5624642a88"
+                title="Continuar lendo" target="_blank" class="anchor">
                 Continuar Lendo
               </a>
             </li>
             <li class="col-md-4 col-md-offset-0 col-sm-8 col-sm-offset-2 col-xs-12 col-xs-offset-0">
-              <a href="https://blog.coderockr.com/gerenciando-depend%C3%AAncias-em-golang-c8c668285c55" title="Gerenciando dependências em Golang" target="_blank" class="header">
-                <img src="assets/images/articles/gerenciando_dependencias_em_golang.jpg" alt="Gerenciando dependências em Golang">
+              <a href="https://blog.coderockr.com/gerenciando-depend%C3%AAncias-em-golang-c8c668285c55"
+                title="Gerenciando dependências em Golang" target="_blank" class="header">
+                <img src="assets/images/articles/gerenciando_dependencias_em_golang.jpg"
+                  alt="Gerenciando dependências em Golang">
                 <h2>Gerenciando dependências em Golang</h2>
                 <h3>Elton Minetto - 27/07/2017</h3>
               </a>
@@ -244,12 +261,14 @@ <h3>Elton Minetto - 27/07/2017</h3>
                 Foi-se o tempo dos grandes frameworks, com várias funcionalidades acopladas, e é
                 muito comum usarmos vários pequenos pacotes para montarmos nossos projetos...
               </p>
-              <a href="https://blog.coderockr.com/gerenciando-depend%C3%AAncias-em-golang-c8c668285c55" title="Continuar lendo" target="_blank" class="anchor">
+              <a href="https://blog.coderockr.com/gerenciando-depend%C3%AAncias-em-golang-c8c668285c55"
+                title="Continuar lendo" target="_blank" class="anchor">
                 Continuar Lendo
               </a>
             </li>
             <li class="col-md-4 col-md-offset-0 col-sm-8 col-sm-offset-2 col-xs-12 col-xs-offset-0">
-              <a href="https://blog.coderockr.com/definindo-apis-com-o-api-blueprint-99c0595a0ffd" title="Definindo APIs com o API Blueprint" target="_blank" class="header">
+              <a href="https://blog.coderockr.com/definindo-apis-com-o-api-blueprint-99c0595a0ffd"
+                title="Definindo APIs com o API Blueprint" target="_blank" class="header">
                 <img src="assets/images/articles/definindo_apis.jpg" alt="Definindo APIs com o API Blueprint">
                 <h2>Definindo APIs com o API Blueprint</h2>
                 <h3>Elton Minetto - 28/06/2017</h3>
@@ -260,16 +279,85 @@ <h3>Elton Minetto - 28/06/2017</h3>
                 para todos os projetos que iniciamos, desde 2010. Mas nos últimos meses percebemos uma
                 necessidade: melhorar o processo de definição e documentação das APIs...
               </p>
-              <a href="https://blog.coderockr.com/definindo-apis-com-o-api-blueprint-99c0595a0ffd" title="Continuar lendo" target="_blank" class="anchor">
+              <a href="https://blog.coderockr.com/definindo-apis-com-o-api-blueprint-99c0595a0ffd"
+                title="Continuar lendo" target="_blank" class="anchor">
                 Continuar Lendo
               </a>
-          </li>
+            </li>
           </ul>
+        </div>
       </div>
-      </div>
-  </section>
+    </section>
   </div>
 
-  {{> footer}}
+  <footer id="footer">
+    <div class="container">
+      <div class="row">
+        <div class="col-md-12">
+          <ul class="social">
+            <li><a href="https://www.facebook.com/coderockr" title="Curta a Coderockr no Facebook"><span class="icon-facebook"></span></a></li>
+            <li><a href="https://twitter.com/coderockr" title="Siga a Coderockr no Twitter" target="_blank"><span class="icon-twitter"></span></a></li>
+            <li><a href="https://www.instagram.com/coderockr" title="Veja a Coderockr no Instagram" target="_blank"><span class="icon-instagram"></span></a></li>
+            <li><a href="https://www.linkedin.com/company/coderockr" title="Acompahe a Coderockr no LinkedIn" target="_blank"><span class="icon-linkedin"></span></a></li>
+            <li><a href="https://blog.coderockr.com" title="Leia sore a Coderockr no Medium" target="_blank"><span class="icon-medium"></span></a></li>
+            <li><a href="https://github.com/Coderockr" title="Acompahe a Coderockr no Github" target="_blank"><span class="icon-github"></span></a></li>
+          </ul>
+          <img src="assets/images/hand-white.svg" alt="Coderockr Logo" title="You Rock!" class="pull-right">
+          <div class="text">
+            <p>
+              +55 47 98859-1460 &nbsp;&nbsp;&nbsp;
+              contato@coderockr.com
+            </p>
+            <p class="copyright">© 2021 Coderockr. Todos os direitos reservados. &nbsp; Joinville - SC</p>
+          </div>
+        </div>
+      </div>
+    </div>
+  </footer>
+</main>
+
+		<div class="shadow-layer"></div>
+
+    <nav id="menu-mobile">
+      <div class="container">
+        <div class="row">
+          <ul>
+            <li><a href="index.html">Home</a></li>
+            <li><a href="index.html#what-we-do" data-autoscroll="true">O Que Fazemos</a></li>
+            <li><a href="about.html">Quem Somos</a></li>
+            <li><a href="index.html#products" title="Nossos Produtos" data-autoscroll="true">Produtos</a></li>
+            <li><a href="https://blog.coderockr.com" title="Blog Coderockr" target="_blank">Blog</a></li>
+            <li><a href="contact.html">Contato</a></li>
+          </ul>
+          <a href="#0" class="close-menu"><img src="assets/images/close.svg" alt="Close icon"></a>
+        </div>
+      </div>
+    </nav>
+
+    <script src="assets/scripts/main.js" async defer></script>
+    <script type="text/javascript">
+      _linkedin_data_partner_id = "220457";
+      </script><script type="text/javascript">
+      (function(){var s = document.getElementsByTagName("script")[0];
+      var b = document.createElement("script");
+      b.type = "text/javascript";b.async = true;
+      b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
+      s.parentNode.insertBefore(b, s);})();
+    </script>
+    <noscript>
+    <img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=220457&fmt=gif" />
+    </noscript>
 
-</main>
\ No newline at end of file
+    <script type="text/javascript">
+      var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
+      (function(){
+      var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
+      s1.async=true;
+      s1.src='https://embed.tawk.to/5c4a1be8ab5284048d0e73d6/default';
+      s1.charset='UTF-8';
+      s1.setAttribute('crossorigin','*');
+      s0.parentNode.insertBefore(s1,s0);
+      })();
+    </script>
+  </body>
+</html>
diff --git a/package.json b/package.json
deleted file mode 100644
index c0a67d7..0000000
--- a/package.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
-  "name": "Codercokr",
-  "version": "1.0.0",
-  "description": "Website Codercokr",
-  "author": "Codercokr",
-  "license": "UNLICENSED",
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/Coderockr/coderockr.github.com"
-  },
-  "scripts": {
-    "build": "yarn && gulp",
-    "lint": "eslint .",
-    "start": "gulp --dev",
-    "validate": "npm ls"
-  },
-  "devDependencies": {
-    "babel-core": "^6.5.2",
-    "babel-loader": "^6.2.2",
-    "babel-preset-es2015": "^6.5.0",
-    "babel-preset-stage-2": "^6.11.0",
-    "browser-sync": "^2.8.0",
-    "del": "^2.2.0",
-    "eslint": "3.19.0",
-    "eslint-config-airbnb-base": "^11.1.3",
-    "eslint-config-standard": "^10.2.1",
-    "eslint-plugin-import": "^2.2.0",
-    "eslint-plugin-node": "^4.2.2",
-    "eslint-plugin-promise": "^3.5.0",
-    "eslint-plugin-standard": "^3.0.1",
-    "fabricator-assemble": "^1.2.0",
-    "gulp": "^3.9.0",
-    "gulp-autoprefixer": "^3.1.0",
-    "gulp-cssnano": "^2.1.1",
-    "gulp-if": "^2.0.0",
-    "gulp-imagemin": "^3.0.1",
-    "gulp-plumber": "^1.0.1",
-    "gulp-postcss": "^6.2.0",
-    "gulp-sass": "^2.0.4",
-    "gulp-sourcemaps": "^1.6.0",
-    "gulp-util": "^3.0.1",
-    "handlebars-loader": "^1.1.4",
-    "imports-loader": "^0.6.4",
-    "istanbul-instrumenter-loader": "^1.0.0",
-    "jasmine-core": "^2.5.2",
-    "node-notifier": "^5.0.2",
-    "postcss-cssnext": "^2.8.0",
-    "postcss-import": "^8.1.2",
-    "precommit-hook-eslint": "^3.0.0",
-    "precss": "^1.4.0",
-    "run-sequence": "^1.0.2",
-    "scripts-loader": "^0.1.3",
-    "webpack": "^1.10.5"
-  },
-  "pre-commit": [
-    "lint",
-    "test"
-  ],
-  "dependencies": {
-    "bootstrap-sass": "^3.3.7",
-    "fotorama": "^4.6.4",
-    "jquery": "^3.2.1",
-    "jquery-validation": "^1.17.0",
-    "material-design-lite": "^1.3.0",
-    "nouislider": "^10.1.0",
-    "plyr": "^2.0.18",
-    "sweetalert2": "^7.3.5"
-  }
-}
diff --git a/robots.txt b/robots.txt
deleted file mode 100644
index ee2cc21..0000000
--- a/robots.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-# robotstxt.org/
-
-User-agent: *
diff --git a/src/assets/fonts/icomoon.eot b/src/assets/fonts/icomoon.eot
deleted file mode 100755
index 31c4c15..0000000
Binary files a/src/assets/fonts/icomoon.eot and /dev/null differ
diff --git a/src/assets/fonts/icomoon.ttf b/src/assets/fonts/icomoon.ttf
deleted file mode 100755
index c695b4e..0000000
Binary files a/src/assets/fonts/icomoon.ttf and /dev/null differ
diff --git a/src/assets/fonts/icomoon.woff b/src/assets/fonts/icomoon.woff
deleted file mode 100755
index de8066f..0000000
Binary files a/src/assets/fonts/icomoon.woff and /dev/null differ
diff --git a/src/assets/images/buffer.svg b/src/assets/images/buffer.svg
deleted file mode 100644
index 790b160..0000000
--- a/src/assets/images/buffer.svg
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0"?>
-<svg width="12" height="4" viewPort="0 0 12 4" version="1.1" xmlns="http://www.w3.org/2000/svg">
-  <ellipse cx="2" cy="2" rx="2" ry="2">
-    <animate attributeName="cx" from="2" to="-10" dur="0.6s" repeatCount="indefinite" />
-  </ellipse>
-  <ellipse cx="14" cy="2" rx="2" ry="2" class="loader">
-    <animate attributeName="cx" from="14" to="2" dur="0.6s" repeatCount="indefinite" />
-  </ellipse>
-</svg>
diff --git a/src/assets/images/coderockr/picture-6.jpg b/src/assets/images/coderockr/picture-6.jpg
deleted file mode 100755
index d2b2ba6..0000000
Binary files a/src/assets/images/coderockr/picture-6.jpg and /dev/null differ
diff --git a/src/assets/images/coderockr/picture-9.jpg b/src/assets/images/coderockr/picture-9.jpg
deleted file mode 100755
index 0809d93..0000000
Binary files a/src/assets/images/coderockr/picture-9.jpg and /dev/null differ
diff --git a/src/assets/images/estime-o-prazo.png b/src/assets/images/estime-o-prazo.png
deleted file mode 100644
index 4cb7ece..0000000
Binary files a/src/assets/images/estime-o-prazo.png and /dev/null differ
diff --git a/src/assets/images/team/jefferson.jpg b/src/assets/images/team/jefferson.jpg
deleted file mode 100755
index 354413d..0000000
Binary files a/src/assets/images/team/jefferson.jpg and /dev/null differ
diff --git a/src/assets/images/team/leandro.jpg b/src/assets/images/team/leandro.jpg
deleted file mode 100755
index 04d46bf..0000000
Binary files a/src/assets/images/team/leandro.jpg and /dev/null differ
diff --git a/src/assets/images/team/lucas.jpg b/src/assets/images/team/lucas.jpg
deleted file mode 100755
index 29680e6..0000000
Binary files a/src/assets/images/team/lucas.jpg and /dev/null differ
diff --git a/src/assets/images/team/raony.jpg b/src/assets/images/team/raony.jpg
deleted file mode 100755
index fef866d..0000000
Binary files a/src/assets/images/team/raony.jpg and /dev/null differ
diff --git a/src/assets/images/team/renata.jpg b/src/assets/images/team/renata.jpg
deleted file mode 100644
index b2a6e02..0000000
Binary files a/src/assets/images/team/renata.jpg and /dev/null differ
diff --git a/src/assets/images/testimonial-4.jpg b/src/assets/images/testimonial-4.jpg
deleted file mode 100644
index 17996cb..0000000
Binary files a/src/assets/images/testimonial-4.jpg and /dev/null differ
diff --git a/src/assets/images/tick-mask.svg b/src/assets/images/tick-mask.svg
deleted file mode 100644
index b098920..0000000
--- a/src/assets/images/tick-mask.svg
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.1"
-   viewBox="0 0 1 1"
-   preserveAspectRatio="xMinYMin meet">
-  <defs>
-    <clipPath id="clip">
-      <path
-         d="M 0,0 0,1 1,1 1,0 0,0 z M 0.8534375,0.1671875 0.9596875,0.273125 0.429375,0.8034375 0.323125,0.9096875 0.2171875,0.8034375 0.0403125,0.626875 0.1465625,0.520625 0.323125,0.6975 0.8534375,0.1671875 z"
-         style="fill:#ffffff;fill-opacity:1;stroke:none" />
-    </clipPath>
-    <mask id="mask" maskUnits="objectBoundingBox" maskContentUnits="objectBoundingBox">
-      <path
-         d="M 0,0 0,1 1,1 1,0 0,0 z M 0.8534375,0.1671875 0.9596875,0.273125 0.429375,0.8034375 0.323125,0.9096875 0.2171875,0.8034375 0.0403125,0.626875 0.1465625,0.520625 0.323125,0.6975 0.8534375,0.1671875 z"
-         style="fill:#ffffff;fill-opacity:1;stroke:none" />
-    </mask>
-  </defs>
-  <rect
-     width="1"
-     height="1"
-     x="0"
-     y="0"
-     clip-path="url(#clip)"
-     style="fill:#000000;fill-opacity:1;stroke:none" />
-</svg>
diff --git a/src/assets/images/tick.svg b/src/assets/images/tick.svg
deleted file mode 100644
index b3d6ec8..0000000
--- a/src/assets/images/tick.svg
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   version="1.1"
-   viewBox="0 0 1 1"
-   preserveAspectRatio="xMinYMin meet">
-  <path
-     d="M 0.04038059,0.6267767 0.14644661,0.52071068 0.42928932,0.80355339 0.3232233,0.90961941 z M 0.21715729,0.80355339 0.85355339,0.16715729 0.95961941,0.2732233 0.3232233,0.90961941 z"
-     id="rect3780"
-     style="fill:#ffffff;fill-opacity:1;stroke:none" />
-</svg>
diff --git a/src/assets/scripts/globals.js b/src/assets/scripts/globals.js
deleted file mode 100644
index 777ad29..0000000
--- a/src/assets/scripts/globals.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import $ from 'jquery';
-
-window.jQuery = $;
-window.$ = window.jQuery;
-window.jquery = window.jQuery;
-
-export default $;
diff --git a/src/assets/scripts/main.js b/src/assets/scripts/main.js
deleted file mode 100644
index 9ce9005..0000000
--- a/src/assets/scripts/main.js
+++ /dev/null
@@ -1,431 +0,0 @@
-import $ from './globals';
-import './vendor/jquery.maskedinput.min';
-
-'use strict';
-
-import fotorama from 'fotorama/fotorama.js';
-import plyr from 'plyr';
-import noUiSlider from 'nouislider';
-import 'material-design-lite';
-import 'jquery-validation';
-import swal from 'sweetalert2';
-
-var Main = {
-  init: function(){
-
-    var page = $('.wrap').attr('id');
-    switch(page) {
-      case 'home':
-        Main.initVideo();
-        Main.initTestimonials();
-        break;
-      case 'contact':
-        Main.initForm();
-        Main.initMap();
-        break;
-    }
-  },
-
-  common: function(){
-    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-
-      ga('create', 'UA-584603-6', 'auto');
-      ga('send', 'pageview');
-
-    // easeOutQuad
-    $.easing['jswing'] = $.easing['swing'];
-
-    $.extend($.easing, {
-        def: 'easeOutQuad',
-        easeInOutExpo: function (x, t, b, c, d) {
-          if (t==0) return b;
-          if (t==d) return b+c;
-          if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
-          return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
-        }
-    });
-
-    // autoscroll
-    $('*[data-autoscroll]').click(function(){
-      var target = $(this.hash);
-
-      target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
-
-      if (target.length) {
-          $('html,body').animate({ scrollTop: target.offset().top }, 1500, 'easeInOutExpo');
-          return false;
-      }
-    });
-
-    // open mobile menu
-    $('.menu-trigger').on('click', function (event) {
-      event.preventDefault();
-      $('#main-content').addClass('move-out');
-      $('#menu-mobile').addClass('is-visible');
-      $('.shadow-layer').addClass('is-visible');
-    });
-
-    // close mobile menu
-    $('.close-menu').on('click', function (event) {
-      event.preventDefault();
-      $('#main-content').removeClass('move-out');
-      $('#menu-mobile').removeClass('is-visible');
-      $('.shadow-layer').removeClass('is-visible');
-    });
-
-    $('#menu-mobile a').on('click', function(event){
-      $('.close-menu').click();
-    });
-  },
-
-  initTestimonials: function(){
-    var $fotoramaDiv = $('.fotorama').fotorama({
-      autoplay: false,
-      shadows: false,
-      width: '100%',
-      arrows: 'always',
-      height: $('.testimonial').height(),
-      keyboard: true,
-      loop: true,
-      click: true,
-      preload: 3
-    });
-
-    var fotorama = $fotoramaDiv.data('fotorama');
-
-    function positioningFotoramaNav(fotorama){
-      var margin = $(fotorama.activeFrame.html).find('header').height() + 29;
-      $('.fotorama__nav').css('top', margin + 'px');
-    }
-
-    function resizeFotorama(fotorama){
-      var newHeight = $(fotorama.activeFrame.html).height();
-      fotorama.resize({height: newHeight});
-      positioningFotoramaNav(fotorama);
-    }
-
-    positioningFotoramaNav(fotorama);
-
-    $(window).resize(function() {
-      resizeFotorama(fotorama);
-    });
-
-    $('.fotorama').on('fotorama:showend ', function (e, fotorama, extra) {
-      resizeFotorama(fotorama);
-    });
-
-    $('.fotorama').on('fotorama:show ', function (e, fotorama, extra) {
-      positioningFotoramaNav(fotorama);
-    });
-  },
-
-  initVideo: function(){
-    var player = plyr.setup();
-
-    player[0].source({
-      type:    'video',
-      title:   'Example title',
-      poster:  'assets/images/video-cover.jpg',
-      sources: [{
-        src:    'assets/images/video.mp4',
-        type:   'video/mp4'
-      }]
-    });
-  },
-
-  initForm: function(){
-    $('[name=\'phone\']')
-      .mask('99 9999-9999?9',{placeholder:' '})
-      .focusout(function (event) {
-        var target, phone, element;
-        target = (event.currentTarget) ? event.currentTarget : event.srcElement;
-        phone = target.value.replace(/\D/g, '');
-        element = $(target);
-        element.unmask();
-        if(phone.length > 10) {
-            element.mask('99 99999-999?9');
-        } else {
-            element.mask('99 9999-9999?9');
-        }
-      });
-
-    var deadline = document.getElementById('deadline');
-
-    noUiSlider.create(deadline, {
-      start: [ 6 ],
-      connect: [true, false],
-      step: 1,
-      range: {
-        'min': [ 1 ],
-        'max': [ 13 ]
-      }
-    });
-
-    deadline.noUiSlider.on('update', function( values, handle ) {
-      var sufix = values[handle] == '1.00' ? ' Mês' : ' Meses',
-          months = values[handle].replace('.00', sufix)
-            .replace('13 Meses', '12+ Meses');
-
-      $('.deadline label').html(months);
-    });
-
-    var budget = document.getElementById('budget');
-
-    noUiSlider.create(budget, {
-      start: [ 30, 60 ],
-      connect: true,
-      step: 1,
-      range: {
-        'min':   [ 0 ],
-        '60%':   [ 100, 100 ],
-        '62.5%': [ 125, 125 ],
-        '65%':   [ 150, 150 ],
-        '67.5%': [ 175, 175 ],
-        '70%':   [ 200, 200 ],
-        '72.5%': [ 225, 225 ],
-        '75%':   [ 250, 250 ],
-        '77.5%': [ 275, 275 ],
-        '80%':   [ 300, 300 ],
-        '82.5%': [ 325, 325 ],
-        '85%':   [ 350, 350 ],
-        '87.5%': [ 375, 375 ],
-        '90%':   [ 400, 400 ],
-        '92.5%': [ 425, 425 ],
-        '95%':   [ 450, 450 ],
-        '97.5%': [ 475, 475 ],
-        'max':   [ 500 ]
-      }
-    });
-
-    budget.noUiSlider.on('change', function ( values, handle ) {
-      if ( values[handle] < 30 ) {
-        budget.noUiSlider.set(30);
-      }
-    });
-
-    budget.noUiSlider.on('update', function( values, handle ) {
-      var start = values[0].replace('.00', ''),
-          end = values[1].replace('.00', ''),
-          label = 'R$ ';
-
-      if (start == '500') {
-        label = 'Acima de 500K';
-      } else {
-        label += start + 'K a ' + end + 'K';
-      }
-
-      $('.budget label').html(label);
-    });
-
-    var validator = $('[name=contactForm]').validate({
-      errorPlacement: function(error, element) { },
-      'rules': {
-        'name': 'required',
-        'email': {
-          'required': true,
-          'email': true
-        },
-        'phone': 'required',
-        'needs[]': 'required',
-        'features': 'required',
-      },
-      submitHandler: function(form, event){
-        var needs = [],
-            xhrRunning,
-            message = {
-              success: {
-                type: 'success',
-                title: 'Recebemos suas informações!',
-                text: 'Em breve entraremos em contato.'
-              },
-              error: {
-                type: 'error',
-                title: 'Não foi possível processar suas informações :(',
-                text: 'Por favor, tente novamente.'
-              }
-            };
-
-        $('[name=\'needs[]\']:checked').each(function(i){
-          needs[i] =$(this).next().html();
-        });
-
-        xhrRunning = $.ajax({
-          type: 'POST',
-          dataType: 'json',
-          url: 'https://e5kp5ek8ni.execute-api.us-east-1.amazonaws.com/prod/contato',
-          contentType: 'application/json',
-          data: JSON.stringify({
-            name: $('[name=name]').val(),
-            email: $('[name=email]').val(),
-            company: $('[name=company]').val(),
-            phone: $('[name=phone]').val(),
-            phase: $('[name=phase]:checked').next().html(),
-            needs: needs.join(', '),
-            features_description: $('[name=features]').val(),
-            deadline: $('.deadline .slider label').html(),
-            budget: $('.budget .slider label').html(),
-            description: $('[name=details]').val()
-          }),
-          success: function (data) {
-            if (data) {
-              Main.sweetAlert(message.success);
-            } else {
-              Main.sweetAlert(message.error);
-            }
-          },
-          error: function (xhr, textStatus, thrownError) {
-            Main.sweetAlert(message.error);
-          }
-        });
-      }
-    });
-  },
-
-  sweetAlert: function(alert){
-    swal({
-      'type': alert.type,
-      'title': alert.title,
-      'html': alert.text,
-      showCloseButton: true,
-    }).catch(swal.noop);
-  },
-
-  initMap: function(){
-    var map = new google.maps.Map(document.getElementById('map'), {
-      zoom: 16,
-      center: new google.maps.LatLng(-26.3009, -48.8463),
-      zoomControl: false,
-      disableDoubleClickZoom: true,
-      mapTypeControl: false,
-      scaleControl: false,
-      scrollwheel: false,
-      panControl: true,
-      streetViewControl: false,
-      overviewMapControl: true,
-      mapTypeId: 'roadmap',
-      styles: [
-        {
-          'elementType': 'labels.text.fill',
-          'featureType': 'administrative',
-          'stylers': [
-            {
-              'color': '#444444'
-            }
-          ]
-        },
-        {
-          'featureType': 'landscape',
-          'stylers': [
-            {
-              'color': '#f2f2f2'
-            }
-          ]
-        },
-        {
-          'featureType': 'landscape.man_made',
-          'stylers': [
-            {
-              'visibility': 'off'
-            }
-          ]
-        },
-        {
-          'featureType': 'poi',
-          'stylers': [
-            {
-              'visibility': 'simplified'
-            }
-          ]
-        },
-        {
-          'elementType': 'labels',
-          'featureType': 'poi',
-          'stylers': [
-            {
-              'visibility': 'off'
-            }
-          ]
-        },
-        {
-          'featureType': 'poi.attraction',
-          'stylers': [
-            {
-              'visibility': 'off'
-            }
-          ]
-        },
-        {
-          'featureType': 'poi.business',
-          'stylers': [
-            {
-              'visibility': 'off'
-            }
-          ]
-        },
-        {
-          'featureType': 'road',
-          'stylers': [
-            {
-              'saturation': -100
-            },
-            {
-              'lightness': 45
-            }
-          ]
-        },
-        {
-          'elementType': 'labels.icon',
-          'featureType': 'road.arterial',
-          'stylers': [
-            {
-              'visibility': 'off'
-            }
-          ]
-        },
-        {
-          'featureType': 'road.highway',
-          'stylers': [
-            {
-              'visibility': 'simplified'
-            }
-          ]
-        },
-        {
-          'featureType': 'transit',
-          'stylers': [
-            {
-              'visibility': 'off'
-            }
-          ]
-        },
-        {
-          'featureType': 'water',
-          'stylers': [
-            {
-              'color': '#46bcec'
-            },
-            {
-              'visibility': 'on'
-            }
-          ]
-        }
-      ]
-    });
-
-    (function () {
-      var marker = new google.maps.Marker({
-        position: new google.maps.LatLng(-26.3012, -48.8508),
-        icon: '../assets/images/pin.svg',
-        map: map
-      });
-    })();
-  }
-}
-
-$(document).ready(function($) {
-  Main.init();
-  Main.common();
-});
diff --git a/src/assets/scripts/vendor/jquery.maskedinput.min.js b/src/assets/scripts/vendor/jquery.maskedinput.min.js
deleted file mode 100644
index d4dfd01..0000000
--- a/src/assets/scripts/vendor/jquery.maskedinput.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*
-    jQuery Masked Input Plugin
-    Copyright (c) 2007 - 2015 Josh Bush (digitalbush.com)
-    Licensed under the MIT license (http://digitalbush.com/projects/masked-input-plugin/#license)
-    Version: 1.4.1
-*/
-!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a("object"==typeof exports?require("jquery"):jQuery)}(function(a){var b,c=navigator.userAgent,d=/iphone/i.test(c),e=/chrome/i.test(c),f=/android/i.test(c);a.mask={definitions:{9:"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"},autoclear:!0,dataName:"rawMaskFn",placeholder:"_"},a.fn.extend({caret:function(a,b){var c;if(0!==this.length&&!this.is(":hidden"))return"number"==typeof a?(b="number"==typeof b?b:a,this.each(function(){this.setSelectionRange?this.setSelectionRange(a,b):this.createTextRange&&(c=this.createTextRange(),c.collapse(!0),c.moveEnd("character",b),c.moveStart("character",a),c.select())})):(this[0].setSelectionRange?(a=this[0].selectionStart,b=this[0].selectionEnd):document.selection&&document.selection.createRange&&(c=document.selection.createRange(),a=0-c.duplicate().moveStart("character",-1e5),b=a+c.text.length),{begin:a,end:b})},unmask:function(){return this.trigger("unmask")},mask:function(c,g){var h,i,j,k,l,m,n,o;if(!c&&this.length>0){h=a(this[0]);var p=h.data(a.mask.dataName);return p?p():void 0}return g=a.extend({autoclear:a.mask.autoclear,placeholder:a.mask.placeholder,completed:null},g),i=a.mask.definitions,j=[],k=n=c.length,l=null,a.each(c.split(""),function(a,b){"?"==b?(n--,k=a):i[b]?(j.push(new RegExp(i[b])),null===l&&(l=j.length-1),k>a&&(m=j.length-1)):j.push(null)}),this.trigger("unmask").each(function(){function h(){if(g.completed){for(var a=l;m>=a;a++)if(j[a]&&C[a]===p(a))return;g.completed.call(B)}}function p(a){return g.placeholder.charAt(a<g.placeholder.length?a:0)}function q(a){for(;++a<n&&!j[a];);return a}function r(a){for(;--a>=0&&!j[a];);return a}function s(a,b){var c,d;if(!(0>a)){for(c=a,d=q(b);n>c;c++)if(j[c]){if(!(n>d&&j[c].test(C[d])))break;C[c]=C[d],C[d]=p(d),d=q(d)}z(),B.caret(Math.max(l,a))}}function t(a){var b,c,d,e;for(b=a,c=p(a);n>b;b++)if(j[b]){if(d=q(b),e=C[b],C[b]=c,!(n>d&&j[d].test(e)))break;c=e}}function u(){var a=B.val(),b=B.caret();if(o&&o.length&&o.length>a.length){for(A(!0);b.begin>0&&!j[b.begin-1];)b.begin--;if(0===b.begin)for(;b.begin<l&&!j[b.begin];)b.begin++;B.caret(b.begin,b.begin)}else{for(A(!0);b.begin<n&&!j[b.begin];)b.begin++;B.caret(b.begin,b.begin)}h()}function v(){A(),B.val()!=E&&B.change()}function w(a){if(!B.prop("readonly")){var b,c,e,f=a.which||a.keyCode;o=B.val(),8===f||46===f||d&&127===f?(b=B.caret(),c=b.begin,e=b.end,e-c===0&&(c=46!==f?r(c):e=q(c-1),e=46===f?q(e):e),y(c,e),s(c,e-1),a.preventDefault()):13===f?v.call(this,a):27===f&&(B.val(E),B.caret(0,A()),a.preventDefault())}}function x(b){if(!B.prop("readonly")){var c,d,e,g=b.which||b.keyCode,i=B.caret();if(!(b.ctrlKey||b.altKey||b.metaKey||32>g)&&g&&13!==g){if(i.end-i.begin!==0&&(y(i.begin,i.end),s(i.begin,i.end-1)),c=q(i.begin-1),n>c&&(d=String.fromCharCode(g),j[c].test(d))){if(t(c),C[c]=d,z(),e=q(c),f){var k=function(){a.proxy(a.fn.caret,B,e)()};setTimeout(k,0)}else B.caret(e);i.begin<=m&&h()}b.preventDefault()}}}function y(a,b){var c;for(c=a;b>c&&n>c;c++)j[c]&&(C[c]=p(c))}function z(){B.val(C.join(""))}function A(a){var b,c,d,e=B.val(),f=-1;for(b=0,d=0;n>b;b++)if(j[b]){for(C[b]=p(b);d++<e.length;)if(c=e.charAt(d-1),j[b].test(c)){C[b]=c,f=b;break}if(d>e.length){y(b+1,n);break}}else C[b]===e.charAt(d)&&d++,k>b&&(f=b);return a?z():k>f+1?g.autoclear||C.join("")===D?(B.val()&&B.val(""),y(0,n)):z():(z(),B.val(B.val().substring(0,f+1))),k?b:l}var B=a(this),C=a.map(c.split(""),function(a,b){return"?"!=a?i[a]?p(b):a:void 0}),D=C.join(""),E=B.val();B.data(a.mask.dataName,function(){return a.map(C,function(a,b){return j[b]&&a!=p(b)?a:null}).join("")}),B.one("unmask",function(){B.off(".mask").removeData(a.mask.dataName)}).on("focus.mask",function(){if(!B.prop("readonly")){clearTimeout(b);var a;E=B.val(),a=A(),b=setTimeout(function(){B.get(0)===document.activeElement&&(z(),a==c.replace("?","").length?B.caret(0,a):B.caret(a))},10)}}).on("blur.mask",v).on("keydown.mask",w).on("keypress.mask",x).on("input.mask paste.mask",function(){B.prop("readonly")||setTimeout(function(){var a=A(!0);B.caret(a),h()},0)}),e&&f&&B.off("input.mask").on("input.mask",u),A()})}})});
\ No newline at end of file
diff --git a/src/assets/styles/_about.scss b/src/assets/styles/_about.scss
deleted file mode 100755
index dd39b81..0000000
--- a/src/assets/styles/_about.scss
+++ /dev/null
@@ -1,326 +0,0 @@
-@import 'variables';
-@import 'partials';
-
-#about {
-  .banner {
-    width: 100%;
-    background-color: $gray-2;
-    max-height: 550px;
-    height: 550px;
-    background: url('../images/white_wall.png') repeat;
-    box-shadow: inset 0px -3px 5px 0px rgba(0,0,0,0.2);
-
-    .subtitle {
-      text-align: center;
-      margin: 70px 0 0 0;
-
-      h2 {
-        font-size: 4.5rem;
-      }
-
-      span { width: 300px; }
-    }
-  }
-
-  .photos {
-    text-align: center;
-    font-size: 0;
-    margin: -345px 0 55px 0;
-
-    .row {
-      padding: 0 30px;
-      min-height: 205px;
-
-      img { display: inline-block; }
-    }
-  }
-
-  .coderockr {
-    .history {
-      padding-bottom: 60px;
-
-      .cross-title {
-        position: initial;
-        letter-spacing: .2rem;
-        margin-bottom: 10px;
-
-        &:after {
-          @extend .pseudo;
-          width: 50%;
-          border-bottom: 3px solid $yellow-6;
-          margin-left: -30px;
-        }
-
-        h2 {
-          position: relative;
-          top: 10px;
-          height: 55px;
-          padding-left: 150px;
-
-          span {
-            display: inline-block;
-            margin: 0;
-
-             &:after {
-              @extend .pseudo;
-              width: 224px;
-              z-index: 2;
-              left: 0;
-              bottom: -6px;
-              border-bottom: 3px solid $yellow-6;
-            }
-          }
-
-          &:after {
-            @extend .pseudo;
-            z-index: 2;
-            right: 0;
-            left: 374px;
-            bottom: -3px;
-            border-bottom: 3px solid $white;
-          }
-
-          .number {
-            position: absolute;
-            bottom: -30px;
-            z-index: -1;
-            font: 8rem $secundary-font;
-            color: $gray-3;
-          }
-
-          .title {
-            position: relative;
-            font: 3.5rem/5.2rem $secundary-font;
-          }
-        }
-
-        &.left {
-          &:after {
-            left: 0;
-          }
-        }
-      }
-
-      .logo {
-        text-align: center;
-
-        img {
-          max-width: 150px;
-          margin: 130px 0 90px 0;
-        }
-      }
-
-      p {
-        margin-bottom: 30px;
-
-        i { font-weight: 400; }
-      }
-    }
-
-    .principles {
-      border-top: 1px solid $gray-2;
-      width: 100%;
-      background: $gray-1;
-      padding-top: 65px;
-
-      .container {
-        &:after {
-          @extend .pseudo;
-          border-top: 1px solid $gray-2;
-          width: 100%;
-          height: 133px;
-          background: $white;
-          left: 0;
-          margin-top: -133px;
-        }
-
-        ul {
-          margin: 0;
-          padding: 0;
-
-          li {
-            list-style: none;
-            text-align: center;
-            margin-bottom: 70px;
-
-            h3 {
-              font: 3.5rem/5.2rem "gobold", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
-
-              &:after {
-                display: block;
-                content: '';
-                width: 100px;
-                margin: 15px auto 16px auto;
-                border-bottom: 3px solid $yellow-6;
-              }
-            }
-          }
-        }
-
-        header {
-          display: block;
-          position: relative;
-          z-index: 1;
-          width: 100%;
-          height: 544px;
-          background: url('../images/rockstar.jpg') bottom center;
-
-          span {
-            display: block;
-            float: left;
-            width: 500px;
-            color: $white;
-            margin: 110px 0 0 80px;
-            font: 4.5rem/8rem $secundary-font;
-            letter-spacing: .4rem;
-            text-shadow: 1px 1px 5px rgba(0, 0, 0, .3);
-          }
-        }
-      }
-    }
-  }
-
-  .team .container .row {
-    > .subtitle {
-      text-align: center;
-      margin: 95px 0 60px 0;
-
-      h2 { font-size: 4.5rem; }
-
-      span { width: 300px; }
-    }
-
-    > ul {
-      padding: 0;
-      list-style: none;
-
-      li {
-        &:nth-child(even) {
-          .person {
-            flex-direction: row-reverse;
-
-            .profile {
-              .subtitle,
-              p { text-align: right; }
-            }
-          }
-        }
-
-        .person {
-          align-items: center;
-
-          .avatar {
-            width: 210px;
-            margin: 10px 30px 0 30px;
-
-            .shadow {
-              width: 210px;
-              display: inline-block;
-              position: relative;
-              border-radius: 50%;
-              box-shadow: rgba(0, 0, 0, 0.2) 3px 3px 10px inset;
-
-              img {
-                width: 210px;
-                display: inline-block;
-                max-width: 100%;
-                position: relative;
-                z-index: -1;
-                border-radius: 50%;
-              }
-            }
-
-            ul {
-              list-style: none;
-              padding: 0;
-              justify-content: center;
-
-              li {
-                margin-top: 28px;
-
-                a {
-                  text-decoration: none;
-                  font-size: 2.8rem;
-                  color: $yellow-6;
-                  margin: 0 5px;
-
-                  &:hover,
-                  &:focus { color: $black; }
-                }
-              }
-            }
-          }
-
-          .profile {
-            margin: 0 30px;
-            display: block;
-
-            .subtitle {
-              text-align: left;
-              margin-top: 0;
-
-              h2 { font-size: 2.7rem; }
-
-              span {
-                width: 80px;
-                margin: 22px 0 10px 0;
-                border-top: 3px solid $yellow-6;
-              }
-            }
-
-            a {
-              display: inline-block;
-              font: 2rem/2.5rem $secundary-font;
-              letter-spacing: .1rem;
-              text-decoration: none;
-              text-transform: uppercase;
-              color: $yellow-6;
-              border-bottom: 2px solid $yellow-6;
-              margin-top: 8px;
-              padding-bottom: 1px;
-
-              &:hover,
-              &:focus {
-                color: $gray-10;
-                border-color: $gray-10;
-              }
-            }
-          }
-        }
-
-        .stars {
-          justify-content: center;
-          padding: 55px 0 70px 0;
-          font-size: 1.6rem;
-        }
-      }
-    }
-
-    h3 {
-      clear: both;
-      color: $gray-10;
-      font: 3.5rem/5.2rem "gobold", "Helvetica Neue", "Segoe UI", Helvetica, Arial, sans-serif;
-      letter-spacing: .2rem;
-      text-align: center;
-      display: flex;
-      flex-direction: row;
-      justify-content: center;
-      margin: 100px 0;
-
-
-      &:before,
-      &:after {
-        position: relative;
-        flex-grow: 1;
-        height: 3px;
-        content: '';
-        background-color: $yellow-6;
-        top: 2.4rem;
-        max-width: 80px;
-      }
-
-      &:before { margin-right: 2rem; }
-      &:after { margin-left: 2rem; }
-    }
-  }
-}
diff --git a/src/assets/styles/_contact.scss b/src/assets/styles/_contact.scss
deleted file mode 100755
index 834f271..0000000
--- a/src/assets/styles/_contact.scss
+++ /dev/null
@@ -1,351 +0,0 @@
-@import 'variables';
-@import 'partials';
-
-#contact {
-  > .banner {
-    width: 100%;
-    background-color: $gray-9;
-    max-height: 550px;
-    height: 550px;
-    background: url('../images/mic-bg.jpg') bottom center;
-    box-shadow: inset 0px -3px 5px 0px rgba(0,0,0,0.2);
-
-    h1 {
-      width: 100%;
-      max-width: 450px;
-      font: 5rem/9.5rem $secundary-font;
-      letter-spacing: .4rem;
-      color: $white;
-      margin: 132px 0 0 160px;
-      text-shadow: 1px 1px 5px rgba(0, 0, 0, .3);
-    }
-  }
-
-  .lets-talk {
-    padding-bottom: 100px;
-
-    header {
-      text-align: center;
-
-      .title {
-        margin-bottom: 25px;
-
-        span {
-          display: block;
-          width: 200px;
-          border-top: 4px solid $yellow-6;
-          margin: 19px auto 0 auto;
-        }
-      }
-
-      p span {
-        display: block;
-        clear: both;
-        font-weight: 400;
-        -webkit-font-smoothing: auto;
-      }
-    }
-
-    .cross-title {
-      position: initial;
-      letter-spacing: .2rem;
-      margin-bottom: 50px;
-
-      &:after {
-        @extend .pseudo;
-        width: 50%;
-        border-bottom: 4px solid $yellow-6;
-      }
-
-      h2 {
-        position: relative;
-        top: 10px;
-
-        &:after {
-          @extend .pseudo;
-          z-index: 2;
-          right: 0;
-          left: 240px;
-          border-bottom: 4px solid $white;
-        }
-
-        .number {
-          position: absolute;
-          bottom: -30px;
-          z-index: -1;
-          font: 8rem $secundary-font;
-          color: $gray-3;
-        }
-
-        .title {
-          position: relative;
-          font: 3.5rem/5.2rem $secundary-font;
-        }
-      }
-
-      &.left {
-        &:after {
-          left: 0;
-          min-width: 255px;
-        }
-
-        h2 {
-          &:after { }
-
-          .number { }
-
-          .title { left: 41px; }
-        }
-
-      }
-
-      &.right {
-        &:after {
-          right: 0;
-          min-width: 355px;
-        }
-
-        h2 {
-          right: 0;
-          text-align: right;
-
-          &:after {
-            left: 0;
-            right: 338px;
-          }
-
-          .number { right: 0; }
-
-          .title { right: 39px }
-        }
-      }
-    }
-
-    .about-you {
-      width: 100%;
-      margin: 45px 0;
-    }
-
-    .about-project {
-      width: 100%;
-      margin-top: 40px;
-
-      h3 {
-        font: 3rem $primary-font;
-      }
-
-      .list {
-        display: table;
-        margin: 0 auto;
-
-        ul {
-          margin: 0;
-          padding: 0;
-
-          li { list-style: none; }
-        }
-      }
-
-      .mdl-radio {
-        padding-left: 50px;
-        margin: 12px 0;
-        line-height: 37px;
-        height: auto;
-
-        input {
-          display: block !important;
-          &:focus ~ .mdl-radio__label {
-            color: $yellow-6;
-          }
-        }
-
-        .mdl-radio__ripple-container .mdl-ripple { background: $yellow-6 }
-
-        .mdl-radio__label { font: 300 2.2rem $primary-font; }
-
-        .mdl-radio__outer-circle {
-          width: 26px;
-          height: 26px;
-          border-color: $yellow-6;
-        }
-
-        .mdl-radio__inner-circle {
-          width: 16px;
-          height: 16px;
-          top: 9px;
-          left: 5px;
-          background-color: $yellow-6;
-        }
-
-        .mdl-radio__ripple-container {
-          width: 61px;
-          height: 61px;
-          top: -14px;
-          left: -18px;
-        }
-      }
-
-      .mdl-checkbox {
-        @extend .mdl-radio;
-        top: 1px;
-
-        &.is-upgraded {
-          padding-left: 50px;
-        }
-
-        &.is-focused {
-          .mdl-checkbox__label { color: $yellow-6; }
-        }
-
-        .mdl-checkbox__ripple-container .mdl-ripple { background: $yellow-6; }
-
-        .mdl-checkbox__label { font: 300 2.2rem $primary-font; }
-
-        .mdl-checkbox__box-outline {
-          @extend .mdl-radio__outer-circle;
-          border-radius: 0;
-        }
-
-        &.is-checked {
-          .mdl-checkbox__box-outline {
-            border-color: $yellow-6;
-          }
-          .mdl-checkbox__tick-outline {
-            background-color: $yellow-6;
-          }
-        }
-
-        .mdl-checkbox__focus-helper {
-          display: none !important;
-        }
-
-        .mdl-checkbox__ripple-container {
-          @extend .mdl-radio__ripple-container;
-        }
-      }
-
-      .slider {
-        position: relative;
-        width: 100%;
-        margin: 50px 0 40px 0;
-
-        label {
-          float: right;
-          font: 1.85rem $primary-font;
-          margin-top: -11px;
-        }
-
-        .input {
-          position: relative;
-          padding-right: 113px;
-          margin-top: 40px;
-        }
-
-        .noUi-target {
-          background: $black;
-          border-radius: 0;
-          border: 0;
-          box-shadow: none;
-
-          &.noUi-horizontal { height: 2px; }
-
-          .noUi-handle {
-            width: 23px;
-            height: 23px;
-            left: -13px;
-            top: -11px;
-            border-radius: 50%;
-            box-shadow: 1px 1px 1px rgba(0, 0, 0, .4);
-            background-color: $yellow-6;
-            border: 0;
-            transition-property: width, height, top;
-            transition-duration:.04s;
-            transition-timing-function: linear;
-
-
-            &.noUi-active {
-              width: 27px;
-              height: 27px;
-              top: -13px;
-            }
-
-            &:after,
-            &:before { display: none; }
-          }
-
-          .noUi-connect {
-            background: $yellow-6;
-            box-shadow: none;
-          }
-        }
-      }
-
-      .deadline {
-        margin-top: 30px;
-        margin-bottom: 30px
-      }
-
-      .budget .input { padding-right: 159px; }
-
-      .description {
-        margin-top: 45px;
-        margin-bottom: 10px;
-        clear: both;
-      }
-
-      .details { margin-top: 30px; }
-
-      .btn {
-        font-size: 2.4rem;
-        margin-top: 50px;
-        padding: 12px 40px 11px 40px;
-        outline: none;
-        transition-property: background-color,border-color,color;
-        transition-duration: .12s;
-        transition-timing-function: ease-in;
-        &:active {
-          box-shadow: none;
-        }
-      }
-    }
-  }
-}
-
-#address {
-  width: 100%;
-  height: 600px;
-  border-top: 1px solid $gray-2;
-  text-align: center;
-
-  #map {
-    width: 100%;
-    height: 100%;
-    background: url('../images/map-bg.jpg') top center no-repeat;
-  }
-
-  .card {
-    background: $white;
-    margin-top: -472px;
-    padding: 20px 0;
-    box-shadow: 1px 1px 3px 0px rgba(175, 175, 175, 0.35);
-
-    .title {
-      font: 3.5rem/5.2rem $secundary-font;
-      margin: 12px 0 22px 0 !important;
-
-      span {
-        display: block;
-        width: 160px;
-        border-top: 4px solid $yellow-6;
-        margin: 20px auto 0 auto;
-      }
-    }
-
-    p {
-      font-size: 2.2rem;
-
-      &.strong { font: 400 2.2rem $primary-font; }
-    }
-  }
-}
-
diff --git a/src/assets/styles/_midia-queries.scss b/src/assets/styles/_midia-queries.scss
deleted file mode 100755
index 7e4feee..0000000
--- a/src/assets/styles/_midia-queries.scss
+++ /dev/null
@@ -1,437 +0,0 @@
-@import 'variables';
-@import 'partials';
-
-@media only screen and (max-width : 1480px) {
-  #about .photos .row {
-    .pic-3, .pic-4,
-    .pic-9, .pic-0 { display: none; }
-  }
-}
-
-/*==========  Non-Mobile First Method  ==========*/
-
-/* Large Devices, Wide Screens */
-@media only screen and (max-width : 1200px) {
-  #home > .banner {
-    width: 100%;
-    max-height: 500px;
-    height: 500px;
-    background: url('../images/crowd-lg.jpg') bottom center;
-
-    h1 {
-      font-size: 3.8rem;
-      line-height: 7.5rem;
-      margin-top: 56px;
-    }
-  }
-
-  #contact > .banner {
-    width: 100%;
-    max-height: 500px;
-    height: 500px;
-    background: url('../images/mic-lg.jpg') bottom center;
-
-    h1 { margin: 105px 0 0 100px; }
-  }
-
-  .what-we-do {
-    header h3 { font-size: 3rem; }
-
-    .development h2 { margin-right: 0 !important; }
-
-    h2 { letter-spacing: normal; }
-  }
-
-  .team header { margin-top: -356px !important; }
-}
-
-@media only screen and (max-width : 1010px) {
-  #about .photos {
-    .row {
-      padding: 0 15px;
-
-      .pic-2, .pic-3, .pic-4,
-      .pic-8, .pic-9, .pic-0 { display: none; }
-    }
-  }
-}
-
-/* Medium Devices, Desktops */
-@media only screen and (max-width : 992px) {
-  .group { margin: 60px 0 30px 0 !important; }
-
-  #about .coderockr .cross-title h2 {
-    padding: 0 !important;
-    text-align: center;
-
-    &:after { left: 470px !important; }
-  }
-
-  #about .coderockr .history {
-    padding-bottom: 45px;
-  }
-
-  #about .coderockr .history .logo img {
-    max-width: 100px;
-    margin: 75px 0 60px 0;
-  }
-
-  #about .coderockr .history p { text-align: center; }
-
-  #about .coderockr .principles { padding-top: 58px; }
-
-  #about .team .container .row > .subtitle {
-    text-align: center;
-    margin: 85px 0 45px 0;
-  }
-
-  #about .team .container .row > ul li .stars { padding: 45px 0 60px 0; }
-
-  #about .coderockr .principles .container ul li { margin-bottom: 58px; }
-
-  #about .team .container .row h3 { margin: 80px 0; }
-
-  .team header { margin-top: -112px !important; }
-
-  #header nav { display: none; }
-
-  #home > .banner { background: url('../images/crowd-md.jpg') bottom center; }
-
-  #contact > .banner {
-    background: url('../images/mic-md.jpg') bottom center;
-  }
-
-  .what-we-do {
-    header {
-      margin-bottom: 20px;
-
-      h3 { font-size: 2.8rem; }
-    }
-
-    .title { margin-bottom: 0; }
-
-    .wrapper:after { display: none !important; }
-
-    .service {
-      padding: 0 !important;
-      margin: 30px 0 !important;
-    }
-    .left h2 { margin-right: -.4rem !important; }
-  }
-
-  .title { margin: 80px 0 60px 0; }
-
-  .coderockrway {
-    .title { margin: 80px 0 15px 0; }
-
-    h3 { margin-bottom: 35px !important; }
-
-    .text,
-    .plyr {
-      margin: 0 !important;
-    }
-
-    .text {
-      margin-top: 25px !important;
-      text-align: center;
-    }
-  }
-
-  #footer {
-    text-align: center;
-
-    img {
-      float: none !important;
-      display: block;
-      clear: both;
-      margin: 35px auto;
-    }
-
-    .text {
-      clear: both;
-      width: 100%;
-      margin: 0;
-      text-align: center !important;
-    }
-  }
-}
-
-/* Small Devices, Tablets */
-@media only screen and (max-width : 768px) {
-  #about .photos .row {
-    .img-responsive { display: inline-block; }
-    .pic-1, .pic-2, .pic-3, .pic-4,
-    .pic-7, .pic-8, .pic-9, .pic-0 { display: none; }
-  }
-
-  #about .principles header span {
-    font-size: 3.5rem !important;
-    line-height: 7rem !important;
-    width: 330px !important;
-    margin: 62px 0 0 40px !important;
-  }
-
-  #about .person {
-    flex-direction: column !important;
-    text-align: center;
-
-    .profile .subtitle{
-      text-align: center !important;
-      margin-top: 30px !important;
-    }
-  }
-
-  #home > .banner {
-    width: 100%;
-    max-height: 450px;
-    height: 450px;
-    background: url('../images/crowd-sm.jpg') bottom center;
-
-    h1 {
-      font-size: 3rem;
-      line-height: 7.5rem;
-      margin-top: 72px;
-    }
-  }
-
-   #contact > .banner {
-    width: 100%;
-    max-height: 450px;
-    height: 450px;
-    background: url('../images/mic-sm.jpg') bottom center;
-
-    h1 {
-      max-width: 380px;
-      font-size: 4rem;
-      margin: 85px auto 0 auto;
-    }
-  }
-
-  .what-we-do .blurred,
-  .what-we-do .blurred:before,
-  .what-we-do header { display: none; }
-
-  .what-we-do section { margin-top: 0; }
-
-  .products {
-    header {
-      max-height: 500px !important;
-      height: 500px !important;
-
-      &:before {
-        max-height: 500px !important;
-        height: 500px !important;
-        background: url("../images/graphs.png") center -36px no-repeat;
-      }
-    }
-
-    .estimeoprazo {
-      .wrapper {
-        text-align: center;
-        margin: 0;
-
-        .subtitle { margin-top: 20px;}
-
-        p {
-          width: initial;
-          padding: 0;
-          float: left;
-        }
-      }
-
-      img {
-        margin: 40px auto 0 auto;
-        float: none;
-      }
-    }
-  }
-}
-
-@media only screen and (max-width : 608px) {
-  #home > .banner h1 {
-    font-size: 3rem;
-    line-height: 6rem;
-  }
-}
-
-@media only screen and (max-width : 550px) {
-  #home > .banner {
-    width: 100%;
-    max-height: 400px;
-    height: 400px;
-
-    h1 {
-      font-size: 2.5rem;
-      line-height: 5.5rem;
-      margin: 34px 30px 0 30px;
-    }
-  }
-}
-
-@media only screen and (max-width : 550px) and (-webkit-min-device-pixel-ratio: 2) {
-  #home > .banner {
-    max-height: 355px;
-    height: 355px;
-  }
-}
-
-/* Extra Small Devices, Phones */
-@media only screen and (max-width : 480px) {
-  #home > .banner { background: url('../images/crowd-xs.jpg') bottom center; }
-
-  #contact > .banner {
-    background: url('../images/mic-xs.jpg') bottom center;
-
-    h1 {
-      margin: 55px auto 0 auto;
-      max-width: 260px;
-      line-height: 8.5rem;
-      text-align: center;
-    }
-  }
-
-  .title { font-size: 3.8rem; }
-
-  .subtitle h2 { font-size: 2.5rem; }
-
-  .what-we-do {
-    h4 { margin-top: 30px !important; }
-
-    .service {
-      margin: 18px 0 !important;
-    }
-
-    .service:nth-child(1n) { margin-top: 0px !important; }
-
-    .btn {
-      font-size: 1.6rem !important;
-      padding: 13px 15px !important;
-    }
-  }
-
-  #about .principles header span {
-    font-size: 3.5rem !important;
-    line-height: 7rem !important;
-    width: 330px !important;
-    margin: 62px 0 0 40px !important;
-  }
-
-  .products {
-    header {
-      max-height: 400px !important;
-      height: 400px !important;
-
-      &:before {
-        max-height: 400px !important;
-        height: 400px !important;
-        background: url("../images/graphs.png") center -130px no-repeat;
-      }
-    }
-
-    .estimeoprazo { margin-top: 55px !important; }
-
-    .coderockrway {
-      padding-bottom: 80px;
-
-      h3 {
-        font-size: 2rem !important;
-
-        &:before,
-        &:after { top: 1.2rem !important; }
-      }
-    }
-
-    .title { margin: 62px auto 20px auto !important; }
-  }
-
-  .fotorama__arr { display: none !important; }
-
-  #footer li {
-    margin: 0 10px;
-
-    &:first-child { margin-left: 0 !important; }
-    &:last-child { margin-right: 0 !important; }
-  }
-}
-
-@media only screen and (max-width : 465px) {
-  .title { margin: 60px 0 40px 0; }
-
-  #home > .banner {
-    h1 {
-      font-size: 2.2rem;
-      line-height: 5.2rem;
-      margin: 43px 0;
-    }
-  }
-
-  .what-we-do section { padding-bottom: 76px; }
-
-  #contact .cross-title {
-    h2 {
-      .number {
-        bottom: -24px !important;
-        font: 6rem $secundary-font !important;
-      }
-
-      .title {
-        font: 2.6rem/5.2rem $secundary-font !important;
-        bottom: -6px;
-      }
-    }
-
-    &.left {
-      &:after { min-width: 204px !important }
-      h2 {
-        &:after { left: 189px !important; }
-        .title { left: 31px !important; }
-      }
-    }
-
-    &.right {
-      &:after { min-width: 283px !important }
-      h2 {
-        &:after { right: 268px !important; }
-        .title { right: 30px !important; }
-      }
-    }
-  }
-}
-
-@media only screen and (max-width : 368px) {
-  #home > .banner {
-    h1 {
-      font-size: 2rem;
-      line-height: 5rem;
-      margin: 43px 0;
-    }
-  }
-
-  #about .photos { margin: -345px 0 65px 0; }
-
-  #about .principles header span {
-    font-size: 3rem !important;
-    line-height: 7rem !important;
-    width: 280px !important;
-    margin: 62px 0 0 18px !important;
-  }
-}
-
-@media only screen and (max-width : 346px) {
-  #home > .banner {
-    h1 { margin: 24px 0; }
-  }
-}
-
-/* Custom, iPhone Retina */
-@media only screen and (max-width : 320px) {
-  #home > .banner {
-    h1 {
-      font-size: 1.8rem;
-      line-height: 4.75rem;
-      margin: 35px 0;
-    }
-  }
-
-  #about .photos { margin: -345px 0 90px 0; }
-}
diff --git a/src/assets/styles/_partials.scss b/src/assets/styles/_partials.scss
deleted file mode 100755
index f5fed19..0000000
--- a/src/assets/styles/_partials.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-.pseudo {
-    display: block;
-    position: absolute;
-    content: '';
-}
diff --git a/src/assets/styles/_variables.scss b/src/assets/styles/_variables.scss
deleted file mode 100755
index 3d917ef..0000000
--- a/src/assets/styles/_variables.scss
+++ /dev/null
@@ -1,368 +0,0 @@
-// fonts
-$primary-font: 'aller', 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif !default;
-$secundary-font: 'gobold', 'Helvetica Neue', 'Segoe UI', Helvetica, Arial, sans-serif !default;
-
-// colors
-
-$white: #ffffff;
-$black: #000000;
-
-
-//  Gray
-$gray-list: (
-  "0": #f8f9fa,
-  "1": #f1f3f5,
-  "2": #e9ecef,
-  "3": #dee2e6,
-  "4": #ced4da,
-  "5": #adb5bd,
-  "6": #868e96,
-  "7": #495057,
-  "8": #343a40,
-  "9": #212529,
-  "10": #1D1D1B
-);
-
-$gray-0: map-get($gray-list, "0");
-$gray-1: map-get($gray-list, "1");
-$gray-2: map-get($gray-list, "2");
-$gray-3: map-get($gray-list, "3");
-$gray-4: map-get($gray-list, "4");
-$gray-5: map-get($gray-list, "5");
-$gray-6: map-get($gray-list, "6");
-$gray-7: map-get($gray-list, "7");
-$gray-8: map-get($gray-list, "8");
-$gray-9: map-get($gray-list, "9");
-$gray-10: map-get($gray-list, "10");
-
-
-//  Red
-$red-list: (
-  "0": #fff5f5,
-  "1": #ffe3e3,
-  "2": #ffc9c9,
-  "3": #ffa8a8,
-  "4": #ff8787,
-  "5": #ff6b6b,
-  "6": #fa5252,
-  "7": #f03e3e,
-  "8": #e03131,
-  "9": #c92a2a
-);
-
-$red-0: map-get($red-list, "0");
-$red-1: map-get($red-list, "1");
-$red-2: map-get($red-list, "2");
-$red-3: map-get($red-list, "3");
-$red-4: map-get($red-list, "4");
-$red-5: map-get($red-list, "5");
-$red-6: map-get($red-list, "6");
-$red-7: map-get($red-list, "7");
-$red-8: map-get($red-list, "8");
-$red-9: map-get($red-list, "9");
-
-
-//  Pink
-$pink-list: (
-  "0": #fff0f6,
-  "1": #ffdeeb,
-  "2": #fcc2d7,
-  "3": #faa2c1,
-  "4": #f783ac,
-  "5": #f06595,
-  "6": #e64980,
-  "7": #d6336c,
-  "8": #c2255c,
-  "9": #a61e4d
-);
-
-$pink-0: map-get($pink-list, "0");
-$pink-1: map-get($pink-list, "1");
-$pink-2: map-get($pink-list, "2");
-$pink-3: map-get($pink-list, "3");
-$pink-4: map-get($pink-list, "4");
-$pink-5: map-get($pink-list, "5");
-$pink-6: map-get($pink-list, "6");
-$pink-7: map-get($pink-list, "7");
-$pink-8: map-get($pink-list, "8");
-$pink-9: map-get($pink-list, "9");
-
-
-//  Grape
-$grape-list: (
-  "0": #f8f0fc,
-  "1": #f3d9fa,
-  "2": #eebefa,
-  "3": #e599f7,
-  "4": #da77f2,
-  "5": #cc5de8,
-  "6": #be4bdb,
-  "7": #ae3ec9,
-  "8": #9c36b5,
-  "9": #862e9c
-);
-
-$grape-0: map-get($grape-list, "0");
-$grape-1: map-get($grape-list, "1");
-$grape-2: map-get($grape-list, "2");
-$grape-3: map-get($grape-list, "3");
-$grape-4: map-get($grape-list, "4");
-$grape-5: map-get($grape-list, "5");
-$grape-6: map-get($grape-list, "6");
-$grape-7: map-get($grape-list, "7");
-$grape-8: map-get($grape-list, "8");
-$grape-9: map-get($grape-list, "9");
-
-
-//  Violet
-$violet-list: (
-  "0": #f3f0ff,
-  "1": #e5dbff,
-  "2": #d0bfff,
-  "3": #b197fc,
-  "4": #9775fa,
-  "5": #845ef7,
-  "6": #7950f2,
-  "7": #7048e8,
-  "8": #6741d9,
-  "9": #5f3dc4
-);
-
-$violet-0: map-get($violet-list, "0");
-$violet-1: map-get($violet-list, "1");
-$violet-2: map-get($violet-list, "2");
-$violet-3: map-get($violet-list, "3");
-$violet-4: map-get($violet-list, "4");
-$violet-5: map-get($violet-list, "5");
-$violet-6: map-get($violet-list, "6");
-$violet-7: map-get($violet-list, "7");
-$violet-8: map-get($violet-list, "8");
-$violet-9: map-get($violet-list, "9");
-
-
-//  Indigo
-$indigo-list: (
-  "0": #edf2ff,
-  "1": #dbe4ff,
-  "2": #bac8ff,
-  "3": #91a7ff,
-  "4": #748ffc,
-  "5": #5c7cfa,
-  "6": #4c6ef5,
-  "7": #4263eb,
-  "8": #3b5bdb,
-  "9": #364fc7
-);
-
-$indigo-0: map-get($indigo-list, "0");
-$indigo-1: map-get($indigo-list, "1");
-$indigo-2: map-get($indigo-list, "2");
-$indigo-3: map-get($indigo-list, "3");
-$indigo-4: map-get($indigo-list, "4");
-$indigo-5: map-get($indigo-list, "5");
-$indigo-6: map-get($indigo-list, "6");
-$indigo-7: map-get($indigo-list, "7");
-$indigo-8: map-get($indigo-list, "8");
-$indigo-9: map-get($indigo-list, "9");
-
-
-//  Blue
-$blue-list: (
-  "0": #e5fbff,
-  "1": #c5f5ff,
-  "2": #99e7ff,
-  "3": #64d8ff,
-  "4": #3ac8ff,
-  "5": #1abaff,
-  "6": #0aa9f5,
-  "7": #0798e2,
-  "8": #0985ca,
-  "9": #0975ae
-);
-
-$blue-0: map-get($blue-list, "0");
-$blue-1: map-get($blue-list, "1");
-$blue-2: map-get($blue-list, "2");
-$blue-3: map-get($blue-list, "3");
-$blue-4: map-get($blue-list, "4");
-$blue-5: map-get($blue-list, "5");
-$blue-6: map-get($blue-list, "6");
-$blue-7: map-get($blue-list, "7");
-$blue-8: map-get($blue-list, "8");
-$blue-9: map-get($blue-list, "9");
-
-
-//  Cyan
-$cyan-list: (
-  "0": #e3fafc,
-  "1": #c5f6fa,
-  "2": #99e9f2,
-  "3": #66d9e8,
-  "4": #3bc9db,
-  "5": #22b8cf,
-  "6": #15aabf,
-  "7": #1098ad,
-  "8": #0c8599,
-  "9": #0b7285
-);
-
-$cyan-0: map-get($cyan-list, "0");
-$cyan-1: map-get($cyan-list, "1");
-$cyan-2: map-get($cyan-list, "2");
-$cyan-3: map-get($cyan-list, "3");
-$cyan-4: map-get($cyan-list, "4");
-$cyan-5: map-get($cyan-list, "5");
-$cyan-6: map-get($cyan-list, "6");
-$cyan-7: map-get($cyan-list, "7");
-$cyan-8: map-get($cyan-list, "8");
-$cyan-9: map-get($cyan-list, "9");
-
-
-//  Teal
-$teal-list: (
-  "0": #e6fcf5,
-  "1": #c3fae8,
-  "2": #96f2d7,
-  "3": #63e6be,
-  "4": #38d9a9,
-  "5": #20c997,
-  "6": #12b886,
-  "7": #0ca678,
-  "8": #099268,
-  "9": #087f5b
-);
-
-$teal-0: map-get($teal-list, "0");
-$teal-1: map-get($teal-list, "1");
-$teal-2: map-get($teal-list, "2");
-$teal-3: map-get($teal-list, "3");
-$teal-4: map-get($teal-list, "4");
-$teal-5: map-get($teal-list, "5");
-$teal-6: map-get($teal-list, "6");
-$teal-7: map-get($teal-list, "7");
-$teal-8: map-get($teal-list, "8");
-$teal-9: map-get($teal-list, "9");
-
-
-//  Green
-$green-list: (
-  "0": #ebfbee,
-  "1": #d3f9d8,
-  "2": #b2f2bb,
-  "3": #8ce99a,
-  "4": #69db7c,
-  "5": #51cf66,
-  "6": #40c057,
-  "7": #37b24d,
-  "8": #2f9e44,
-  "9": #2b8a3e
-);
-
-$green-0: map-get($green-list, "0");
-$green-1: map-get($green-list, "1");
-$green-2: map-get($green-list, "2");
-$green-3: map-get($green-list, "3");
-$green-4: map-get($green-list, "4");
-$green-5: map-get($green-list, "5");
-$green-6: map-get($green-list, "6");
-$green-7: map-get($green-list, "7");
-$green-8: map-get($green-list, "8");
-$green-9: map-get($green-list, "9");
-
-
-//  Lime
-$lime-list: (
-  "0": #f4fce3,
-  "1": #e9fac8,
-  "2": #d8f5a2,
-  "3": #c0eb75,
-  "4": #a9e34b,
-  "5": #94d82d,
-  "6": #82c91e,
-  "7": #74b816,
-  "8": #66a80f,
-  "9": #5c940d
-);
-
-$lime-0: map-get($lime-list, "0");
-$lime-1: map-get($lime-list, "1");
-$lime-2: map-get($lime-list, "2");
-$lime-3: map-get($lime-list, "3");
-$lime-4: map-get($lime-list, "4");
-$lime-5: map-get($lime-list, "5");
-$lime-6: map-get($lime-list, "6");
-$lime-7: map-get($lime-list, "7");
-$lime-8: map-get($lime-list, "8");
-$lime-9: map-get($lime-list, "9");
-
-
-//  Yellow
-$yellow-list: (
-  "0": #f9f2d2,
-  "1": #f9ebb3,
-  "2": #f9e38c,
-  "3": #f8d55a,
-  "4": #f8c835,
-  "5": #f5b71b,
-  "6": #f1a10a,
-  "7": #ec9004,
-  "8": #e67c03,
-  "9": #dc6903
-);
-
-$yellow-0: map-get($yellow-list, "0");
-$yellow-1: map-get($yellow-list, "1");
-$yellow-2: map-get($yellow-list, "2");
-$yellow-3: map-get($yellow-list, "3");
-$yellow-4: map-get($yellow-list, "4");
-$yellow-5: map-get($yellow-list, "5");
-$yellow-6: map-get($yellow-list, "6");
-$yellow-7: map-get($yellow-list, "7");
-$yellow-8: map-get($yellow-list, "8");
-$yellow-9: map-get($yellow-list, "9");
-
-
-//  Orange
-$orange-list: (
-  "0": #fff4e6,
-  "1": #ffe8cc,
-  "2": #ffd8a8,
-  "3": #ffc078,
-  "4": #ffa94d,
-  "5": #ff922b,
-  "6": #fd7e14,
-  "7": #f76707,
-  "8": #e8590c,
-  "9": #d9480f
-);
-
-$orange-0: map-get($orange-list, "0");
-$orange-1: map-get($orange-list, "1");
-$orange-2: map-get($orange-list, "2");
-$orange-3: map-get($orange-list, "3");
-$orange-4: map-get($orange-list, "4");
-$orange-5: map-get($orange-list, "5");
-$orange-6: map-get($orange-list, "6");
-$orange-7: map-get($orange-list, "7");
-$orange-8: map-get($orange-list, "8");
-$orange-9: map-get($orange-list, "9");
-
-
-//  Color list
-$color-spectrum:   9;
-
-$color-list: (
-  $gray-list:  "gray",
-  $red-list:   "red",
-  $pink-list:  "pink",
-  $grape-list: "grape",
-  $violet-list:"violet",
-  $indigo-list:"indigo",
-  $blue-list:  "blue",
-  $cyan-list:  "cyan",
-  $teal-list:  "teal",
-  $green-list: "green",
-  $lime-list:  "lime",
-  $yellow-list:"yellow",
-  $orange-list:"orange"
-);
diff --git a/src/assets/styles/fotorama.scss b/src/assets/styles/fotorama.scss
deleted file mode 100644
index fd9b526..0000000
--- a/src/assets/styles/fotorama.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-/*!
- * Fotorama 4.6.4 | http://fotorama.io/license/
- */
-.fotorama__arr:focus:after,.fotorama__fullscreen-icon:focus:after,.fotorama__html,.fotorama__img,.fotorama__nav__frame:focus .fotorama__dot:after,.fotorama__nav__frame:focus .fotorama__thumb:after,.fotorama__stage__frame,.fotorama__stage__shaft,.fotorama__video iframe{position:absolute;width:100%;height:100%;top:0;right:0;left:0;bottom:0}.fotorama--fullscreen,.fotorama__img{max-width:99999px!important;max-height:99999px!important;min-width:0!important;min-height:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}.fotorama__wrap .fotorama__grab{cursor:move;cursor:-webkit-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.fotorama__grabbing *{cursor:move;cursor:-webkit-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.fotorama__spinner{position:absolute!important;top:50%!important;left:50%!important}.fotorama__wrap--css3 .fotorama__arr,.fotorama__wrap--css3 .fotorama__fullscreen-icon,.fotorama__wrap--css3 .fotorama__nav__shaft,.fotorama__wrap--css3 .fotorama__stage__shaft,.fotorama__wrap--css3 .fotorama__thumb-border,.fotorama__wrap--css3 .fotorama__video-close,.fotorama__wrap--css3 .fotorama__video-play{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.fotorama__caption,.fotorama__nav:after,.fotorama__nav:before,.fotorama__stage:after,.fotorama__stage:before,.fotorama__wrap--css3 .fotorama__html,.fotorama__wrap--css3 .fotorama__nav,.fotorama__wrap--css3 .fotorama__spinner,.fotorama__wrap--css3 .fotorama__stage,.fotorama__wrap--css3 .fotorama__stage .fotorama__img,.fotorama__wrap--css3 .fotorama__stage__frame{-webkit-transform:translateZ(0);transform:translateZ(0)}.fotorama__arr:focus,.fotorama__fullscreen-icon:focus,.fotorama__nav__frame{outline:0}.fotorama__arr:focus:after,.fotorama__fullscreen-icon:focus:after,.fotorama__nav__frame:focus .fotorama__dot:after,.fotorama__nav__frame:focus .fotorama__thumb:after{content:'';border-radius:inherit;background-color:rgba(0,175,234,.5)}.fotorama__wrap--video .fotorama__stage,.fotorama__wrap--video .fotorama__stage__frame--video,.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html,.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img,.fotorama__wrap--video .fotorama__stage__shaft{-webkit-transform:none!important;transform:none!important}.fotorama__wrap--css3 .fotorama__nav__shaft,.fotorama__wrap--css3 .fotorama__stage__shaft,.fotorama__wrap--css3 .fotorama__thumb-border{transition-property:-webkit-transform,width;transition-property:transform,width;transition-timing-function:cubic-bezier(0.1,0,.25,1);transition-duration:0ms}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__no-select,.fotorama__video-close,.fotorama__video-play,.fotorama__wrap{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fotorama__select{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}.fotorama__nav,.fotorama__nav__frame{margin:auto;padding:0}.fotorama__caption__wrap,.fotorama__nav__frame,.fotorama__nav__shaft{-moz-box-orient:vertical;display:inline-block;vertical-align:middle;*display:inline;*zoom:1}.fotorama__nav__frame,.fotorama__thumb-border{box-sizing:content-box}.fotorama__caption__wrap{box-sizing:border-box}.fotorama--hidden,.fotorama__load{position:absolute;left:-99999px;top:-99999px;z-index:-1}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__nav,.fotorama__nav__frame,.fotorama__nav__shaft,.fotorama__stage__frame,.fotorama__stage__shaft,.fotorama__video-close,.fotorama__video-play{-webkit-tap-highlight-color:transparent}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__video-close,.fotorama__video-play{background:url(../images/fotorama.png) no-repeat}@media (-webkit-min-device-pixel-ratio:1.5),(min-resolution:2dppx){.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__video-close,.fotorama__video-play{background:url(../images/fotorama@2x.png) 0 0/96px 160px no-repeat}}.fotorama__thumb{background-color:#7f7f7f;background-color:rgba(127,127,127,.2)}@media print{.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__thumb-border,.fotorama__video-close,.fotorama__video-play{background:none!important}}.fotorama{min-width:1px;overflow:hidden}.fotorama:not(.fotorama--unobtrusive)>*:not(:first-child){display:none}.fullscreen{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#000}.fotorama--fullscreen{position:absolute!important;top:0!important;left:0!important;right:0!important;bottom:0!important;float:none!important;z-index:2147483647!important;background:#000;width:100%!important;height:100%!important;margin:0!important}.fotorama--fullscreen .fotorama__nav,.fotorama--fullscreen .fotorama__stage{background:#000}.fotorama__wrap{-webkit-text-size-adjust:100%;position:relative;direction:ltr;z-index:0}.fotorama__wrap--rtl .fotorama__stage__frame{direction:rtl}.fotorama__nav,.fotorama__stage{overflow:hidden;position:relative;max-width:100%}.fotorama__wrap--pan-y{-ms-touch-action:pan-y}.fotorama__wrap .fotorama__pointer{cursor:pointer}.fotorama__wrap--slide .fotorama__stage__frame{opacity:1!important}.fotorama__stage__frame{overflow:hidden}.fotorama__stage__frame.fotorama__active{z-index:8}.fotorama__wrap--fade .fotorama__stage__frame{display:none}.fotorama__wrap--fade .fotorama__fade-front,.fotorama__wrap--fade .fotorama__fade-rear,.fotorama__wrap--fade .fotorama__stage__frame.fotorama__active{display:block;left:0;top:0}.fotorama__wrap--fade .fotorama__fade-front{z-index:8}.fotorama__wrap--fade .fotorama__fade-rear{z-index:7}.fotorama__wrap--fade .fotorama__fade-rear.fotorama__active{z-index:9}.fotorama__wrap--fade .fotorama__stage .fotorama__shadow{display:none}.fotorama__img{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0;border:none!important}.fotorama__error .fotorama__img,.fotorama__loaded .fotorama__img{-ms-filter:"alpha(Opacity=100)";filter:alpha(opacity=100);opacity:1}.fotorama--fullscreen .fotorama__loaded--full .fotorama__img,.fotorama__img--full{display:none}.fotorama--fullscreen .fotorama__loaded--full .fotorama__img--full{display:block}.fotorama__wrap--only-active .fotorama__nav,.fotorama__wrap--only-active .fotorama__stage{max-width:99999px!important}.fotorama__wrap--only-active .fotorama__stage__frame{visibility:hidden}.fotorama__wrap--only-active .fotorama__stage__frame.fotorama__active{visibility:visible}.fotorama__nav{font-size:0;line-height:0;text-align:center;display:none;white-space:nowrap;z-index:5}.fotorama__nav__shaft{position:relative;left:0;top:0;text-align:left}.fotorama__nav__frame{position:relative;cursor:pointer}.fotorama__nav--dots{display:block}.fotorama__nav--dots .fotorama__nav__frame{width:18px;height:30px}.fotorama__nav--dots .fotorama__nav__frame--thumb,.fotorama__nav--dots .fotorama__thumb-border{display:none}.fotorama__nav--thumbs{display:block}.fotorama__nav--thumbs .fotorama__nav__frame{padding-left:0!important}.fotorama__nav--thumbs .fotorama__nav__frame:last-child{padding-right:0!important}.fotorama__nav--thumbs .fotorama__nav__frame--dot{display:none}.fotorama__dot{display:block;width:4px;height:4px;position:relative;top:12px;left:6px;border-radius:6px;border:1px solid #7f7f7f}.fotorama__nav__frame:focus .fotorama__dot:after{padding:1px;top:-1px;left:-1px}.fotorama__nav__frame.fotorama__active .fotorama__dot{width:0;height:0;border-width:3px}.fotorama__nav__frame.fotorama__active .fotorama__dot:after{padding:3px;top:-3px;left:-3px}.fotorama__thumb{overflow:hidden;position:relative;width:100%;height:100%}.fotorama__nav__frame:focus .fotorama__thumb{z-index:2}.fotorama__thumb-border{position:absolute;z-index:9;top:0;left:0;border-style:solid;border-color:#00afea;background-image:linear-gradient(to bottom right,rgba(255,255,255,.25),rgba(64,64,64,.1))}.fotorama__caption{position:absolute;z-index:12;bottom:0;left:0;right:0;font-family:'Helvetica Neue',Arial,sans-serif;font-size:14px;line-height:1.5;color:#000}.fotorama__caption a{text-decoration:none;color:#000;border-bottom:1px solid;border-color:rgba(0,0,0,.5)}.fotorama__caption a:hover{color:#333;border-color:rgba(51,51,51,.5)}.fotorama__wrap--rtl .fotorama__caption{left:auto;right:0}.fotorama__wrap--no-captions .fotorama__caption,.fotorama__wrap--video .fotorama__caption{display:none}.fotorama__caption__wrap{background-color:#fff;background-color:rgba(255,255,255,.9);padding:5px 10px}@-webkit-keyframes spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.fotorama__wrap--css3 .fotorama__spinner{-webkit-animation:spinner 24s infinite linear;animation:spinner 24s infinite linear}.fotorama__wrap--css3 .fotorama__html,.fotorama__wrap--css3 .fotorama__stage .fotorama__img{transition-property:opacity;transition-timing-function:linear;transition-duration:.3s}.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__html,.fotorama__wrap--video .fotorama__stage__frame--video .fotorama__img{-ms-filter:"alpha(Opacity=0)";filter:alpha(opacity=0);opacity:0}.fotorama__select{cursor:auto}.fotorama__video{top:32px;right:0;bottom:0;left:0;position:absolute;z-index:10}@-moz-document url-prefix(){.fotorama__active{box-shadow:0 0 0 transparent}}.fotorama__arr,.fotorama__fullscreen-icon,.fotorama__video-close,.fotorama__video-play{position:absolute;z-index:11;cursor:pointer}.fotorama__arr{position:absolute;width:32px;height:32px;top:50%;margin-top:-16px}.fotorama__arr--prev{left:2px;background-position:0 0}.fotorama__arr--next{right:2px;background-position:-32px 0}.fotorama__arr--disabled{pointer-events:none;cursor:default;*display:none;opacity:.1}.fotorama__fullscreen-icon{width:32px;height:32px;top:2px;right:2px;background-position:0 -32px;z-index:20}.fotorama__arr:focus,.fotorama__fullscreen-icon:focus{border-radius:50%}.fotorama--fullscreen .fotorama__fullscreen-icon{background-position:-32px -32px}.fotorama__video-play{width:96px;height:96px;left:50%;top:50%;margin-left:-48px;margin-top:-48px;background-position:0 -64px;opacity:0}.fotorama__wrap--css2 .fotorama__video-play,.fotorama__wrap--video .fotorama__stage .fotorama__video-play{display:none}.fotorama__error .fotorama__video-play,.fotorama__loaded .fotorama__video-play,.fotorama__nav__frame .fotorama__video-play{opacity:1;display:block}.fotorama__nav__frame .fotorama__video-play{width:32px;height:32px;margin-left:-16px;margin-top:-16px;background-position:-64px -32px}.fotorama__video-close{width:32px;height:32px;top:0;right:0;background-position:-64px 0;z-index:20;opacity:0}.fotorama__wrap--css2 .fotorama__video-close{display:none}.fotorama__wrap--css3 .fotorama__video-close{-webkit-transform:translate3d(32px,-32px,0);transform:translate3d(32px,-32px,0)}.fotorama__wrap--video .fotorama__video-close{display:block;opacity:1}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__video-close{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr,.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon{opacity:0}.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus,.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus{opacity:1}.fotorama__wrap--video .fotorama__arr,.fotorama__wrap--video .fotorama__fullscreen-icon{opacity:0!important}.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr,.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon{display:none}.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__arr:focus,.fotorama__wrap--css2.fotorama__wrap--no-controls.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:focus{display:block}.fotorama__wrap--css2.fotorama__wrap--video .fotorama__arr,.fotorama__wrap--css2.fotorama__wrap--video .fotorama__fullscreen-icon{display:none!important}.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__fullscreen-icon:not(:focus){-webkit-transform:translate3d(32px,-32px,0);transform:translate3d(32px,-32px,0)}.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--prev:not(:focus){-webkit-transform:translate3d(-48px,0,0);transform:translate3d(-48px,0,0)}.fotorama__wrap--css3.fotorama__wrap--no-controls.fotorama__wrap--slide.fotorama__wrap--toggle-arrows .fotorama__arr--next:not(:focus){-webkit-transform:translate3d(48px,0,0);transform:translate3d(48px,0,0)}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__fullscreen-icon{-webkit-transform:translate3d(32px,-32px,0)!important;transform:translate3d(32px,-32px,0)!important}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--prev{-webkit-transform:translate3d(-48px,0,0)!important;transform:translate3d(-48px,0,0)!important}.fotorama__wrap--css3.fotorama__wrap--video .fotorama__arr--next{-webkit-transform:translate3d(48px,0,0)!important;transform:translate3d(48px,0,0)!important}.fotorama__wrap--css3 .fotorama__arr:not(:focus),.fotorama__wrap--css3 .fotorama__fullscreen-icon:not(:focus),.fotorama__wrap--css3 .fotorama__video-close:not(:focus),.fotorama__wrap--css3 .fotorama__video-play:not(:focus){transition-property:-webkit-transform,opacity;transition-property:transform,opacity;transition-duration:.3s}.fotorama__nav:after,.fotorama__nav:before,.fotorama__stage:after,.fotorama__stage:before{content:"";display:block;position:absolute;text-decoration:none;top:0;bottom:0;width:10px;height:auto;z-index:10;pointer-events:none;background-repeat:no-repeat;background-size:1px 100%,5px 100%}.fotorama__nav:before,.fotorama__stage:before{background-image:linear-gradient(transparent,rgba(0,0,0,.2) 25%,rgba(0,0,0,.3) 75%,transparent),radial-gradient(farthest-side at 0 50%,rgba(0,0,0,.4),transparent);background-position:0 0,0 0;left:-10px}.fotorama__nav.fotorama__shadows--left:before,.fotorama__stage.fotorama__shadows--left:before{left:0}.fotorama__nav:after,.fotorama__stage:after{background-image:linear-gradient(transparent,rgba(0,0,0,.2) 25%,rgba(0,0,0,.3) 75%,transparent),radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.4),transparent);background-position:100% 0,100% 0;right:-10px}.fotorama__nav.fotorama__shadows--right:after,.fotorama__stage.fotorama__shadows--right:after{right:0}.fotorama--fullscreen .fotorama__nav:after,.fotorama--fullscreen .fotorama__nav:before,.fotorama--fullscreen .fotorama__stage:after,.fotorama--fullscreen .fotorama__stage:before,.fotorama__wrap--fade .fotorama__stage:after,.fotorama__wrap--fade .fotorama__stage:before,.fotorama__wrap--no-shadows .fotorama__nav:after,.fotorama__wrap--no-shadows .fotorama__nav:before,.fotorama__wrap--no-shadows .fotorama__stage:after,.fotorama__wrap--no-shadows .fotorama__stage:before{display:none}
\ No newline at end of file
diff --git a/src/assets/styles/main.scss b/src/assets/styles/main.scss
deleted file mode 100755
index fb8dc28..0000000
--- a/src/assets/styles/main.scss
+++ /dev/null
@@ -1,995 +0,0 @@
-@import 'variables';
-@import 'partials';
-
-// Colors
-$plyr-color-main: $yellow-6;
-
-$image_path: "../images" !default;
-
-@import "fotorama";
-@import "node_modules/nouislider/distribute/nouislider";
-@import "node_modules/material-design-lite/src/material-design-lite";
-@import "node_modules/bootstrap-sass/assets/stylesheets/_bootstrap";
-@import "node_modules/plyr/src/scss/plyr";
-@import "node_modules/sweetalert2/src/sweetalert2";
-
-.swal2-modal {
-  border-radius: 0;
-  padding: 20px 30px !important;
-  min-height: 0;
-
-  .swal2-spacer {
-    height: 0 !important;
-  }
-
-  .swal2-close {
-    font-size: 42px !important;
-    top: 8px !important;
-    right: 16px !important;
-    outline: none;
-  }
-
-  .swal2-title {
-    font: 400 3rem $primary-font;
-    margin-bottom: 18px;
-    color: $gray-10;
-  }
-
-  .swal2-content {
-    font: 300 2rem/2.5rem $primary-font;
-    color: $gray-10;
-  }
-
-  .swal2-styled {
-    outline: none;
-    display: none;
-  }
-}
-
-.plyr__play-large {
-  background: rgba(0,0,0, 0.6);
-  border: 5px solid $white;
-  padding: 30px;
-  outline: none !important;
-  box-shadow: 0 1px 2px 1px transparentize($black, .8);
-  opacity: .8;
-
-  svg {
-    position: relative;
-    left: 2px;
-    width: 40px;
-    height: 40px;
-    display: block;
-  }
-}
-
-@font-face {
-  font-family: 'gobold';
-  src: url('../fonts/gobold_lowplus-webfont.woff2') format('woff2'),
-       url('../fonts/gobold_lowplus-webfont.woff') format('woff');
-  font-weight: 200;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'gobold';
-  src: url('../fonts/gobold_regular-webfont.woff2') format('woff2'),
-       url('../fonts/gobold_regular-webfont.woff') format('woff');
-  font-weight: 400;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'gobold';
-  src: url('../fonts/gobold_thin-webfont.woff2') format('woff2'),
-       url('../fonts/gobold_thin-webfont.woff') format('woff');
-  font-weight: 300;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'gobold';
-  src: url('../fonts/gobold_uplow-webfont.woff2') format('woff2'),
-       url('../fonts/gobold_uplow-webfont.woff') format('woff');
-  font-weight: 700;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'aller';
-  src: url('../fonts/aller_std_lt-webfont.woff2') format('woff2'),
-       url('../fonts/aller_std_lt-webfont.woff') format('woff');
-  font-weight: 300;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'aller';
-  src: url('../fonts/aller_std_rg-webfont.woff2') format('woff2'),
-       url('../fonts/aller_std_rg-webfont.woff') format('woff');
-  font-weight: 400;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'aller';
-  src: url('../fonts/aller_std_rg-webfont.woff2') format('woff2'),
-       url('../fonts/aller_std_rg-webfont.woff') format('woff');
-  font-weight: 400;
-  font-style: normal;
-}
-
-@font-face {
-  font-family: 'icomoon';
-  src:  url('../fonts/icomoon.eot?1aewbj');
-  src:  url('../fonts/icomoon.eot?1aewbj#iefix') format('embedded-opentype'),
-    url('../fonts/icomoon.ttf?1aewbj') format('truetype'),
-    url('../fonts/icomoon.woff?1aewbj') format('woff'),
-    url('../fonts/icomoon.svg?1aewbj#icomoon') format('svg');
-  font-weight: normal;
-  font-style: normal;
-}
-
-[class^="icon-"], [class*=" icon-"] {
-  font-family: 'icomoon' !important;
-  speak: none;
-  font-style: normal;
-  font-weight: normal;
-  font-variant: normal;
-  text-transform: none;
-  line-height: 1;
-  vertical-align: middle;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-.icon-linkedin:before { content: "\e904"; }
-.icon-coderockr:before { content: "\e903"; }
-.icon-earth:before { content: "\e905"; }
-.icon-star:before { content: "\e902"; }
-.icon-youtube-custom:before { content: "\e901"; }
-.icon-medium:before { content: "\e900"; }
-.icon-google-plus:before { content: "\ea8d"; }
-.icon-facebook:before { content: "\ea90"; }
-.icon-twitter:before { content: "\ea96"; }
-.icon-youtube:before { content: "\ea9d"; }
-.icon-github:before { content: "\eab0"; }
-
-.browserupgrade {
-  margin: 0.2em 0;
-  background: $gray-4;
-  color: $black;
-  padding: 0.2em 0;
-}
-
-::selection {
-  background: $yellow-6;
-  color: $white;
-}
-::-moz-selection { background: $yellow-6; }
-
-html {
-  background-color: $white;
-  box-sizing: border-box;
-  font-size: 10px;
-  line-height: 1.2;
-  -ms-overflow-style: scrollbar;
-  -webkit-tap-highlight-color: rgba(0,0,0,0);
-  font-family: $primary-font;
-}
-
-html,
-body {
-  @extend .flex-column;
-  margin: 0;
-  padding: 0;
-  min-height: 100%;
-  height: 100%;
-  color: $gray-10;
-}
-
-html * {
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-*,
-*:before,
-*:after { box-sizing: inherit; }
-
-a {
-  outline: none !important;
-  transition-property: background-color,border-color,color;
-  transition-duration:.12s;
-  transition-timing-function: ease-in;
-}
-
-.btn {
-  background: transparent;
-  display: inline-block;
-  border-radius: 0;
-  border: 2px solid $yellow-6;
-  color: $yellow-6;
-  padding: 12px 30px 11px 30px;
-  font: 1.8rem $primary-font;
-  letter-spacing: .05rem;
-  text-decoration: none;
-  margin: 0 auto;
-
-  &:hover,
-  &:focus {
-    color: $white;
-    background-color: $yellow-6;
-  }
-}
-
-p { font: 300 1.8rem/3.20rem $primary-font; }
-
-.title {
-  clear: both;
-  font: 4.5rem/7rem $secundary-font;
-  letter-spacing: .4rem;
-  color: $gray-10;
-  text-align: center;
-  margin: 100px auto 70px auto;
-}
-
-.subtitle {
-  h2 {
-    display: block;
-    width: 100%;
-    font: 3.5rem $secundary-font;
-    letter-spacing: .2rem;
-    margin: 0;
-  }
-
-  span {
-    display: inline-block;
-    clear: both;
-    width: 100px;
-    border-top: 4px solid $yellow-6;
-    margin: 15px 0 30px 0;
-  }
-}
-
-.flex-row {
-  display: flex;
-  flex-direction: row;
-}
-
-.flex-column {
-  display: flex;
-  flex-direction: column;
-}
-
-#header {
-  position: fixed !important;
-  width: 100%;
-  height: 100px;
-  z-index: 1;
-  margin-top: -100px;
-  background-color: $white;
-  opacity: .98;
-  box-shadow: 0px 3px 5px 0px rgba(0,0,0,0.2);
-
-  .flex-row {
-    height: 100px;
-    align-items: center;
-    justify-content: space-between;
-
-    .logo {
-      img {
-        display: block;
-        width: 222px;
-        height: 65px;
-      }
-    }
-
-    li {
-      float: left;
-      list-style: none;
-      margin-left: 48px;
-
-      a {
-        font: 1.8rem $primary-font;
-        text-decoration: none;
-        color: $black;
-        cursor: pointer;
-
-        &:hover,
-        &:focus { color: $yellow-6; }
-      }
-    }
-
-    a.mobile {
-      cursor: pointer;
-      float: right;
-      display: block;
-      padding: 8px 14px 10px 14px;
-      border-radius: 3px;
-      border: 2px solid $black;
-      letter-spacing: normal;
-
-      img { width: 24px; }
-    }
-  }
-}
-
-#home {
-  > .banner {
-    width: 100%;
-    background-color: $yellow-6;
-    max-height: 550px;
-    height: 550px;
-    background: url('../images/crowd-bg.jpg') bottom center $yellow-6;
-    box-shadow: inset 0px -3px 5px 0px rgba(0,0,0,0.2);
-
-    h1 {
-      font: 4rem/8.5rem $secundary-font;
-      letter-spacing: .4rem;
-      color: $white;
-      text-align: center;
-      margin-top: 98px;
-      text-shadow: 1px 1px 5px rgba(0, 0, 0, .3);
-    }
-  }
-}
-
-.what-we-do {
-  .blurred {
-    display: block;
-    position: relative;
-    height: 80px;
-    box-shadow: 0px -3px 5px 0px rgba(255,255,255,1);
-
-    &:before {
-      @extend .pseudo;
-      width: 100%;
-      height: 85px;
-      top: -85px;
-      left: 0;
-      background: url('../images/crowd-bg.jpg') bottom center;
-      filter: blur(5px);
-    }
-  }
-
-  header {
-    position: relative;
-    min-height: 160px;
-    margin-top: -170px;
-    opacity: .9;
-    background-color: $white;
-    box-shadow: 0px -3px 3px 3px rgba(0,0,0,0.2);
-
-    &:after {
-      @extend .pseudo;
-      clear: both;
-      width: 100%;
-      height: 3px;
-      left: 0;
-      bottom: -3px;
-      background-color: $white;
-    }
-
-    h3 {
-      float: left;
-      font: 300 3.5rem/5rem $primary-font;
-      padding: 0 30px;
-      text-align: center;
-      margin-top: 32px !important;
-
-      span { font-weight: 400; }
-    }
-  }
-
-  section {
-    padding-bottom: 100px;
-    margin-top: -40px;
-
-    p { clear: both; }
-
-    .wrapper {
-      position: relative;
-      float: left;
-      padding: 10px 0;
-      margin-top: 40px;
-
-      &:after {
-        @extend .pseudo;
-        height: 103%;
-        left: 50%;
-        top: -4.5%;
-        margin-left: -2px;
-        border-right: 4px solid $black;
-      }
-    }
-
-    .service { float: left; }
-
-    .left {
-      padding-right: 70px;
-      text-align: right;
-
-      h2 {
-        float: right;
-        margin-right: -.6rem;
-      }
-
-      .subtitle span { float: right; }
-    }
-
-    .right {
-      padding-left: 70px;
-      float: left;
-      text-align: left;
-    }
-
-    .service:nth-child(2n) { margin-top: 275px; }
-    .service:nth-child(3n) { margin-top: 38px; }
-    .service:nth-child(4n) { margin: 340px 0 60px 0; }
-
-    h4 {
-      font: 300 2rem $secundary-font;
-      letter-spacing: .12rem;
-      margin: 70px 0 25px;
-    }
-
-    .btn {
-      font: 1.8rem $secundary-font;
-      letter-spacing: .1rem;
-      padding: 13px 30px;
-    }
-  }
-}
-
-.products {
-  position: relative;
-
-  header {
-    width: 100%;
-    position: absolute;
-    background-color: #010D16;
-    max-height: 590px;
-    height: 590px;
-    background: url('../images/grid-pattern.png') 0 -4px;
-    box-shadow: inset 0px -3px 5px 0px rgba(0,0,0,0.2);
-
-    &:before {
-      @extend .pseudo;
-      width: 100%;
-      max-height: 590px;
-      height: 590px;
-      background: url('../images/graphs.png') center 31px no-repeat;
-    }
-  }
-
-  .wrapper {
-    position: relative;
-    width: 100%;
-    top: 0;
-    left: 0;
-  }
-
-  .title {
-    color: $white;
-    margin: 92px auto 60px auto;
-  }
-
-  .planrockr {
-    position: relative;
-
-    img {
-      display: block;
-      width: 100%;
-      max-width: 773px;
-      margin: 0 auto;
-    }
-
-    .subtitle {
-      text-align: center;
-
-      img {
-        display: block;
-        width: 250px;
-        margin: 50px auto 26px auto;
-      }
-
-      span { border-color: $blue-7; }
-    }
-
-    .btn {
-      border-color: $blue-7;
-      color: $blue-7;
-      margin-top: 23px;
-
-      &:hover,
-      &:focus {
-        background: $blue-7;
-        color: $white;
-      }
-    }
-  }
-
-  .estimeoprazo {
-    margin-top: 80px;
-
-    .wrapper {
-      position: relative;
-      margin-right: 35px;
-      float: right;
-      text-align: right;
-
-      .subtitle {
-        margin-top: 30px;
-
-        span { border-color: $blue-7; }
-      }
-
-      p {
-        width: 320px;
-        float: right;
-        padding-left: 15px;
-      }
-
-      .btn {
-        border-color: $blue-7;
-        color: $blue-7;
-        margin-top: 23px;
-
-        &:hover,
-        &:focus {
-          background: $blue-7;
-          color: $white;
-        }
-      }
-    }
-
-    img {
-      display: block;
-      float: left;
-      width: 240px;
-      margin: 38px 0 0 35px;
-    }
-  }
-
-  .coderockrway {
-    padding-bottom: 100px;
-    .subtitle {
-      h2 {
-        @extend .title;
-        color: $gray-10;
-        margin: 110px auto 0 auto;
-      }
-
-      h3 {
-        color: $yellow-6;
-        font: 3.2rem $secundary-font;
-        letter-spacing: .2rem;
-        text-align: center;
-        display: flex;
-        flex-direction: row;
-        justify-content: center;
-        margin: 15px 0 50px 0;
-
-        &:before,
-        &:after {
-          position: relative;
-          flex-grow: 1;
-          height: 4px;
-          content: '';
-          background-color: $yellow-6;
-          top: 2rem;
-          max-width: 80px;
-        }
-
-        &:before { margin-right: 2rem; }
-        &:after { margin-left: 2rem; }
-      }
-    }
-
-    .plyr { margin-right: 35px; }
-
-    .plyr__controls,
-    .plyr__play-large { z-index: 0; }
-
-    video { width: 100% !important; }
-
-    .text {
-      margin-left: 35px;
-      .btn { margin-top: 23px; }
-    }
-  }
-}
-
-.testimonials {
-  border-top: 1px solid $gray-2;
-  border-bottom: 1px solid $gray-2;
-  background: $gray-0;
-  padding-bottom: 80px;
-
-  .fotorama__stage {
-    transition: height .1s linear;
-
-    .fotorama__arr {
-      width: 46px;
-      height: 85px;
-      top: 200px;
-      background: url('../images/arrow.svg');
-      background-size: 46px 85px;
-
-      &.fotorama__arr--prev {
-        left: 20px;
-        transform: rotate(180deg);
-      }
-
-      &.fotorama__arr--next {
-        right: 20px;
-      }
-    }
-  }
-
-  .fotorama__nav {
-      position: absolute;
-      transition: top .1s linear;
-
-      .fotorama__nav__frame--dot {
-        width: 9px;
-        height: 9px;
-        border-radius: 50%;
-        border: 2px solid $yellow-6;
-        margin: 0 9px;
-
-        &.fotorama__active { background: $yellow-6; }
-      }
-    }
-
-  .testimonial {
-    text-align: center;
-
-      img {
-        display: block;
-        width: 240px;
-        height: 240px;
-        border-radius: 50%;
-        border: 3px solid $yellow-6;
-        padding:10px;
-        margin: 0 auto
-      }
-
-      h3 {
-        position: relative;
-        top: -60px;
-        background: $yellow-6;
-        display: inline-block;
-        padding: 5px 20px;
-        color: $white;
-        font: 2.4rem $secundary-font;
-        text-transform: uppercase;
-        letter-spacing: .2rem;
-      }
-
-      h4 {
-        margin-top: -50px;
-        font: 1.8rem/2.8rem $primary-font;
-        text-transform: uppercase;
-      }
-
-      blockquote {
-        display: inline-block;
-        border: 0;
-        margin-top: 50px;
-        font-family: $secundary-font;
-        quotes: "\201C""\201D""\2018""\2019";
-
-        &::before,
-        &:after {
-          display: inline-block;
-          position: initial;
-          color: $yellow-6;
-          font-size: 3em;
-          line-height: 0;
-          vertical-align: -2.8rem;
-        }
-
-        &:before { content: open-quote;
-          margin-right: 8px;}
-        &:after {
-          content: close-quote;
-          margin-left: -10px;
-        }
-
-        p { display: inline; }
-      }
-  }
-}
-
-.articles {
-  padding-bottom: 30px;
-
-  ul {
-    display: block;
-    width: 100%;
-
-    li {
-      list-style: none;
-      margin-bottom: 60px;
-      padding: 0 25px;
-
-      .header {
-        text-decoration: none;
-        color: $gray-10;
-
-        img {
-          display: block;
-          width: 100%;
-        }
-
-        h2 {
-          font: 300 3rem $primary-font;
-          line-height: 4.2rem;
-        }
-
-        h3 { font: 400 1.8rem $primary-font; }
-      }
-
-      span {
-        display: inline-block;
-        clear: both;
-        width: 90px;
-        border-top: 4px solid $yellow-6;
-        margin: 15px 0 15px 0;
-      }
-
-      .anchor {
-        float: left;
-        text-decoration: none;
-        font: 1.7rem $primary-font;
-        text-transform: uppercase;
-        color: $yellow-6;
-        border-bottom: 2px solid $yellow-6;
-        margin-top: 8px;
-
-        &:hover,
-        &:focus {
-          color: $gray-10;
-          border-color: $gray-10;
-        }
-      }
-    }
-  }
-}
-
-footer {
-  background: $gray-10;
-  color: $white;
-  padding: 33px 0;
-
-  .social {
-    margin: 26px 0 0 0;
-    padding: 0;
-    display: inline-block;
-
-    li {
-      list-style: none;
-      float: left;
-      margin: 0 14px;
-
-
-      a {
-        text-decoration: none;
-        color: inherit;
-
-        span { font-size: 2.8rem; }
-
-        &:hover span,
-        &:focus span{ color: $yellow-6; }
-      }
-
-      &:first-child { margin-left: 0 !important; }
-      &:last-child { margin-right: 0 !important; }
-    }
-
-  }
-
-  .text {
-    float: right;
-    margin: 9px 32px 0 0;
-    text-align: right;
-
-    p { font: 300 1.6rem/2.6rem $primary-font !important; }
-  }
-
-  img {
-    width: 28px;
-    margin-top: 5px;
-  }
-}
-
-
-@import "contact";
-
-@import "about";
-
-
-// ==================================   MENU MOBILE   ==================================
-
-#main-content {
-  padding-top: 100px;
-  background-color: $white;
-  /* slightly visible only when we resize this element */
-  box-shadow: 0 0 40px rgba(0, 0, 0, 0.8);
-  z-index: 1;
-  /* Force Hardware Acceleration in WebKit */
-  -webkit-transform: translateZ(0);
-  -webkit-backface-visibility: hidden;
-  transition-property: opacity;
-  transition-duration: 0.4s;
-}
-
-#main-content.move-out { opacity: 0; }
-
-.no-js #main-content {
-  height: auto;
-  overflow-x: auto;
-  overflow-y: auto;
-}
-
-#menu-mobile {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  min-height: 100%;
-  background: $white;
-  /* Force Hardware Acceleration in WebKit */
-  -webkit-transform: translateZ(0);
-  -webkit-backface-visibility: hidden;
-  /* we move this element off the canvas */
-  transform: translateY(-100%);
-  transition-property: transform;
-  transition-duration: 0.4s;
-  z-index: 3;
-
-  ul {
-    padding: 0;
-    margin-top: 40px;
-  }
-
-  li {
-    text-align: center;
-    list-style: none;
-    margin: 28px 0;
-
-    a {
-      display: inline-block;
-      margin-bottom: 5px;
-      border-bottom: 2px solid $yellow-6;
-      font:  2rem $primary-font;
-      -webkit-font-smoothing: auto;
-      text-decoration: none;
-      color: $black;
-    }
-  }
-
-  .close-menu {
-    position: absolute;
-    top: 25px;
-    right: 19px;
-    display: inline-block;
-    padding: 10px;
-
-    img { width: 26px; }
-  }
-}
-
-.no-touch #menu-mobile li a:hover { border-color: $white; }
-
-#menu-mobile.is-visible {
-  box-shadow: 0 0 20px rgba(0, 0, 0, 0.4);
-  transform: translateY(0);
-}
-
-.no-js #menu-mobile {
-  position: static;
-  transform: translateY(0);
-}
-
-.no-js #menu-mobile .close-menu { display: none; }
-
-.shadow-layer {
-  position: fixed;
-  top: 0;
-  left: 0;
-  height: 100%;
-  width: 100%;
-  background: rgba(0, 0, 0, 0.4);
-  z-index: 2;
-  opacity: 0;
-  visibility: hidden;
-  transition: visibility 0s 0.5s, opacity 0.5s 0s;
-}
-
-.shadow-layer.is-visible {
-  opacity: 1;
-  visibility: visible;
-  transition-delay: 0s;
-}
-
-
-.group {
-  position: relative;
-  margin: 30px 0;
-  font: 2.2rem $primary-font;
-
-  input {
-    padding: 10px 10px 5px 5px;
-    display: block;
-    width: 100%;
-    border: none;
-    border-radius: 0;
-    border-bottom: 2px solid $gray-10;
-
-    &:focus ~ label,
-    &:valid ~ label {
-      top: -20px;
-      font-size: 1.4rem;
-      color: $gray-6;
-    }
-
-    input:focus ~ .highlight { animation: inputHighlighter 0.3s ease; }
-
-    &:focus ~ .bar:before,
-    &:focus ~ .bar:after { width: 50%; }
-
-    &:focus { outline: none; }
-  }
-
-  .highlight {
-    position: absolute;
-    height: 60%;
-    width: 100px;
-    top: 25%;
-    left: 0;
-    pointer-events: none;
-    opacity: 0.5;
-  }
-
-  .bar {
-    position: relative;
-    display: block;
-    width: 100%;
-
-    &:before,
-    &:after {
-      @extend .pseudo;
-      height: 2px;
-      width: 0;
-      top: -2px;
-      background: $yellow-6;
-      transition: 0.2s ease all;
-    }
-
-    &:before { left: 50%; }
-    &:after { right: 50%; }
-  }
-
-  label {
-    color: $gray-6;
-    font-weight: normal;
-    position: absolute;
-    pointer-events: none;
-    left: 5px;
-    top: 10px;
-    transition: 0.2s ease all;
-  }
-}
-
-@keyframes inputHighlighter {
-  from { background: #5264AE; }
-  to {
-    width: 0;
-    background: transparent;
-  }
-}
-
-@import "midia-queries";
diff --git a/src/templates/about.html b/src/templates/about.html
deleted file mode 100644
index 1c7401a..0000000
--- a/src/templates/about.html
+++ /dev/null
@@ -1,563 +0,0 @@
----
-title: Coderockr - Quem Somos
----
-
-<main id="main-content">
-
-    {{> header}}
-
-    <div id="about" class="wrap">
-      <section class="banner">
-        <div class="container">
-          <div class="row">
-            <div class="subtitle">
-              <h2>QUEM SOMOS</h2>
-              <span></span>
-            </div>
-          </div>
-        </div>
-      </section>
-      <aside class="photos container-fluid">>
-        <div class="row">
-          <img class="img-responsive pic-1" src="assets/images/coderockr/picture-1.jpg" alt="Coderockr" width="234" height="235">
-          <img class="img-responsive pic-2" src="assets/images/coderockr/picture-2.jpg" alt="Coderockr" width="234" height="235">
-          <img class="img-responsive pic-3" src="assets/images/coderockr/picture-3.jpg" alt="Coderockr" width="234" height="235">
-          <img class="img-responsive pic-4" src="assets/images/coderockr/picture-4.jpg" alt="Coderockr" width="234" height="235">
-          <img class="img-responsive pic-5" src="assets/images/coderockr/picture-5.jpg" alt="Coderockr" width="468" height="235">
-          <img class="img-responsive pic-6" src="assets/images/coderockr/picture-6.jpg" alt="Coderockr" width="468" height="235">
-          <img class="img-responsive pic-7" src="assets/images/coderockr/picture-7.jpg" alt="Coderockr" width="234" height="235">
-          <img class="img-responsive pic-8" src="assets/images/coderockr/picture-8.jpg" alt="Coderockr" width="234" height="235">
-          <img class="img-responsive pic-9" src="assets/images/coderockr/picture-9.jpg" alt="Coderockr" width="234" height="235">
-          <img class="img-responsive pic-0" src="assets/images/coderockr/picture-10.jpg" alt="Coderockr" width="234" height="235">
-        </div>
-      </aside>
-      <section class="coderockr">
-        <div class="container history">
-          <div class="row">
-            <div class="col-md-12 cross-title left">
-              <h2><span class="title">A CODEROCKR</span></h2>
-            </div>
-            <div class="col-md-5 logo">
-              <img src="assets/images/hand-yellow.svg" alt="Coderockr Logo" title="Coderockr">
-            </div>
-            <div class="col-md-7 col-md-offset-0 col-sm-10 col-sm-offset-1">
-              <p>
-                A Coderockr, sediada em Joinville, Santa Catarina, está no mercado desde 2010 trabalhando
-                com clientes de diversos portes como startups nacionais e internacionais, corporações,
-                agências de publicidade e instituições de ensino. Temos orgulho de ter trabalhado com
-                empresas como Unochapecó, A2C, Neogrid, Emprego Ligado, Compufour, Weg, entre outras.
-              </p>
-              <p>
-                <i>
-                  Nosso propósito é criar softwares incríveis e ajudar outras empresas e desenvolvedores
-                  a fazerem o mesmo. Fazemos isso porque acreditamos que o desenvolvimento de software
-                  é uma arte, que deve ser feita com paixão, dedicação, e organização.
-                </i>
-              </p>
-              <p>
-                Queremos levar a nossa metodologia e os nossos conceitos ao maior número possível de clientes,
-                projetos, e desenvolvedores. Seja desenvolvendo as soluções internamente ou contribuindo
-                com a comunidade tecnológica disseminando conhecimento. Fazemos isso através de palestras,
-                consultorias, treinamentos, e conteúdo em redes sociais e livros.
-              </p>
-              <p>
-                Nosso sucesso pode ser medido pela satisfação dos usuários que são beneficiados pelos softwares
-                que desenvolvemos, ou que foram desenvolvidos pelas equipes que nós influenciamos.
-              </p>
-            </div>
-          </div>
-        </div>
-        <div class="principles">
-          <div class="container">
-            <div class="row">
-              <ul>
-                <li class="col-md-4">
-                  <h3>MISSÃO</h3>
-                  <p>
-                    Criar soluções inovadoras e de alta qualidade utilizando as tecnologias mais modernas do
-                    mercado e promovendo a disseminação de conhecimento.
-                  </p>
-                </li>
-                <li class="col-md-4">
-                  <h3>VISÃO</h3>
-                  <p>
-                    Ser referência de excelência e inovação no desenvolvimento de soluções tecnológicas,
-                    gerando contribuições significativas à comunidade.
-                  </p>
-                </li>
-                <li class="col-md-4">
-                  <h3>VALORES</h3>
-                  <p>
-                    Cooperação, Ética, Respeito, Curiosidade, Entusiasmo, Comprometimento, Iniciativa,
-                    Foco na solução e não no problema.
-                  </p>
-                </li>
-              </ul>
-              <header class="col-md-12">
-                <span>BONS PROGRAMADORES SÃO ÚNICOS, ASSIM COMO ESTRELAS NO MUNDO DO ROCK!</span>
-              </header>
-            </div>
-          </div>
-        </div>
-      </section>
-      <section class="team">
-        <div class="container">
-          <div class="row">
-            <div class="subtitle">
-              <h2>NOSSA EQUIPE</h2>
-              <span></span>
-            </div>
-            <ul class="col-md-10 col-md-offset-1">
-              <li>
-                <div class="person flex-row">
-                  <div class="avatar flex-column">
-                    <div class="shadow">
-                      <img src="assets/images/team/eminetto.jpg" alt="Elton Minetto" width="210" height="210">
-                    </div>
-                    <ul class="flex-row">
-                      <li>
-                        <a href="http://twitter.com/eminetto" target="_blank">
-                          <span class="icon-twitter"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="http://eltonminetto.net" target="_blank">
-                          <span class="icon-earth"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="http://github.com/eminetto" target="_blank">
-                          <span class="icon-github"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.linkedin.com/in/eminetto" target="_blank">
-                          <span class="icon-linkedin"></span>
-                        </a>
-                      </li>
-                    </ul>
-                  </div>
-                  <div class="profile flex-column">
-                    <div class="subtitle">
-                      <h2>ELTON MINETTO</h2>
-                      <span></span>
-                    </div>
-                    <p>
-                      Possui graduação em Ciência de Computação pela Unochapecó e especialização em Ciência
-                      da Computação pela UFSC/UNOESC. Trabalha com PHP/MySQL desde 2000, com Linux desde 1997
-                      e com MacOSX desde 2007. É autor do livro Frameworks para Desenvolvimento em PHP, da
-                      editora Novatec, co-autor do livro Grid Computing in Research and Education, publicado
-                      pela editora IBM/Redbooks, EUA e autor dos e-books Zend Framework na prática e Zend
-                      Framework 2 na prática. Grande fã de programação, do bom e velho Rock n’ Roll e Heavy
-                      Metal, suas influências envolvem Eric Raymond, Linus Torvalds, Steve Jobs,
-                      Ozzy Osbourne e Lemmy Kilmister.
-                    </p>
-                  </div>
-                </div>
-                <div class="stars flex-row">
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                </div>
-              </li>
-              <li>
-                <div class="person flex-row">
-                  <div class="avatar flex-column">
-                    <div class="shadow">
-                      <img src="assets/images/team/julia.jpg" alt="Julia Possamai" width="210" height="210">
-                    </div>
-                    <ul class="flex-row">
-                      <li>
-                        <a href="https://github.com/juliabpp" target="_blank">
-                          <span class="icon-github"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.linkedin.com/in/julia-possamai-b097571a" target="_blank">
-                          <span class="icon-linkedin"></span>
-                        </a>
-                      </li>
-                    </ul>
-                  </div>
-                  <div class="profile flex-column">
-                    <div class="subtitle">
-                      <h2>JULIA POSSAMAI</h2>
-                      <span></span>
-                    </div>
-                    <p>
-                      Formada em Marketing e Ciências da Computação pela University of Texas at Austin
-                      (Hook'em Horns!). Participou do programa "1 Semester Startup" na UT Austin onde
-                      adquiriu conhecimento e despertou o seu espírito empreendedor. Estagiou em Nova York
-                      na área de Marketing, trabalhou em Dallas como Analista de Sistemas de Negócios e
-                      atualmente trabalha com desenvolvimento iOS. Adora conhecer novos lugares e culturas.
-                      Participou de intercâmbios culturais em Washington, DC e Puyallup, Washington. Morou 4
-                      anos no México, onde se formou no ensino médio, mas ainda não aprendeu a gostar de tequila.
-                    </p>
-                  </div>
-                </div>
-                <div class="stars flex-row">
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                </div>
-              </li>
-              <li>
-                <div class="person flex-row">
-                  <div class="avatar flex-column">
-                    <div class="shadow">
-                      <img src="assets/images/team/leandro.jpg" alt="Leandro Lugaresi" width="210" height="210">
-                    </div>
-                    <ul class="flex-row">
-                      <li>
-                        <a href="https://twitter.com/leandrolugaresi" target="_blank">
-                          <span class="icon-twitter"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.facebook.com/leandro.lugaresi" target="_blank">
-                          <span class="icon-facebook"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="http://www.leandrolugaresi.com.br/" target="_blank">
-                          <span class="icon-earth"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://github.com/leandro-lugaresi" target="_blank">
-                          <span class="icon-github"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.linkedin.com/in/leandrolugaresi" target="_blank">
-                          <span class="icon-linkedin"></span>
-                        </a>
-                      </li>
-                    </ul>
-                  </div>
-                  <div class="profile flex-column">
-                    <div class="subtitle">
-                      <h2>LEANDRO LUGARESI</h2>
-                      <span></span>
-                    </div>
-                    <p>
-                      Graduado em Análise e Desenvolvimento de Sistemas pela FTEC Bento Gonçalves. Trabalha com
-                      o desenvolvimento em PHP desde 2011, e desde 2013 com Zend Framework 2 e Doctrine 2. Está
-                      sempre buscando aprender mais sobre segurança, performance e modularidade em projetos web.
-                      No seu tempo livre gosta de assistir séries e filmes, ficar ao ar livre, e aproveitar
-                      os momentos com a sua namorada.
-                    </p>
-                  </div>
-                </div>
-                <div class="stars flex-row">
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                </div>
-              </li>
-              <li>
-                <div class="person flex-row">
-                  <div class="avatar flex-column">
-                    <div class="shadow">
-                      <img src="assets/images/team/raony.jpg" alt="Raony Marcondes" width="210" height="210">
-                    </div>
-                    <ul class="flex-row">
-                      <li>
-                        <a href="http://twitter.com/ra0ny" target="_blank">
-                          <span class="icon-twitter"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.facebook.com/raonymarcondes" target="_blank">
-                          <span class="icon-facebook"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="http://raony.net/" target="_blank">
-                          <span class="icon-earth"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://github.com/RaonyMarcondes" target="_blank">
-                          <span class="icon-github"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.linkedin.com/in/raonymarcondes" target="_blank">
-                          <span class="icon-linkedin"></span>
-                        </a>
-                      </li>
-                    </ul>
-                  </div>
-                  <div class="profile flex-column">
-                    <div class="subtitle">
-                      <h2>RAONY MARCONDES</h2>
-                      <span></span>
-                    </div>
-                    <p>
-                      Graduado em Sistemas para Internet pelo Centro Universitário de Maringá, é um
-                      entusiasta pelas tecnologias da Open Web Platform, que leva à sério a usabilidade
-                      e acessibilidade das interfaces que desenvolve. Curte assistir séries e filmes no
-                      estilo Pulp Fiction, e discorda profundamente dos que acham que <del>Molejo</del>
-                      é melhor que Iron Maiden.
-                    </p>
-                  </div>
-                </div>
-                <div class="stars flex-row">
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                </div>
-              </li>
-              <li>
-                <div class="person flex-row">
-                  <div class="avatar flex-column">
-                    <div class="shadow">
-                      <img src="assets/images/team/lucas.jpg" alt="Lucas Abreu" width="210" height="210">
-                    </div>
-                    <ul class="flex-row">
-                      <li>
-                        <a href="http://www.lucassabreu.net.br" target="_blank">
-                          <span class="icon-earth"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://medium.com/@lucassabreu" target="_blank">
-                          <span class="icon-medium"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://twitter.com/LucasSantAbreu" target="_blank">
-                          <span class="icon-twitter"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://github.com/lucassabreu" target="_blank">
-                          <span class="icon-github"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.linkedin.com/in/lucassantosabreu" target="_blank">
-                          <span class="icon-linkedin"></span>
-                        </a>
-                      </li>
-                    </ul>
-                  </div>
-                  <div class="profile flex-column">
-                    <div class="subtitle">
-                      <h2>LUCAS ABREU</h2>
-                      <span></span>
-                    </div>
-                    <p>
-                      Me interesso por desenvolvimento desde 2009 quando tive de explorar um pouco o
-                      mundo da programação para um projeto e por diversão depois disso. Trabalho na área
-                      desde final de 2010 iniciando com desenvolvimento para ERP e Business Intelligence,
-                      com momentos de analista de banco de dados aqui e ali, o que me levou a uma paixão
-                      por bancos de dados e sistemas/linguagens de consulta. Hoje atuo com desenvolvimento
-                      Web e estou tentando entrar para o mundo de BigData e IA. Sou Bacharel em Sistemas de
-                      Informação pela UNIVILLE, formado em 2016. Meu tempo livre envolve beber com amigos,
-                      ver filmes e animações, ler livros de ficção e passar o fim de semana deitado na cama.
-                    </p>
-                  </div>
-                </div>
-                <div class="stars flex-row">
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                </div>
-              </li>
-              <li>
-                <div class="person flex-row">
-                  <div class="avatar flex-column">
-                    <div class="shadow">
-                      <img src="assets/images/team/anderson.jpg" alt="Ânderson Zorrer Dalmina" width="210" height="210">
-                    </div>
-                    <ul class="flex-row">
-                      <li>
-                        <a href="https://twitter.com/andersondalmina" target="_blank">
-                          <span class="icon-twitter"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://github.com/andersondalmina" target="_blank">
-                          <span class="icon-github"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.linkedin.com/in/andersonzorrerdalmina" target="_blank">
-                          <span class="icon-linkedin"></span>
-                        </a>
-                      </li>
-                    </ul>
-                  </div>
-                  <div class="profile flex-column">
-                    <div class="subtitle">
-                      <h2>ÂNDERSON ZORRER DALMINA</h2>
-                      <span></span>
-                    </div>
-                    <p>
-                      Cursando Engenharia de Computação na Universidade de Caxias do Sul (UCS),
-                      fez seus primeiros códigos de PHP em 2011 e desde lá não parou mais. Está sempre
-                      em busca do “código perfeito” e de novas tecnologias que buscam melhorar o desenvolvimento.
-                      Tem grande interesse em saber como as coisas funcionam, o que o levou a uma
-                      jornada ao baixo nível com hardware e eletrônica. Possui uma banda na qual passa muitos
-                      fins de semana viajando e tocando, no tempo livre curte uma boa música, filme
-                      e conversa com os amigos.
-                    </p>
-                  </div>
-                </div>
-                <div class="stars flex-row">
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                </div>
-              </li>
-              <li>
-                <div class="person flex-row">
-                  <div class="avatar flex-column">
-                    <div class="shadow">
-                      <img src="assets/images/team/jefferson.jpg" alt="Jefferson Alexandre Silveira" width="210" height="210">
-                    </div>
-                    <ul class="flex-row">
-                      <li>
-                        <a href="https://twitter.com/OJeffersonSS" target="_blank">
-                          <span class="icon-twitter"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.facebook.com/jefferson.a.silveira" target="_blank">
-                          <span class="icon-facebook"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://github.com/devjeffersonsilveira" target="_blank">
-                          <span class="icon-github"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.linkedin.com/in/jefferson-alexandre-silveira" target="_blank">
-                          <span class="icon-linkedin"></span>
-                        </a>
-                      </li>
-                    </ul>
-                  </div>
-                  <div class="profile flex-column">
-                    <div class="subtitle">
-                      <h2>JEFFERSON ALEXANDRE SILVEIRA</h2>
-                      <span></span>
-                    </div>
-                    <p>
-                      Cursando Engenharia de software na Univille, começou a trabalhar com programação
-                      em 2013, onde descobriu a grande alegria de ver suas aplicações rodando e evoluindo.
-                      Acredita que aindahá muito a ser (re)descoberto no mundo antes do apocalipse robótico
-                      inevitável. Gosta de qualquer problema lógico e, entre Beatles e Stones, prefere Led Zeppelin.
-                    </p>
-                  </div>
-                </div>
-                <div class="stars flex-row">
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                </div>
-              </li>
-              <li>
-                <div class="person flex-row">
-                  <div class="avatar flex-column">
-                    <div class="shadow">
-                      <img src="assets/images/team/renata.jpg" alt="Renata Willwock Dias de Toledo" width="210" height="210">
-                    </div>
-                    <ul class="flex-row">
-                      <li>
-                        <a href="https://www.facebook.com/renata.will" target="_blank">
-                          <span class="icon-facebook"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://www.linkedin.com/in/renata-willwock-dias-de-toledo-7b981790" target="_blank">
-                          <span class="icon-linkedin"></span>
-                        </a>
-                      </li>
-                    </ul>
-                  </div>
-                  <div class="profile flex-column">
-                    <div class="subtitle">
-                      <h2>RENATA WILLWOCK DIAS DE TOLEDO</h2>
-                      <span></span>
-                    </div>
-                    <p>
-                      Graduada em Marketing pela Faculdade Anhanguera e Mestre em Administração de Negócios
-                      - MBA em Gestão Comercial, Marketing e Vendas pelo IBF - Instituto Brasileiro de Formação.
-                      Tem paixão em aprender e transmitir conhecimentos, estudar, entender e gerenciar as
-                      expectativas de possíveis clientes, os guiando através da melhor jornada de compra possível.
-                    </p>
-                  </div>
-                </div>
-                <div class="stars flex-row">
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                </div>
-              </li>
-              <li>
-                <div class="person flex-row">
-                  <div class="avatar flex-column">
-                    <div class="shadow">
-                      <img src="assets/images/team/uncle-sam.jpg" alt="We want you!" width="210" height="210">
-                    </div>
-                    <ul class="flex-row">
-                      <li>
-                        <a href="https://blog.coderockr.com" target="_blank">
-                          <span class="icon-earth"></span>
-                        </a>
-                      </li>
-                      <li>
-                        <a href="https://github.com/Coderockr" target="_blank">
-                          <span class="icon-github"></span>
-                        </a>
-                      </li>
-                    </ul>
-                  </div>
-                  <div class="profile flex-column">
-                    <div class="subtitle">
-                      <h2>VOCÊ</h2>
-                      <span></span>
-                    </div>
-                    <p>Sim, você mesmo! <br>
-                    Curte a Coderockr e tem vontade de trabalhar com a gente? <br>
-                    Estamos sempre à procura de novos rockstars para nossa equipe.</p>
-                    <a href="https://coderockr.has-jobs.com" target="_blank">ENVIE O SEU CURRICULO</a>
-                  </div>
-                </div>
-                <div class="stars flex-row">
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                  <span class="icon-star"></span>
-                </div>
-              </li>
-            </ul>
-          </div>
-        </div>
-      </section>
-    </div>
-
-    {{> footer}}
-
-  </main>
\ No newline at end of file
diff --git a/src/templates/components/footer.html b/src/templates/components/footer.html
deleted file mode 100644
index 3ebb3ca..0000000
--- a/src/templates/components/footer.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<footer id="footer">
-  <div class="container">
-    <div class="row">
-      <div class="col-md-12">
-        <ul class="social">
-          <li><a href="https://www.facebook.com/coderockr" title="Curta a Coderockr no Facebook"><span class="icon-facebook"></span></a></li>
-          <li><a href="https://twitter.com/coderockr" title="Siga a Coderockr no Twitter" target="_blank"><span class="icon-twitter"></span></a></li>
-          <li><a href="https://www.youtube.com/user/coderockr" title="Acompahe a Coderockr no YouTube" target="_blank"><span class="icon-youtube"></span></a></li>
-          <li><a href="https://blog.coderockr.com" title="Leia sore a Coderockr no Medium" target="_blank"><span class="icon-medium"></span></a></li>
-          <li><a href="https://plus.google.com/+Coderockr" title="Acompahe a Coderockr no Google+" target="_blank"><span class="icon-google-plus"></span></a></li>
-          <li><a href="https://github.com/Coderockr" title="Acompahe a Coderockr no Github" target="_blank"><span class="icon-github"></span></a></li>
-        </ul>
-        <img src="assets/images/hand-white.svg" alt="Coderockr Logo" title="You Rock!" class="pull-right">
-        <div class="text">
-          <p>
-            +55 47 3227-6359 &nbsp;&nbsp;&nbsp;
-            contato@coderockr.com
-          </p>
-          <p class="copyright">© 2016 Coderockr. Todos os direitos reservados. &nbsp; Joinville - SC</p>
-        </div>
-      </div>
-    </div>
-  </div>
-</footer>
\ No newline at end of file
diff --git a/src/templates/components/header.html b/src/templates/components/header.html
deleted file mode 100644
index 66569e2..0000000
--- a/src/templates/components/header.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<header id="header">
-  <div class="container">
-    <div class="row">
-      <div class="col-md-12 flex-row">
-        <a href="index.html" title="Coderockr" class="logo">
-          <img src="assets/images/coderockr.svg" alt="Coderockr Logo">
-        </a>
-        <nav>
-          <ul>
-            <li><a href="index.html" title="O que fazemos" data-autoscroll="true">O Que Fazemos</a></li>
-            <li><a href="about.html" title="Quem somos">Quem Somos</a></li>
-            <li><a href="index.html#products" title="Nossos Produtos" data-autoscroll="true">Produtos</a></li>
-            <li><a href="https://blog.coderockr.com" title="Blog Coderockr" target="_blank">Blog</a></li>
-            <li><a href="contact.html" title="Contato">Contato</a></li>
-          </ul>
-        </nav>
-        <a class="mobile hidden-md hidden-lg menu-trigger" href="#menu-mobile" title="Menu">
-          <img src="assets/images/menu.svg" alt="Menu icon">
-        </a>
-      </div>
-    </div>
-  </div>
-</header>
\ No newline at end of file
diff --git a/src/templates/layouts/default.html b/src/templates/layouts/default.html
deleted file mode 100644
index 3f74c0c..0000000
--- a/src/templates/layouts/default.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<!doctype html>
-<html class="no-js" lang="pt">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
-		<title>{{title}}</title>
-
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <meta name="format-detection" content="telephone=no">
-
-    <meta name="description" content="A Coderockr acredita que o desenvolvimento de software é uma arte, que deve ser feita com paixão e dedicação.">
-    <meta name="keywords" content="Coderockr, Desenvilvimento, Sistemas Web, Aplicativos Mobile, Big Data, Planrockr, Elton Minetto, Joinville.">
-
-    <link type="text/plain" rel="author" href="humans.txt" />
-    <link href="assets/images/favicon.png" rel="shortcut icon">
-
-
-    <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
-
-    <link rel="stylesheet" href="assets/styles/main.css">
-
-    <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js"></script>
-	</head>
-	<body>
-		<!--[if lt IE 10]>
-			<p class="browserupgrade">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
-		<![endif]-->
-
-		{% body %}
-
-		<div class="shadow-layer"></div>
-
-    <nav id="menu-mobile">
-      <div class="container">
-        <div class="row">
-          <ul>
-            <li><a href="index.html">Home</a></li>
-            <li><a href="index.html#what-we-do" data-autoscroll="true">O Que Fazemos</a></li>
-            <li><a href="about.html">Quem Somos</a></li>
-            <li><a href="index.html#products" title="Nossos Produtos" data-autoscroll="true">Produtos</a></li>
-            <li><a href="https://blog.coderockr.com" title="Blog Coderockr" target="_blank">Blog</a></li>
-            <li><a href="contact.html">Contato</a></li>
-          </ul>
-          <a href="#0" class="close-menu"><img src="assets/images/close.svg" alt="Close icon"></a>
-        </div>
-      </div>
-    </nav>
-
-    <script src="assets/scripts/main.js" async defer></script>
-  </body>
-</html>
diff --git a/webpack.config.js b/webpack.config.js
deleted file mode 100644
index b6fea75..0000000
--- a/webpack.config.js
+++ /dev/null
@@ -1,77 +0,0 @@
-const path = require('path');
-const webpack = require('webpack');
-
-/**
- * Define webpack plugins
- * @param  {string} env
- * @return {object}
- */
-function getPlugins(isDev) {
-  // define free variables
-  const GLOBALS = {
-    __DEV__: !!isDev,
-  };
-
-  const plugins = [
-    new webpack.optimize.OccurenceOrderPlugin(),
-    new webpack.DefinePlugin(GLOBALS),
-  ];
-
-  if (!isDev) {
-    plugins.push(new webpack.optimize.DedupePlugin());
-    plugins.push(new webpack.optimize.UglifyJsPlugin());
-  }
-
-  return plugins;
-}
-
-
-/**
- * Define webpack loaders
- * @param  {string} env
- * @return {object}
- */
-function getLoaders() {
-  const loaders = [
-    {
-      test: /\.html$/,
-      loader: 'handlebars-loader',
-    },
-    {
-      test: /\.js$/,
-      include: [
-        path.join(__dirname, 'src'),
-        path.join(__dirname, 'tests'),
-      ],
-      exclude: /(node_modules)/,
-      loader: 'babel',
-    },
-  ];
-
-  return loaders;
-}
-
-
-/**
- * Configurable Webpack config
- * @param  {object} config Configuration from gulpfile
- * @return {object}
- */
-module.exports = function webpackConfig(config) {
-  return {
-    entry: config.scripts.src,
-    output: {
-      path: path.resolve(__dirname, config.scripts.dest),
-      filename: '[name].js',
-    },
-    resolve: {
-      extensions: ['', '.js', '.jsx', '.html'],
-    },
-    devtool: config.dev ? '#inline-source-map' : '',
-    module: {
-      loaders: getLoaders(config.dev),
-    },
-    plugins: getPlugins(config.dev),
-    cache: {},
-  };
-};
diff --git a/yarn.lock b/yarn.lock
deleted file mode 100644
index 2049279..0000000
--- a/yarn.lock
+++ /dev/null
@@ -1,8012 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@gulp-sourcemaps/map-sources@1.X":
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/@gulp-sourcemaps/map-sources/-/map-sources-1.0.0.tgz#890ae7c5d8c877f6d384860215ace9d7ec945bda"
-  dependencies:
-    normalize-path "^2.0.1"
-    through2 "^2.0.3"
-
-abbrev@1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
-
-accepts@1.3.3:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca"
-  dependencies:
-    mime-types "~2.1.11"
-    negotiator "0.6.1"
-
-accepts@~1.3.3:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f"
-  dependencies:
-    mime-types "~2.1.16"
-    negotiator "0.6.1"
-
-acorn-jsx@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
-  dependencies:
-    acorn "^3.0.4"
-
-acorn@4.X:
-  version "4.0.13"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787"
-
-acorn@^3.0.0, acorn@^3.0.4:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
-
-acorn@^5.2.1:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.3.0.tgz#7446d39459c54fb49a80e6ee6478149b940ec822"
-
-after@0.8.2:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f"
-
-ajv-keywords@^1.0.0:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c"
-
-ajv@^4.7.0, ajv@^4.9.1:
-  version "4.11.8"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536"
-  dependencies:
-    co "^4.6.0"
-    json-stable-stringify "^1.0.1"
-
-ajv@^5.1.0:
-  version "5.5.2"
-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
-  dependencies:
-    co "^4.6.0"
-    fast-deep-equal "^1.0.0"
-    fast-json-stable-stringify "^2.0.0"
-    json-schema-traverse "^0.3.0"
-
-align-text@^0.1.1, align-text@^0.1.3:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117"
-  dependencies:
-    kind-of "^3.0.2"
-    longest "^1.0.1"
-    repeat-string "^1.5.2"
-
-alphanum-sort@^1.0.1, alphanum-sort@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
-
-amdefine@>=0.0.4:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5"
-
-ansi-cyan@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873"
-  dependencies:
-    ansi-wrap "0.1.0"
-
-ansi-escapes@^1.1.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-1.4.0.tgz#d3a8a83b319aa67793662b13e761c7911422306e"
-
-ansi-gray@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251"
-  dependencies:
-    ansi-wrap "0.1.0"
-
-ansi-red@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c"
-  dependencies:
-    ansi-wrap "0.1.0"
-
-ansi-regex@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
-
-ansi-regex@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
-
-ansi-styles@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
-
-ansi-styles@^3.1.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88"
-  dependencies:
-    color-convert "^1.9.0"
-
-ansi-wrap@0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
-
-any-promise@^0.1.0, any-promise@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-0.1.0.tgz#830b680aa7e56f33451d4b049f3bd8044498ee27"
-
-anymatch@^1.3.0:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a"
-  dependencies:
-    micromatch "^2.1.5"
-    normalize-path "^2.0.0"
-
-aproba@^1.0.3:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
-
-archive-type@^3.0.0, archive-type@^3.0.1:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-3.2.0.tgz#9cd9c006957ebe95fadad5bd6098942a813737f6"
-  dependencies:
-    file-type "^3.1.0"
-
-archy@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40"
-
-are-we-there-yet@~1.1.2:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d"
-  dependencies:
-    delegates "^1.0.0"
-    readable-stream "^2.0.6"
-
-argparse@^1.0.7:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86"
-  dependencies:
-    sprintf-js "~1.0.2"
-
-arr-diff@^1.0.1:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a"
-  dependencies:
-    arr-flatten "^1.0.1"
-    array-slice "^0.2.3"
-
-arr-diff@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
-  dependencies:
-    arr-flatten "^1.0.1"
-
-arr-diff@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
-
-arr-flatten@^1.0.1, arr-flatten@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
-
-arr-union@^2.0.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d"
-
-arr-union@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
-
-array-differ@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031"
-
-array-each@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"
-
-array-find-index@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1"
-
-array-slice@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5"
-
-array-slice@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"
-
-array-union@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
-  dependencies:
-    array-uniq "^1.0.1"
-
-array-uniq@^1.0.0, array-uniq@^1.0.1, array-uniq@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
-
-array-unique@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
-
-array-unique@^0.3.2:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
-
-arraybuffer.slice@~0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675"
-
-arrify@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
-
-asn1@~0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86"
-
-assert-plus@1.0.0, assert-plus@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
-
-assert-plus@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234"
-
-assert@^1.1.1:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91"
-  dependencies:
-    util "0.10.3"
-
-assign-symbols@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
-
-async-each-series@0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432"
-
-async-each-series@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138"
-
-async-each@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d"
-
-async-foreach@^0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542"
-
-async-limiter@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8"
-
-async@1.5.2, async@^1.3.0, async@^1.4.0:
-  version "1.5.2"
-  resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a"
-
-async@^0.9.0:
-  version "0.9.2"
-  resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
-
-async@~0.2.10, async@~0.2.6:
-  version "0.2.10"
-  resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1"
-
-asynckit@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
-
-atob@^2.0.0:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/atob/-/atob-2.0.3.tgz#19c7a760473774468f20b2d2d03372ad7d4cbf5d"
-
-atob@~1.1.0:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/atob/-/atob-1.1.3.tgz#95f13629b12c3a51a5d215abdce2aa9f32f80773"
-
-autoprefixer@^6.0.0, autoprefixer@^6.0.2, autoprefixer@^6.3.1:
-  version "6.7.7"
-  resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014"
-  dependencies:
-    browserslist "^1.7.6"
-    caniuse-db "^1.0.30000634"
-    normalize-range "^0.1.2"
-    num2fraction "^1.2.2"
-    postcss "^5.2.16"
-    postcss-value-parser "^3.2.3"
-
-aws-sign2@~0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f"
-
-aws-sign2@~0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
-
-aws4@^1.2.1, aws4@^1.6.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e"
-
-babel-code-frame@^6.16.0, babel-code-frame@^6.26.0:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
-  dependencies:
-    chalk "^1.1.3"
-    esutils "^2.0.2"
-    js-tokens "^3.0.2"
-
-babel-core@^6.24.1, babel-core@^6.26.0, babel-core@^6.5.2:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8"
-  dependencies:
-    babel-code-frame "^6.26.0"
-    babel-generator "^6.26.0"
-    babel-helpers "^6.24.1"
-    babel-messages "^6.23.0"
-    babel-register "^6.26.0"
-    babel-runtime "^6.26.0"
-    babel-template "^6.26.0"
-    babel-traverse "^6.26.0"
-    babel-types "^6.26.0"
-    babylon "^6.18.0"
-    convert-source-map "^1.5.0"
-    debug "^2.6.8"
-    json5 "^0.5.1"
-    lodash "^4.17.4"
-    minimatch "^3.0.4"
-    path-is-absolute "^1.0.1"
-    private "^0.1.7"
-    slash "^1.0.0"
-    source-map "^0.5.6"
-
-babel-generator@^6.18.0, babel-generator@^6.26.0:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5"
-  dependencies:
-    babel-messages "^6.23.0"
-    babel-runtime "^6.26.0"
-    babel-types "^6.26.0"
-    detect-indent "^4.0.0"
-    jsesc "^1.3.0"
-    lodash "^4.17.4"
-    source-map "^0.5.6"
-    trim-right "^1.0.1"
-
-babel-helper-bindify-decorators@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-helper-builder-binary-assignment-operator-visitor@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664"
-  dependencies:
-    babel-helper-explode-assignable-expression "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-
-babel-helper-call-delegate@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d"
-  dependencies:
-    babel-helper-hoist-variables "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-helper-define-map@^6.24.1:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f"
-  dependencies:
-    babel-helper-function-name "^6.24.1"
-    babel-runtime "^6.26.0"
-    babel-types "^6.26.0"
-    lodash "^4.17.4"
-
-babel-helper-explode-assignable-expression@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-helper-explode-class@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb"
-  dependencies:
-    babel-helper-bindify-decorators "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-helper-function-name@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9"
-  dependencies:
-    babel-helper-get-function-arity "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-helper-get-function-arity@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-
-babel-helper-hoist-variables@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-
-babel-helper-optimise-call-expression@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-
-babel-helper-regex@^6.24.1:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72"
-  dependencies:
-    babel-runtime "^6.26.0"
-    babel-types "^6.26.0"
-    lodash "^4.17.4"
-
-babel-helper-remap-async-to-generator@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b"
-  dependencies:
-    babel-helper-function-name "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-helper-replace-supers@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a"
-  dependencies:
-    babel-helper-optimise-call-expression "^6.24.1"
-    babel-messages "^6.23.0"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-helpers@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-
-babel-loader@^6.2.2:
-  version "6.4.1"
-  resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.1.tgz#0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca"
-  dependencies:
-    find-cache-dir "^0.1.1"
-    loader-utils "^0.2.16"
-    mkdirp "^0.5.1"
-    object-assign "^4.0.1"
-
-babel-messages@^6.23.0:
-  version "6.23.0"
-  resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-check-es2015-constants@^6.22.0:
-  version "6.22.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-syntax-async-functions@^6.8.0:
-  version "6.13.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95"
-
-babel-plugin-syntax-async-generators@^6.5.0:
-  version "6.13.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a"
-
-babel-plugin-syntax-class-properties@^6.8.0:
-  version "6.13.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de"
-
-babel-plugin-syntax-decorators@^6.13.0:
-  version "6.13.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b"
-
-babel-plugin-syntax-dynamic-import@^6.18.0:
-  version "6.18.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da"
-
-babel-plugin-syntax-exponentiation-operator@^6.8.0:
-  version "6.13.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de"
-
-babel-plugin-syntax-object-rest-spread@^6.8.0:
-  version "6.13.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
-
-babel-plugin-syntax-trailing-function-commas@^6.22.0:
-  version "6.22.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3"
-
-babel-plugin-transform-amd-system-wrapper@^0.3.7:
-  version "0.3.7"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-amd-system-wrapper/-/babel-plugin-transform-amd-system-wrapper-0.3.7.tgz#521c782d35644491c979ea683e8a5e1caff0ba42"
-  dependencies:
-    babel-template "^6.9.0"
-
-babel-plugin-transform-async-generator-functions@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db"
-  dependencies:
-    babel-helper-remap-async-to-generator "^6.24.1"
-    babel-plugin-syntax-async-generators "^6.5.0"
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-async-to-generator@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761"
-  dependencies:
-    babel-helper-remap-async-to-generator "^6.24.1"
-    babel-plugin-syntax-async-functions "^6.8.0"
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-cjs-system-wrapper@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-cjs-system-wrapper/-/babel-plugin-transform-cjs-system-wrapper-0.6.2.tgz#bd7494775289424ff493b6ed455de495bd71ba1d"
-  dependencies:
-    babel-template "^6.9.0"
-
-babel-plugin-transform-class-properties@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac"
-  dependencies:
-    babel-helper-function-name "^6.24.1"
-    babel-plugin-syntax-class-properties "^6.8.0"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-
-babel-plugin-transform-decorators@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d"
-  dependencies:
-    babel-helper-explode-class "^6.24.1"
-    babel-plugin-syntax-decorators "^6.13.0"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-arrow-functions@^6.22.0:
-  version "6.22.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-block-scoped-functions@^6.22.0:
-  version "6.22.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-block-scoping@^6.24.1:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f"
-  dependencies:
-    babel-runtime "^6.26.0"
-    babel-template "^6.26.0"
-    babel-traverse "^6.26.0"
-    babel-types "^6.26.0"
-    lodash "^4.17.4"
-
-babel-plugin-transform-es2015-classes@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db"
-  dependencies:
-    babel-helper-define-map "^6.24.1"
-    babel-helper-function-name "^6.24.1"
-    babel-helper-optimise-call-expression "^6.24.1"
-    babel-helper-replace-supers "^6.24.1"
-    babel-messages "^6.23.0"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-computed-properties@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-destructuring@^6.22.0:
-  version "6.23.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-duplicate-keys@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-for-of@^6.22.0:
-  version "6.23.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-function-name@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b"
-  dependencies:
-    babel-helper-function-name "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-literals@^6.22.0:
-  version "6.22.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-modules-amd@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154"
-  dependencies:
-    babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-modules-commonjs@^6.24.1:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a"
-  dependencies:
-    babel-plugin-transform-strict-mode "^6.24.1"
-    babel-runtime "^6.26.0"
-    babel-template "^6.26.0"
-    babel-types "^6.26.0"
-
-babel-plugin-transform-es2015-modules-systemjs@^6.24.1, babel-plugin-transform-es2015-modules-systemjs@^6.6.5:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23"
-  dependencies:
-    babel-helper-hoist-variables "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-modules-umd@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468"
-  dependencies:
-    babel-plugin-transform-es2015-modules-amd "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-
-babel-plugin-transform-es2015-object-super@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d"
-  dependencies:
-    babel-helper-replace-supers "^6.24.1"
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-parameters@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b"
-  dependencies:
-    babel-helper-call-delegate "^6.24.1"
-    babel-helper-get-function-arity "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-template "^6.24.1"
-    babel-traverse "^6.24.1"
-    babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-shorthand-properties@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-spread@^6.22.0:
-  version "6.22.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-sticky-regex@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc"
-  dependencies:
-    babel-helper-regex "^6.24.1"
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-
-babel-plugin-transform-es2015-template-literals@^6.22.0:
-  version "6.22.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-typeof-symbol@^6.22.0:
-  version "6.23.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372"
-  dependencies:
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-es2015-unicode-regex@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9"
-  dependencies:
-    babel-helper-regex "^6.24.1"
-    babel-runtime "^6.22.0"
-    regexpu-core "^2.0.0"
-
-babel-plugin-transform-exponentiation-operator@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e"
-  dependencies:
-    babel-helper-builder-binary-assignment-operator-visitor "^6.24.1"
-    babel-plugin-syntax-exponentiation-operator "^6.8.0"
-    babel-runtime "^6.22.0"
-
-babel-plugin-transform-global-system-wrapper@^0.3.4:
-  version "0.3.4"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-global-system-wrapper/-/babel-plugin-transform-global-system-wrapper-0.3.4.tgz#948dd7d29fc21447e39bd3447f2debc7f2f73aac"
-  dependencies:
-    babel-template "^6.9.0"
-
-babel-plugin-transform-object-rest-spread@^6.22.0:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06"
-  dependencies:
-    babel-plugin-syntax-object-rest-spread "^6.8.0"
-    babel-runtime "^6.26.0"
-
-babel-plugin-transform-regenerator@^6.24.1:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f"
-  dependencies:
-    regenerator-transform "^0.10.0"
-
-babel-plugin-transform-strict-mode@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
-  dependencies:
-    babel-runtime "^6.22.0"
-    babel-types "^6.24.1"
-
-babel-plugin-transform-system-register@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/babel-plugin-transform-system-register/-/babel-plugin-transform-system-register-0.0.1.tgz#9dff40390c2763ac518f0b2ad7c5ea4f65a5be25"
-
-babel-preset-es2015@^6.5.0:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939"
-  dependencies:
-    babel-plugin-check-es2015-constants "^6.22.0"
-    babel-plugin-transform-es2015-arrow-functions "^6.22.0"
-    babel-plugin-transform-es2015-block-scoped-functions "^6.22.0"
-    babel-plugin-transform-es2015-block-scoping "^6.24.1"
-    babel-plugin-transform-es2015-classes "^6.24.1"
-    babel-plugin-transform-es2015-computed-properties "^6.24.1"
-    babel-plugin-transform-es2015-destructuring "^6.22.0"
-    babel-plugin-transform-es2015-duplicate-keys "^6.24.1"
-    babel-plugin-transform-es2015-for-of "^6.22.0"
-    babel-plugin-transform-es2015-function-name "^6.24.1"
-    babel-plugin-transform-es2015-literals "^6.22.0"
-    babel-plugin-transform-es2015-modules-amd "^6.24.1"
-    babel-plugin-transform-es2015-modules-commonjs "^6.24.1"
-    babel-plugin-transform-es2015-modules-systemjs "^6.24.1"
-    babel-plugin-transform-es2015-modules-umd "^6.24.1"
-    babel-plugin-transform-es2015-object-super "^6.24.1"
-    babel-plugin-transform-es2015-parameters "^6.24.1"
-    babel-plugin-transform-es2015-shorthand-properties "^6.24.1"
-    babel-plugin-transform-es2015-spread "^6.22.0"
-    babel-plugin-transform-es2015-sticky-regex "^6.24.1"
-    babel-plugin-transform-es2015-template-literals "^6.22.0"
-    babel-plugin-transform-es2015-typeof-symbol "^6.22.0"
-    babel-plugin-transform-es2015-unicode-regex "^6.24.1"
-    babel-plugin-transform-regenerator "^6.24.1"
-
-babel-preset-stage-2@^6.11.0:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1"
-  dependencies:
-    babel-plugin-syntax-dynamic-import "^6.18.0"
-    babel-plugin-transform-class-properties "^6.24.1"
-    babel-plugin-transform-decorators "^6.24.1"
-    babel-preset-stage-3 "^6.24.1"
-
-babel-preset-stage-3@^6.24.1:
-  version "6.24.1"
-  resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395"
-  dependencies:
-    babel-plugin-syntax-trailing-function-commas "^6.22.0"
-    babel-plugin-transform-async-generator-functions "^6.24.1"
-    babel-plugin-transform-async-to-generator "^6.24.1"
-    babel-plugin-transform-exponentiation-operator "^6.24.1"
-    babel-plugin-transform-object-rest-spread "^6.22.0"
-
-babel-register@^6.26.0:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
-  dependencies:
-    babel-core "^6.26.0"
-    babel-runtime "^6.26.0"
-    core-js "^2.5.0"
-    home-or-tmp "^2.0.0"
-    lodash "^4.17.4"
-    mkdirp "^0.5.1"
-    source-map-support "^0.4.15"
-
-babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
-  dependencies:
-    core-js "^2.4.0"
-    regenerator-runtime "^0.11.0"
-
-babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0, babel-template@^6.9.0:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
-  dependencies:
-    babel-runtime "^6.26.0"
-    babel-traverse "^6.26.0"
-    babel-types "^6.26.0"
-    babylon "^6.18.0"
-    lodash "^4.17.4"
-
-babel-traverse@^6.18.0, babel-traverse@^6.24.1, babel-traverse@^6.26.0:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
-  dependencies:
-    babel-code-frame "^6.26.0"
-    babel-messages "^6.23.0"
-    babel-runtime "^6.26.0"
-    babel-types "^6.26.0"
-    babylon "^6.18.0"
-    debug "^2.6.8"
-    globals "^9.18.0"
-    invariant "^2.2.2"
-    lodash "^4.17.4"
-
-babel-types@^6.18.0, babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0:
-  version "6.26.0"
-  resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
-  dependencies:
-    babel-runtime "^6.26.0"
-    esutils "^2.0.2"
-    lodash "^4.17.4"
-    to-fast-properties "^1.0.3"
-
-babylon@^6.18.0:
-  version "6.18.0"
-  resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
-
-backo2@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947"
-
-balanced-match@0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.1.0.tgz#b504bd05869b39259dd0c5efc35d843176dccc4a"
-
-balanced-match@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.2.1.tgz#7bc658b4bed61eee424ad74f75f5c3e2c4df3cc7"
-
-balanced-match@^0.4.1, balanced-match@^0.4.2:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
-
-balanced-match@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
-
-base64-arraybuffer@0.1.5:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8"
-
-base64-js@^1.0.2:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886"
-
-base64id@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6"
-
-base@^0.11.1:
-  version "0.11.2"
-  resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
-  dependencies:
-    cache-base "^1.0.1"
-    class-utils "^0.3.5"
-    component-emitter "^1.2.1"
-    define-property "^1.0.0"
-    isobject "^3.0.1"
-    mixin-deep "^1.2.0"
-    pascalcase "^0.1.1"
-
-batch@0.5.3:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/batch/-/batch-0.5.3.tgz#3f3414f380321743bfc1042f9a83ff1d5824d464"
-
-bcrypt-pbkdf@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d"
-  dependencies:
-    tweetnacl "^0.14.3"
-
-beeper@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809"
-
-better-assert@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522"
-  dependencies:
-    callsite "1.0.0"
-
-big.js@^3.1.3:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
-
-bin-build@^2.0.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/bin-build/-/bin-build-2.2.0.tgz#11f8dd61f70ffcfa2bdcaa5b46f5e8fedd4221cc"
-  dependencies:
-    archive-type "^3.0.1"
-    decompress "^3.0.0"
-    download "^4.1.2"
-    exec-series "^1.0.0"
-    rimraf "^2.2.6"
-    tempfile "^1.0.0"
-    url-regex "^3.0.0"
-
-bin-check@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-2.0.0.tgz#86f8e6f4253893df60dc316957f5af02acb05930"
-  dependencies:
-    executable "^1.0.0"
-
-bin-version-check@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0"
-  dependencies:
-    bin-version "^1.0.0"
-    minimist "^1.1.0"
-    semver "^4.0.3"
-    semver-truncate "^1.0.0"
-
-bin-version@^1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e"
-  dependencies:
-    find-versions "^1.0.0"
-
-bin-wrapper@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/bin-wrapper/-/bin-wrapper-3.0.2.tgz#67d3306262e4b1a5f2f88ee23464f6a655677aeb"
-  dependencies:
-    bin-check "^2.0.0"
-    bin-version-check "^2.1.0"
-    download "^4.0.0"
-    each-async "^1.1.1"
-    lazy-req "^1.0.0"
-    os-filter-obj "^1.0.0"
-
-binary-extensions@^1.0.0:
-  version "1.11.0"
-  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205"
-
-bl@^1.0.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e"
-  dependencies:
-    readable-stream "^2.0.5"
-
-blob@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921"
-
-block-stream@*:
-  version "0.0.9"
-  resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a"
-  dependencies:
-    inherits "~2.0.0"
-
-bluebird@^3.0.5, bluebird@^3.3.4:
-  version "3.5.1"
-  resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
-
-boom@2.x.x:
-  version "2.10.1"
-  resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f"
-  dependencies:
-    hoek "2.x.x"
-
-boom@4.x.x:
-  version "4.3.1"
-  resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31"
-  dependencies:
-    hoek "4.x.x"
-
-boom@5.x.x:
-  version "5.2.0"
-  resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02"
-  dependencies:
-    hoek "4.x.x"
-
-bootstrap-sass@^3.3.7:
-  version "3.3.7"
-  resolved "https://registry.yarnpkg.com/bootstrap-sass/-/bootstrap-sass-3.3.7.tgz#6596c7ab40f6637393323ab0bc80d064fc630498"
-
-brace-expansion@^1.0.0, brace-expansion@^1.1.7:
-  version "1.1.8"
-  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292"
-  dependencies:
-    balanced-match "^1.0.0"
-    concat-map "0.0.1"
-
-braces@^1.8.2:
-  version "1.8.5"
-  resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
-  dependencies:
-    expand-range "^1.8.1"
-    preserve "^0.2.0"
-    repeat-element "^1.1.2"
-
-braces@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.0.tgz#a46941cb5fb492156b3d6a656e06c35364e3e66e"
-  dependencies:
-    arr-flatten "^1.1.0"
-    array-unique "^0.3.2"
-    define-property "^1.0.0"
-    extend-shallow "^2.0.1"
-    fill-range "^4.0.0"
-    isobject "^3.0.1"
-    repeat-element "^1.1.2"
-    snapdragon "^0.8.1"
-    snapdragon-node "^2.0.1"
-    split-string "^3.0.2"
-    to-regex "^3.0.1"
-
-browser-sync-ui@v1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-1.0.1.tgz#9740527b26d1d7ace259acc0c79e5b5e37d0fdf2"
-  dependencies:
-    async-each-series "0.1.1"
-    connect-history-api-fallback "^1.1.0"
-    immutable "^3.7.6"
-    server-destroy "1.0.1"
-    socket.io-client "2.0.4"
-    stream-throttle "^0.1.3"
-
-browser-sync@^2.8.0:
-  version "2.23.5"
-  resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.23.5.tgz#088bc5c3bb4dfc1507bad0278f140d8060fe4299"
-  dependencies:
-    browser-sync-ui v1.0.1
-    bs-recipes "1.3.4"
-    chokidar "1.7.0"
-    connect "3.5.0"
-    connect-history-api-fallback "^1.5.0"
-    dev-ip "^1.0.1"
-    easy-extender "2.3.2"
-    eazy-logger "3.0.2"
-    emitter-steward "^1.0.0"
-    etag "^1.8.1"
-    fresh "^0.5.2"
-    fs-extra "3.0.1"
-    http-proxy "1.15.2"
-    immutable "3.8.2"
-    localtunnel "1.8.3"
-    micromatch "2.3.11"
-    opn "4.0.2"
-    portscanner "2.1.1"
-    qs "6.2.1"
-    resp-modifier "6.0.2"
-    rx "4.1.0"
-    serve-index "1.8.0"
-    serve-static "1.12.2"
-    server-destroy "1.0.1"
-    socket.io "2.0.4"
-    ua-parser-js "0.7.12"
-    yargs "6.4.0"
-
-browserify-aes@0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-0.4.0.tgz#067149b668df31c4b58533e02d01e806d8608e2c"
-  dependencies:
-    inherits "^2.0.1"
-
-browserify-zlib@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d"
-  dependencies:
-    pako "~0.2.0"
-
-browserslist@^1.0.0, browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6:
-  version "1.7.7"
-  resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9"
-  dependencies:
-    caniuse-db "^1.0.30000639"
-    electron-to-chromium "^1.2.7"
-
-bs-recipes@1.3.4:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.4.tgz#0d2d4d48a718c8c044769fdc4f89592dc8b69585"
-
-bser@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719"
-  dependencies:
-    node-int64 "^0.4.0"
-
-buffer-crc32@~0.2.3:
-  version "0.2.13"
-  resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
-
-buffer-peek-stream@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/buffer-peek-stream/-/buffer-peek-stream-1.0.1.tgz#53b47570a1347787c5bad4ca2ca3021f9d8b3cfd"
-
-buffer-to-vinyl@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz#00f15faee3ab7a1dda2cde6d9121bffdd07b2262"
-  dependencies:
-    file-type "^3.1.0"
-    readable-stream "^2.0.2"
-    uuid "^2.0.1"
-    vinyl "^1.0.0"
-
-buffer@^4.9.0:
-  version "4.9.1"
-  resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298"
-  dependencies:
-    base64-js "^1.0.2"
-    ieee754 "^1.1.4"
-    isarray "^1.0.0"
-
-builtin-modules@^1.0.0, builtin-modules@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f"
-
-builtin-status-codes@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
-
-bytewise-core@^1.2.2:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/bytewise-core/-/bytewise-core-1.2.3.tgz#3fb410c7e91558eb1ab22a82834577aa6bd61d42"
-  dependencies:
-    typewise-core "^1.2"
-
-bytewise@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/bytewise/-/bytewise-1.1.0.tgz#1d13cbff717ae7158094aa881b35d081b387253e"
-  dependencies:
-    bytewise-core "^1.2.2"
-    typewise "^1.0.3"
-
-cache-base@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
-  dependencies:
-    collection-visit "^1.0.0"
-    component-emitter "^1.2.1"
-    get-value "^2.0.6"
-    has-value "^1.0.0"
-    isobject "^3.0.1"
-    set-value "^2.0.0"
-    to-object-path "^0.3.0"
-    union-value "^1.0.0"
-    unset-value "^1.0.0"
-
-caller-path@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
-  dependencies:
-    callsites "^0.2.0"
-
-callsite@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20"
-
-callsites@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
-
-camel-case@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
-  dependencies:
-    no-case "^2.2.0"
-    upper-case "^1.1.1"
-
-camelcase-keys@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7"
-  dependencies:
-    camelcase "^2.0.0"
-    map-obj "^1.0.0"
-
-camelcase@^1.0.2, camelcase@^1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39"
-
-camelcase@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f"
-
-camelcase@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a"
-
-caniuse-api@^1.5.2, caniuse-api@^1.5.3:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c"
-  dependencies:
-    browserslist "^1.3.6"
-    caniuse-db "^1.0.30000529"
-    lodash.memoize "^4.1.2"
-    lodash.uniq "^4.5.0"
-
-caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639:
-  version "1.0.30000789"
-  resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000789.tgz#5cf3fec75480041ab162ca06413153141e234325"
-
-capture-stack-trace@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d"
-
-caseless@~0.12.0:
-  version "0.12.0"
-  resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
-
-caw@^1.0.1:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/caw/-/caw-1.2.0.tgz#ffb226fe7efc547288dc62ee3e97073c212d1034"
-  dependencies:
-    get-proxy "^1.0.1"
-    is-obj "^1.0.0"
-    object-assign "^3.0.0"
-    tunnel-agent "^0.4.0"
-
-center-align@^0.1.1:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad"
-  dependencies:
-    align-text "^0.1.3"
-    lazy-cache "^1.0.3"
-
-chalk@*, chalk@^2.1.0, chalk@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
-  dependencies:
-    ansi-styles "^3.1.0"
-    escape-string-regexp "^1.0.5"
-    supports-color "^4.0.0"
-
-chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
-  dependencies:
-    ansi-styles "^2.2.1"
-    escape-string-regexp "^1.0.2"
-    has-ansi "^2.0.0"
-    strip-ansi "^3.0.0"
-    supports-color "^2.0.0"
-
-change-case@3.0.x:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.1.tgz#ee5f5ad0415ad1ad9e8072cf49cd4cfa7660a554"
-  dependencies:
-    camel-case "^3.0.0"
-    constant-case "^2.0.0"
-    dot-case "^2.1.0"
-    header-case "^1.0.0"
-    is-lower-case "^1.1.0"
-    is-upper-case "^1.1.0"
-    lower-case "^1.1.1"
-    lower-case-first "^1.0.0"
-    no-case "^2.2.0"
-    param-case "^2.1.0"
-    pascal-case "^2.0.0"
-    path-case "^2.1.0"
-    sentence-case "^2.1.0"
-    snake-case "^2.1.0"
-    swap-case "^1.1.0"
-    title-case "^2.1.0"
-    upper-case "^1.1.1"
-    upper-case-first "^1.1.0"
-
-chokidar@1.7.0, chokidar@^1.0.0:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468"
-  dependencies:
-    anymatch "^1.3.0"
-    async-each "^1.0.0"
-    glob-parent "^2.0.0"
-    inherits "^2.0.1"
-    is-binary-path "^1.0.0"
-    is-glob "^2.0.0"
-    path-is-absolute "^1.0.0"
-    readdirp "^2.0.0"
-  optionalDependencies:
-    fsevents "^1.0.0"
-
-chownr@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181"
-
-circular-json@^0.3.1:
-  version "0.3.3"
-  resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
-
-clap@^1.0.9:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51"
-  dependencies:
-    chalk "^1.1.3"
-
-class-utils@^0.3.5:
-  version "0.3.5"
-  resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.5.tgz#17e793103750f9627b2176ea34cfd1b565903c80"
-  dependencies:
-    arr-union "^3.1.0"
-    define-property "^0.2.5"
-    isobject "^3.0.0"
-    lazy-cache "^2.0.2"
-    static-extend "^0.1.1"
-
-clean-css@3.4.x:
-  version "3.4.28"
-  resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.28.tgz#bf1945e82fc808f55695e6ddeaec01400efd03ff"
-  dependencies:
-    commander "2.8.x"
-    source-map "0.4.x"
-
-cli-cursor@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-1.0.2.tgz#64da3f7d56a54412e59794bd62dc35295e8f2987"
-  dependencies:
-    restore-cursor "^1.0.1"
-
-cli-width@^2.0.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
-
-cliui@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
-  dependencies:
-    center-align "^0.1.1"
-    right-align "^0.1.1"
-    wordwrap "0.0.2"
-
-cliui@^3.0.3, cliui@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d"
-  dependencies:
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-    wrap-ansi "^2.0.0"
-
-clone-stats@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1"
-
-clone@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f"
-
-clone@^1.0.0, clone@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.3.tgz#298d7e2231660f40c003c2ed3140decf3f53085f"
-
-co@3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78"
-
-co@^4.6.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
-
-coa@~1.0.1:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd"
-  dependencies:
-    q "^1.1.2"
-
-code-point-at@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
-
-coffee-script@^1.12.4:
-  version "1.12.7"
-  resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.12.7.tgz#c05dae0cb79591d05b3070a8433a98c9a89ccc53"
-
-collection-visit@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
-  dependencies:
-    map-visit "^1.0.0"
-    object-visit "^1.0.0"
-
-color-convert@^0.5.3:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-0.5.3.tgz#bdb6c69ce660fadffe0b0007cc447e1b9f7282bd"
-
-color-convert@^1.3.0, color-convert@^1.9.0:
-  version "1.9.1"
-  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed"
-  dependencies:
-    color-name "^1.1.1"
-
-color-name@^1.0.0, color-name@^1.1.1:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
-
-color-string@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991"
-  dependencies:
-    color-name "^1.0.0"
-
-color-support@^1.1.3:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
-
-color@^0.10.1:
-  version "0.10.1"
-  resolved "https://registry.yarnpkg.com/color/-/color-0.10.1.tgz#c04188df82a209ddebccecdacd3ec320f193739f"
-  dependencies:
-    color-convert "^0.5.3"
-    color-string "^0.3.0"
-
-color@^0.11.0, color@^0.11.3, color@^0.11.4:
-  version "0.11.4"
-  resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764"
-  dependencies:
-    clone "^1.0.2"
-    color-convert "^1.3.0"
-    color-string "^0.3.0"
-
-colormin@^1.0.5:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133"
-  dependencies:
-    color "^0.11.0"
-    css-color-names "0.0.4"
-    has "^1.0.1"
-
-colors@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63"
-
-combined-stream@^1.0.5, combined-stream@~1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009"
-  dependencies:
-    delayed-stream "~1.0.0"
-
-commander@2.8.x, commander@~2.8.1:
-  version "2.8.1"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4"
-  dependencies:
-    graceful-readlink ">= 1.0.0"
-
-commander@2.9.x:
-  version "2.9.0"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4"
-  dependencies:
-    graceful-readlink ">= 1.0.0"
-
-commander@^2.2.0, commander@^2.9.0:
-  version "2.12.2"
-  resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555"
-
-commondir@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
-
-component-bind@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1"
-
-component-emitter@1.2.1, component-emitter@^1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6"
-
-component-inherit@0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143"
-
-concat-map@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
-
-concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.5.2:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7"
-  dependencies:
-    inherits "^2.0.3"
-    readable-stream "^2.2.2"
-    typedarray "^0.0.6"
-
-config-chain@~1.1.5:
-  version "1.1.11"
-  resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.11.tgz#aba09747dfbe4c3e70e766a6e41586e1859fc6f2"
-  dependencies:
-    ini "^1.3.4"
-    proto-list "~1.2.1"
-
-connect-history-api-fallback@^1.1.0, connect-history-api-fallback@^1.5.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a"
-
-connect@3.5.0:
-  version "3.5.0"
-  resolved "https://registry.yarnpkg.com/connect/-/connect-3.5.0.tgz#b357525a0b4c1f50599cd983e1d9efeea9677198"
-  dependencies:
-    debug "~2.2.0"
-    finalhandler "0.5.0"
-    parseurl "~1.3.1"
-    utils-merge "1.0.0"
-
-console-browserify@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
-  dependencies:
-    date-now "^0.1.4"
-
-console-control-strings@^1.0.0, console-control-strings@~1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
-
-console-stream@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/console-stream/-/console-stream-0.1.1.tgz#a095fe07b20465955f2fafd28b5d72bccd949d44"
-
-constant-case@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46"
-  dependencies:
-    snake-case "^2.1.0"
-    upper-case "^1.1.1"
-
-constants-browserify@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
-
-contains-path@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a"
-
-convert-source-map@1.X, convert-source-map@^1.1.1, convert-source-map@^1.3.0, convert-source-map@^1.5.0:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5"
-
-cookie@0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb"
-
-copy-descriptor@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
-
-core-js@^1.2.6:
-  version "1.2.7"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636"
-
-core-js@^2.4.0, core-js@^2.5.0:
-  version "2.5.3"
-  resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e"
-
-core-util-is@1.0.2, core-util-is@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
-
-cosmiconfig@^2.1.0, cosmiconfig@^2.1.1:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892"
-  dependencies:
-    is-directory "^0.3.1"
-    js-yaml "^3.4.3"
-    minimist "^1.2.0"
-    object-assign "^4.1.0"
-    os-homedir "^1.0.1"
-    parse-json "^2.2.0"
-    require-from-string "^1.1.0"
-
-create-error-class@^3.0.1:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6"
-  dependencies:
-    capture-stack-trace "^1.0.0"
-
-cross-spawn@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982"
-  dependencies:
-    lru-cache "^4.0.1"
-    which "^1.2.9"
-
-cross-spawn@^5.0.1:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
-  dependencies:
-    lru-cache "^4.0.1"
-    shebang-command "^1.2.0"
-    which "^1.2.9"
-
-cryptiles@2.x.x:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8"
-  dependencies:
-    boom "2.x.x"
-
-cryptiles@3.x.x:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe"
-  dependencies:
-    boom "5.x.x"
-
-crypto-browserify@3.3.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.3.0.tgz#b9fc75bb4a0ed61dcf1cd5dae96eb30c9c3e506c"
-  dependencies:
-    browserify-aes "0.4.0"
-    pbkdf2-compat "2.0.1"
-    ripemd160 "0.2.0"
-    sha.js "2.2.6"
-
-css-color-function@^1.2.0:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/css-color-function/-/css-color-function-1.3.3.tgz#8ed24c2c0205073339fafa004bc8c141fccb282e"
-  dependencies:
-    balanced-match "0.1.0"
-    color "^0.11.0"
-    debug "^3.1.0"
-    rgb "~0.1.0"
-
-css-color-names@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
-
-css@2.X:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/css/-/css-2.2.1.tgz#73a4c81de85db664d4ee674f7d47085e3b2d55dc"
-  dependencies:
-    inherits "^2.0.1"
-    source-map "^0.1.38"
-    source-map-resolve "^0.3.0"
-    urix "^0.1.0"
-
-cssnano@^3.0.0:
-  version "3.10.0"
-  resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38"
-  dependencies:
-    autoprefixer "^6.3.1"
-    decamelize "^1.1.2"
-    defined "^1.0.0"
-    has "^1.0.1"
-    object-assign "^4.0.1"
-    postcss "^5.0.14"
-    postcss-calc "^5.2.0"
-    postcss-colormin "^2.1.8"
-    postcss-convert-values "^2.3.4"
-    postcss-discard-comments "^2.0.4"
-    postcss-discard-duplicates "^2.0.1"
-    postcss-discard-empty "^2.0.1"
-    postcss-discard-overridden "^0.1.1"
-    postcss-discard-unused "^2.2.1"
-    postcss-filter-plugins "^2.0.0"
-    postcss-merge-idents "^2.1.5"
-    postcss-merge-longhand "^2.0.1"
-    postcss-merge-rules "^2.0.3"
-    postcss-minify-font-values "^1.0.2"
-    postcss-minify-gradients "^1.0.1"
-    postcss-minify-params "^1.0.4"
-    postcss-minify-selectors "^2.0.4"
-    postcss-normalize-charset "^1.1.0"
-    postcss-normalize-url "^3.0.7"
-    postcss-ordered-values "^2.1.0"
-    postcss-reduce-idents "^2.2.2"
-    postcss-reduce-initial "^1.0.0"
-    postcss-reduce-transforms "^1.0.3"
-    postcss-svgo "^2.1.1"
-    postcss-unique-selectors "^2.0.2"
-    postcss-value-parser "^3.2.3"
-    postcss-zindex "^2.0.1"
-
-csso@~2.3.1:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85"
-  dependencies:
-    clap "^1.0.9"
-    source-map "^0.5.3"
-
-currently-unhandled@^0.4.1:
-  version "0.4.1"
-  resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea"
-  dependencies:
-    array-find-index "^1.0.1"
-
-d@1:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f"
-  dependencies:
-    es5-ext "^0.10.9"
-
-dashdash@^1.12.0:
-  version "1.14.1"
-  resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
-  dependencies:
-    assert-plus "^1.0.0"
-
-data-uri-to-buffer@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-0.0.4.tgz#46e13ab9da8e309745c8d01ce547213ebdb2fe3f"
-
-date-now@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
-
-dateformat@^2.0.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062"
-
-debug-fabulous@0.0.X:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/debug-fabulous/-/debug-fabulous-0.0.4.tgz#fa071c5d87484685424807421ca4b16b0b1a0763"
-  dependencies:
-    debug "2.X"
-    lazy-debug-legacy "0.0.X"
-    object-assign "4.1.0"
-
-debug@2.6.4:
-  version "2.6.4"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0"
-  dependencies:
-    ms "0.7.3"
-
-debug@2.6.8:
-  version "2.6.8"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc"
-  dependencies:
-    ms "2.0.0"
-
-debug@2.X, debug@^2.1.1, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9, debug@~2.6.4, debug@~2.6.6, debug@~2.6.9:
-  version "2.6.9"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
-  dependencies:
-    ms "2.0.0"
-
-debug@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
-  dependencies:
-    ms "2.0.0"
-
-debug@~2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da"
-  dependencies:
-    ms "0.7.1"
-
-decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
-
-decode-uri-component@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
-
-decompress-tar@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-3.1.0.tgz#217c789f9b94450efaadc5c5e537978fc333c466"
-  dependencies:
-    is-tar "^1.0.0"
-    object-assign "^2.0.0"
-    strip-dirs "^1.0.0"
-    tar-stream "^1.1.1"
-    through2 "^0.6.1"
-    vinyl "^0.4.3"
-
-decompress-tarbz2@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz#8b23935681355f9f189d87256a0f8bdd96d9666d"
-  dependencies:
-    is-bzip2 "^1.0.0"
-    object-assign "^2.0.0"
-    seek-bzip "^1.0.3"
-    strip-dirs "^1.0.0"
-    tar-stream "^1.1.1"
-    through2 "^0.6.1"
-    vinyl "^0.4.3"
-
-decompress-targz@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-3.1.0.tgz#b2c13df98166268991b715d6447f642e9696f5a0"
-  dependencies:
-    is-gzip "^1.0.0"
-    object-assign "^2.0.0"
-    strip-dirs "^1.0.0"
-    tar-stream "^1.1.1"
-    through2 "^0.6.1"
-    vinyl "^0.4.3"
-
-decompress-unzip@^3.0.0:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-3.4.0.tgz#61475b4152066bbe3fee12f9d629d15fe6478eeb"
-  dependencies:
-    is-zip "^1.0.0"
-    read-all-stream "^3.0.0"
-    stat-mode "^0.2.0"
-    strip-dirs "^1.0.0"
-    through2 "^2.0.0"
-    vinyl "^1.0.0"
-    yauzl "^2.2.1"
-
-decompress@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/decompress/-/decompress-3.0.0.tgz#af1dd50d06e3bfc432461d37de11b38c0d991bed"
-  dependencies:
-    buffer-to-vinyl "^1.0.0"
-    concat-stream "^1.4.6"
-    decompress-tar "^3.0.0"
-    decompress-tarbz2 "^3.0.0"
-    decompress-targz "^3.0.0"
-    decompress-unzip "^3.0.0"
-    stream-combiner2 "^1.1.1"
-    vinyl-assign "^1.0.1"
-    vinyl-fs "^2.2.0"
-
-deep-extend@~0.4.0:
-  version "0.4.2"
-  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f"
-
-deep-is@~0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
-
-defaults@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d"
-  dependencies:
-    clone "^1.0.2"
-
-define-property@^0.2.5:
-  version "0.2.5"
-  resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
-  dependencies:
-    is-descriptor "^0.1.0"
-
-define-property@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
-  dependencies:
-    is-descriptor "^1.0.0"
-
-defined@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693"
-
-del@^2.0.2, del@^2.2.0:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8"
-  dependencies:
-    globby "^5.0.0"
-    is-path-cwd "^1.0.0"
-    is-path-in-cwd "^1.0.0"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-    rimraf "^2.2.8"
-
-delayed-stream@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
-
-delegates@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
-
-depd@1.1.1, depd@~1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359"
-
-deprecated@^0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/deprecated/-/deprecated-0.0.1.tgz#f9c9af5464afa1e7a971458a8bdef2aa94d5bb19"
-
-destroy@~1.0.4:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
-
-detect-file@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
-
-detect-indent@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
-  dependencies:
-    repeating "^2.0.0"
-
-detect-libc@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
-
-detect-newline@2.X:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
-
-dev-ip@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0"
-
-doctrine@1.5.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa"
-  dependencies:
-    esutils "^2.0.2"
-    isarray "^1.0.0"
-
-doctrine@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
-  dependencies:
-    esutils "^2.0.2"
-
-domain-browser@^1.1.1:
-  version "1.1.7"
-  resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc"
-
-dot-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee"
-  dependencies:
-    no-case "^2.2.0"
-
-download@^4.0.0, download@^4.1.2:
-  version "4.4.3"
-  resolved "https://registry.yarnpkg.com/download/-/download-4.4.3.tgz#aa55fdad392d95d4b68e8c2be03e0c2aa21ba9ac"
-  dependencies:
-    caw "^1.0.1"
-    concat-stream "^1.4.7"
-    each-async "^1.0.0"
-    filenamify "^1.0.1"
-    got "^5.0.0"
-    gulp-decompress "^1.2.0"
-    gulp-rename "^1.2.0"
-    is-url "^1.2.0"
-    object-assign "^4.0.1"
-    read-all-stream "^3.0.0"
-    readable-stream "^2.0.2"
-    stream-combiner2 "^1.1.1"
-    vinyl "^1.0.0"
-    vinyl-fs "^2.2.0"
-    ware "^1.2.0"
-
-duplexer2@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db"
-  dependencies:
-    readable-stream "~1.1.9"
-
-duplexer2@^0.1.4, duplexer2@~0.1.0:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1"
-  dependencies:
-    readable-stream "^2.0.2"
-
-duplexify@^3.2.0, duplexify@^3.5.0:
-  version "3.5.1"
-  resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.5.1.tgz#4e1516be68838bc90a49994f0b39a6e5960befcd"
-  dependencies:
-    end-of-stream "^1.0.0"
-    inherits "^2.0.1"
-    readable-stream "^2.0.0"
-    stream-shift "^1.0.0"
-
-each-async@^1.0.0, each-async@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473"
-  dependencies:
-    onetime "^1.0.0"
-    set-immediate-shim "^1.0.0"
-
-easy-extender@2.3.2:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d"
-  dependencies:
-    lodash "^3.10.1"
-
-eazy-logger@3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc"
-  dependencies:
-    tfunk "^3.0.1"
-
-ecc-jsbn@~0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505"
-  dependencies:
-    jsbn "~0.1.0"
-
-editorconfig@^0.13.2:
-  version "0.13.3"
-  resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.13.3.tgz#e5219e587951d60958fd94ea9a9a008cdeff1b34"
-  dependencies:
-    bluebird "^3.0.5"
-    commander "^2.9.0"
-    lru-cache "^3.2.0"
-    semver "^5.1.0"
-    sigmund "^1.0.1"
-
-ee-first@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
-
-electron-releases@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/electron-releases/-/electron-releases-2.1.0.tgz#c5614bf811f176ce3c836e368a0625782341fd4e"
-
-electron-to-chromium@^1.2.7:
-  version "1.3.30"
-  resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.30.tgz#9666f532a64586651fc56a72513692e820d06a80"
-  dependencies:
-    electron-releases "^2.1.0"
-
-emitter-steward@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/emitter-steward/-/emitter-steward-1.0.0.tgz#f3411ade9758a7565df848b2da0cbbd1b46cbd64"
-
-emojis-list@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
-
-encodeurl@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20"
-
-end-of-stream@^1.0.0, end-of-stream@^1.1.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206"
-  dependencies:
-    once "^1.4.0"
-
-end-of-stream@~0.1.5:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-0.1.5.tgz#8e177206c3c80837d85632e8b9359dfe8b2f6eaf"
-  dependencies:
-    once "~1.3.0"
-
-engine.io-client@~3.1.0:
-  version "3.1.4"
-  resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.4.tgz#4fcf1370b47163bd2ce9be2733972430350d4ea1"
-  dependencies:
-    component-emitter "1.2.1"
-    component-inherit "0.0.3"
-    debug "~2.6.9"
-    engine.io-parser "~2.1.1"
-    has-cors "1.1.0"
-    indexof "0.0.1"
-    parseqs "0.0.5"
-    parseuri "0.0.5"
-    ws "~3.3.1"
-    xmlhttprequest-ssl "~1.5.4"
-    yeast "0.1.2"
-
-engine.io-parser@~2.1.0, engine.io-parser@~2.1.1:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.2.tgz#4c0f4cff79aaeecbbdcfdea66a823c6085409196"
-  dependencies:
-    after "0.8.2"
-    arraybuffer.slice "~0.0.7"
-    base64-arraybuffer "0.1.5"
-    blob "0.0.4"
-    has-binary2 "~1.0.2"
-
-engine.io@~3.1.0:
-  version "3.1.4"
-  resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.1.4.tgz#3d0211b70a552ce841ffc7da8627b301a9a4162e"
-  dependencies:
-    accepts "1.3.3"
-    base64id "1.0.0"
-    cookie "0.3.1"
-    debug "~2.6.9"
-    engine.io-parser "~2.1.0"
-    ws "~3.3.1"
-  optionalDependencies:
-    uws "~0.14.4"
-
-enhanced-resolve@~0.9.0:
-  version "0.9.1"
-  resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e"
-  dependencies:
-    graceful-fs "^4.1.2"
-    memory-fs "^0.2.0"
-    tapable "^0.1.8"
-
-entities@~1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0"
-
-err-code@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960"
-
-errno@^0.1.3:
-  version "0.1.6"
-  resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026"
-  dependencies:
-    prr "~1.0.1"
-
-error-ex@^1.2.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc"
-  dependencies:
-    is-arrayish "^0.2.1"
-
-es5-ext@^0.10.12, es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14:
-  version "0.10.37"
-  resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.37.tgz#0ee741d148b80069ba27d020393756af257defc3"
-  dependencies:
-    es6-iterator "~2.0.1"
-    es6-symbol "~3.1.1"
-
-es6-iterator@^2.0.1, es6-iterator@~2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7"
-  dependencies:
-    d "1"
-    es5-ext "^0.10.35"
-    es6-symbol "^3.1.1"
-
-es6-map@^0.1.3:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0"
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-    es6-iterator "~2.0.1"
-    es6-set "~0.1.5"
-    es6-symbol "~3.1.1"
-    event-emitter "~0.3.5"
-
-es6-set@~0.1.5:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1"
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-    es6-iterator "~2.0.1"
-    es6-symbol "3.1.1"
-    event-emitter "~0.3.5"
-
-es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77"
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-
-es6-template-strings@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/es6-template-strings/-/es6-template-strings-2.0.1.tgz#b166c6a62562f478bb7775f6ca96103a599b4b2c"
-  dependencies:
-    es5-ext "^0.10.12"
-    esniff "^1.1"
-
-es6-weak-map@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f"
-  dependencies:
-    d "1"
-    es5-ext "^0.10.14"
-    es6-iterator "^2.0.1"
-    es6-symbol "^3.1.1"
-
-escape-html@~1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
-
-escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
-
-escope@^3.6.0:
-  version "3.6.0"
-  resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3"
-  dependencies:
-    es6-map "^0.1.3"
-    es6-weak-map "^2.0.1"
-    esrecurse "^4.1.0"
-    estraverse "^4.1.1"
-
-eslint-config-airbnb-base@^11.1.3:
-  version "11.3.2"
-  resolved "https://registry.yarnpkg.com/eslint-config-airbnb-base/-/eslint-config-airbnb-base-11.3.2.tgz#8703b11abe3c88ac7ec2b745b7fdf52e00ae680a"
-  dependencies:
-    eslint-restricted-globals "^0.1.1"
-
-eslint-config-standard@^10.2.1:
-  version "10.2.1"
-  resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591"
-
-eslint-import-resolver-node@^0.3.1:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.2.tgz#58f15fb839b8d0576ca980413476aab2472db66a"
-  dependencies:
-    debug "^2.6.9"
-    resolve "^1.5.0"
-
-eslint-module-utils@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449"
-  dependencies:
-    debug "^2.6.8"
-    pkg-dir "^1.0.0"
-
-eslint-plugin-import@^2.2.0:
-  version "2.8.0"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz#fa1b6ef31fcb3c501c09859c1b86f1fc5b986894"
-  dependencies:
-    builtin-modules "^1.1.1"
-    contains-path "^0.1.0"
-    debug "^2.6.8"
-    doctrine "1.5.0"
-    eslint-import-resolver-node "^0.3.1"
-    eslint-module-utils "^2.1.1"
-    has "^1.0.1"
-    lodash.cond "^4.3.0"
-    minimatch "^3.0.3"
-    read-pkg-up "^2.0.0"
-
-eslint-plugin-node@^4.2.2:
-  version "4.2.3"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-4.2.3.tgz#c04390ab8dbcbb6887174023d6f3a72769e63b97"
-  dependencies:
-    ignore "^3.0.11"
-    minimatch "^3.0.2"
-    object-assign "^4.0.1"
-    resolve "^1.1.7"
-    semver "5.3.0"
-
-eslint-plugin-promise@^3.5.0:
-  version "3.6.0"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz#54b7658c8f454813dc2a870aff8152ec4969ba75"
-
-eslint-plugin-standard@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2"
-
-eslint-restricted-globals@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/eslint-restricted-globals/-/eslint-restricted-globals-0.1.1.tgz#35f0d5cbc64c2e3ed62e93b4b1a7af05ba7ed4d7"
-
-eslint@3.19.0:
-  version "3.19.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-3.19.0.tgz#c8fc6201c7f40dd08941b87c085767386a679acc"
-  dependencies:
-    babel-code-frame "^6.16.0"
-    chalk "^1.1.3"
-    concat-stream "^1.5.2"
-    debug "^2.1.1"
-    doctrine "^2.0.0"
-    escope "^3.6.0"
-    espree "^3.4.0"
-    esquery "^1.0.0"
-    estraverse "^4.2.0"
-    esutils "^2.0.2"
-    file-entry-cache "^2.0.0"
-    glob "^7.0.3"
-    globals "^9.14.0"
-    ignore "^3.2.0"
-    imurmurhash "^0.1.4"
-    inquirer "^0.12.0"
-    is-my-json-valid "^2.10.0"
-    is-resolvable "^1.0.0"
-    js-yaml "^3.5.1"
-    json-stable-stringify "^1.0.0"
-    levn "^0.3.0"
-    lodash "^4.0.0"
-    mkdirp "^0.5.0"
-    natural-compare "^1.4.0"
-    optionator "^0.8.2"
-    path-is-inside "^1.0.1"
-    pluralize "^1.2.1"
-    progress "^1.1.8"
-    require-uncached "^1.0.2"
-    shelljs "^0.7.5"
-    strip-bom "^3.0.0"
-    strip-json-comments "~2.0.1"
-    table "^3.7.8"
-    text-table "~0.2.0"
-    user-home "^2.0.0"
-
-esniff@^1.1:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/esniff/-/esniff-1.1.0.tgz#c66849229f91464dede2e0d40201ed6abf65f2ac"
-  dependencies:
-    d "1"
-    es5-ext "^0.10.12"
-
-espree@^3.4.0:
-  version "3.5.2"
-  resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca"
-  dependencies:
-    acorn "^5.2.1"
-    acorn-jsx "^3.0.0"
-
-esprima@^2.6.0:
-  version "2.7.3"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581"
-
-esprima@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804"
-
-esquery@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa"
-  dependencies:
-    estraverse "^4.0.0"
-
-esrecurse@^4.1.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163"
-  dependencies:
-    estraverse "^4.1.0"
-    object-assign "^4.0.1"
-
-estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
-
-esutils@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b"
-
-etag@^1.8.1, etag@~1.8.0:
-  version "1.8.1"
-  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
-
-event-emitter@~0.3.5:
-  version "0.3.5"
-  resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39"
-  dependencies:
-    d "1"
-    es5-ext "~0.10.14"
-
-eventemitter3@1.x.x:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508"
-
-events@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924"
-
-exec-buffer@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/exec-buffer/-/exec-buffer-3.2.0.tgz#b1686dbd904c7cf982e652c1f5a79b1e5573082b"
-  dependencies:
-    execa "^0.7.0"
-    p-finally "^1.0.0"
-    pify "^3.0.0"
-    rimraf "^2.5.4"
-    tempfile "^2.0.0"
-
-exec-series@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/exec-series/-/exec-series-1.0.3.tgz#6d257a9beac482a872c7783bc8615839fc77143a"
-  dependencies:
-    async-each-series "^1.1.0"
-    object-assign "^4.1.0"
-
-exec-sh@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.2.1.tgz#163b98a6e89e6b65b47c2a28d215bc1f63989c38"
-  dependencies:
-    merge "^1.1.3"
-
-execa@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777"
-  dependencies:
-    cross-spawn "^5.0.1"
-    get-stream "^3.0.0"
-    is-stream "^1.1.0"
-    npm-run-path "^2.0.0"
-    p-finally "^1.0.0"
-    signal-exit "^3.0.0"
-    strip-eof "^1.0.0"
-
-executable@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/executable/-/executable-1.1.0.tgz#877980e9112f3391066da37265de7ad8434ab4d9"
-  dependencies:
-    meow "^3.1.0"
-
-exit-hook@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/exit-hook/-/exit-hook-1.1.1.tgz#f05ca233b48c05d54fff07765df8507e95c02ff8"
-
-expand-brackets@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
-  dependencies:
-    is-posix-bracket "^0.1.0"
-
-expand-brackets@^2.1.4:
-  version "2.1.4"
-  resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
-  dependencies:
-    debug "^2.3.3"
-    define-property "^0.2.5"
-    extend-shallow "^2.0.1"
-    posix-character-classes "^0.1.0"
-    regex-not "^1.0.0"
-    snapdragon "^0.8.1"
-    to-regex "^3.0.1"
-
-expand-range@^1.8.1:
-  version "1.8.2"
-  resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
-  dependencies:
-    fill-range "^2.1.0"
-
-expand-tilde@^1.2.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449"
-  dependencies:
-    os-homedir "^1.0.1"
-
-expand-tilde@^2.0.0, expand-tilde@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
-  dependencies:
-    homedir-polyfill "^1.0.1"
-
-extend-shallow@^1.1.2:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071"
-  dependencies:
-    kind-of "^1.1.0"
-
-extend-shallow@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
-  dependencies:
-    is-extendable "^0.1.0"
-
-extend-shallow@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
-  dependencies:
-    assign-symbols "^1.0.0"
-    is-extendable "^1.0.1"
-
-extend@^3.0.0, extend@~3.0.0, extend@~3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444"
-
-extglob@^0.3.1:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
-  dependencies:
-    is-extglob "^1.0.0"
-
-extglob@^2.0.2:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.3.tgz#55e019d0c95bf873949c737b7e5172dba84ebb29"
-  dependencies:
-    array-unique "^0.3.2"
-    define-property "^1.0.0"
-    expand-brackets "^2.1.4"
-    extend-shallow "^2.0.1"
-    fragment-cache "^0.2.1"
-    regex-not "^1.0.0"
-    snapdragon "^0.8.1"
-    to-regex "^3.0.1"
-
-extsprintf@1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
-
-extsprintf@^1.2.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f"
-
-fabricator-assemble@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/fabricator-assemble/-/fabricator-assemble-1.2.0.tgz#38bd7a065923583ee2ec71208d921b325c830aaa"
-  dependencies:
-    chalk "^1.1.3"
-    globby "^5.0.0"
-    gray-matter "^2.0.2"
-    handlebars "^4.0.5"
-    html-minifier "^2.1.7"
-    i "^0.3.5"
-    js-beautify "^1.6.3"
-    js-yaml "^3.6.1"
-    lodash "^4.13.1"
-    markdown-it "^7.0.0"
-    mkdirp "^0.5.1"
-    sort-object "^3.0.2"
-
-fancy-log@^1.1.0, fancy-log@^1.3.2:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1"
-  dependencies:
-    ansi-gray "^0.1.1"
-    color-support "^1.1.3"
-    time-stamp "^1.0.0"
-
-fast-deep-equal@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff"
-
-fast-json-stable-stringify@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
-
-fast-levenshtein@~2.0.4:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
-
-fastparse@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/fastparse/-/fastparse-1.1.1.tgz#d1e2643b38a94d7583b479060e6c4affc94071f8"
-
-fb-watchman@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58"
-  dependencies:
-    bser "^2.0.0"
-
-fd-slicer@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65"
-  dependencies:
-    pend "~1.2.0"
-
-figures@^1.3.5:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
-  dependencies:
-    escape-string-regexp "^1.0.5"
-    object-assign "^4.1.0"
-
-file-entry-cache@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
-  dependencies:
-    flat-cache "^1.2.1"
-    object-assign "^4.0.1"
-
-file-type@^3.1.0:
-  version "3.9.0"
-  resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9"
-
-file-type@^4.1.0:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/file-type/-/file-type-4.4.0.tgz#1b600e5fca1fbdc6e80c0a70c71c8dba5f7906c5"
-
-file@^0.2.2:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/file/-/file-0.2.2.tgz#c3dfd8f8cf3535ae455c2b423c2e52635d76b4d3"
-
-filename-regex@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
-
-filename-reserved-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4"
-
-filenamify@^1.0.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5"
-  dependencies:
-    filename-reserved-regex "^1.0.0"
-    strip-outer "^1.0.0"
-    trim-repeated "^1.0.0"
-
-fill-range@^2.1.0:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723"
-  dependencies:
-    is-number "^2.1.0"
-    isobject "^2.0.0"
-    randomatic "^1.1.3"
-    repeat-element "^1.1.2"
-    repeat-string "^1.5.2"
-
-fill-range@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
-  dependencies:
-    extend-shallow "^2.0.1"
-    is-number "^3.0.0"
-    repeat-string "^1.6.1"
-    to-regex-range "^2.1.0"
-
-finalhandler@0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.5.0.tgz#e9508abece9b6dba871a6942a1d7911b91911ac7"
-  dependencies:
-    debug "~2.2.0"
-    escape-html "~1.0.3"
-    on-finished "~2.3.0"
-    statuses "~1.3.0"
-    unpipe "~1.0.0"
-
-find-cache-dir@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
-  dependencies:
-    commondir "^1.0.1"
-    mkdirp "^0.5.1"
-    pkg-dir "^1.0.0"
-
-find-index@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4"
-
-find-up@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
-  dependencies:
-    path-exists "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-find-up@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
-  dependencies:
-    locate-path "^2.0.0"
-
-find-versions@^1.0.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62"
-  dependencies:
-    array-uniq "^1.0.0"
-    get-stdin "^4.0.1"
-    meow "^3.5.0"
-    semver-regex "^1.0.0"
-
-findup-sync@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
-  dependencies:
-    detect-file "^1.0.0"
-    is-glob "^3.1.0"
-    micromatch "^3.0.4"
-    resolve-dir "^1.0.1"
-
-fined@^1.0.1:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476"
-  dependencies:
-    expand-tilde "^2.0.2"
-    is-plain-object "^2.0.3"
-    object.defaults "^1.1.0"
-    object.pick "^1.2.0"
-    parse-filepath "^1.0.1"
-
-first-chunk-stream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e"
-
-flagged-respawn@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7"
-
-flat-cache@^1.2.1:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481"
-  dependencies:
-    circular-json "^0.3.1"
-    del "^2.0.2"
-    graceful-fs "^4.1.2"
-    write "^0.2.1"
-
-flatten@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782"
-
-for-in@^1.0.1, for-in@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
-
-for-own@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
-  dependencies:
-    for-in "^1.0.1"
-
-for-own@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
-  dependencies:
-    for-in "^1.0.1"
-
-forever-agent@~0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
-
-fork-stream@^0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz#db849fce77f6708a5f8f386ae533a0907b54ae70"
-
-form-data@~2.1.1:
-  version "2.1.4"
-  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1"
-  dependencies:
-    asynckit "^0.4.0"
-    combined-stream "^1.0.5"
-    mime-types "^2.1.12"
-
-form-data@~2.3.1:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf"
-  dependencies:
-    asynckit "^0.4.0"
-    combined-stream "^1.0.5"
-    mime-types "^2.1.12"
-
-fotorama@^4.6.4:
-  version "4.6.4"
-  resolved "https://registry.yarnpkg.com/fotorama/-/fotorama-4.6.4.tgz#7376961b6c7eeccb6c76411aceba7795ffe22eae"
-  dependencies:
-    jquery ">=1.8"
-
-fragment-cache@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
-  dependencies:
-    map-cache "^0.2.2"
-
-fresh@0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e"
-
-fresh@^0.5.2:
-  version "0.5.2"
-  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
-
-fs-extra@3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291"
-  dependencies:
-    graceful-fs "^4.1.2"
-    jsonfile "^3.0.0"
-    universalify "^0.1.0"
-
-fs-extra@^0.24.0:
-  version "0.24.0"
-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.24.0.tgz#d4e4342a96675cb7846633a6099249332b539952"
-  dependencies:
-    graceful-fs "^4.1.2"
-    jsonfile "^2.1.0"
-    path-is-absolute "^1.0.0"
-    rimraf "^2.2.8"
-
-fs-promise@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/fs-promise/-/fs-promise-0.3.1.tgz#bf34050368f24d6dc9dfc6688ab5cead8f86842a"
-  dependencies:
-    any-promise "~0.1.0"
-
-fs.realpath@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
-
-fsevents@^1.0.0:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8"
-  dependencies:
-    nan "^2.3.0"
-    node-pre-gyp "^0.6.39"
-
-fstream-ignore@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105"
-  dependencies:
-    fstream "^1.0.0"
-    inherits "2"
-    minimatch "^3.0.0"
-
-fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2:
-  version "1.0.11"
-  resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171"
-  dependencies:
-    graceful-fs "^4.1.2"
-    inherits "~2.0.0"
-    mkdirp ">=0.5 0"
-    rimraf "2"
-
-function-bind@^1.0.2:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
-
-gauge@~2.7.3:
-  version "2.7.4"
-  resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
-  dependencies:
-    aproba "^1.0.3"
-    console-control-strings "^1.0.0"
-    has-unicode "^2.0.0"
-    object-assign "^4.1.0"
-    signal-exit "^3.0.0"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-    wide-align "^1.1.0"
-
-gaze@^0.5.1:
-  version "0.5.2"
-  resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f"
-  dependencies:
-    globule "~0.1.0"
-
-gaze@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.2.tgz#847224677adb8870d679257ed3388fdb61e40105"
-  dependencies:
-    globule "^1.0.0"
-
-generate-function@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74"
-
-generate-object-property@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
-  dependencies:
-    is-property "^1.0.0"
-
-get-caller-file@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5"
-
-get-proxy@^1.0.1:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-1.1.0.tgz#894854491bc591b0f147d7ae570f5c678b7256eb"
-  dependencies:
-    rc "^1.1.2"
-
-get-stdin@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe"
-
-get-stream@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
-
-get-value@^2.0.2, get-value@^2.0.3, get-value@^2.0.6:
-  version "2.0.6"
-  resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
-
-getpass@^0.1.1:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
-  dependencies:
-    assert-plus "^1.0.0"
-
-gifsicle@^3.0.0:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/gifsicle/-/gifsicle-3.0.4.tgz#f45cb5ed10165b665dc929e0e9328b6c821dfa3b"
-  dependencies:
-    bin-build "^2.0.0"
-    bin-wrapper "^3.0.0"
-    logalot "^2.0.0"
-
-git-validate@^2.0.0:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/git-validate/-/git-validate-2.2.2.tgz#9cc8ff001177957a11726ab508d415bb80b18bcf"
-
-glob-base@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
-  dependencies:
-    glob-parent "^2.0.0"
-    is-glob "^2.0.0"
-
-glob-parent@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
-  dependencies:
-    is-glob "^2.0.0"
-
-glob-parent@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
-  dependencies:
-    is-glob "^3.1.0"
-    path-dirname "^1.0.0"
-
-glob-stream@^3.1.5:
-  version "3.1.18"
-  resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b"
-  dependencies:
-    glob "^4.3.1"
-    glob2base "^0.0.12"
-    minimatch "^2.0.1"
-    ordered-read-streams "^0.1.0"
-    through2 "^0.6.1"
-    unique-stream "^1.0.0"
-
-glob-stream@^5.3.2:
-  version "5.3.5"
-  resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22"
-  dependencies:
-    extend "^3.0.0"
-    glob "^5.0.3"
-    glob-parent "^3.0.0"
-    micromatch "^2.3.7"
-    ordered-read-streams "^0.3.0"
-    through2 "^0.6.0"
-    to-absolute-glob "^0.1.1"
-    unique-stream "^2.0.2"
-
-glob-watcher@^0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b"
-  dependencies:
-    gaze "^0.5.1"
-
-glob2base@^0.0.12:
-  version "0.0.12"
-  resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56"
-  dependencies:
-    find-index "^0.1.1"
-
-glob@5.0.x, glob@^5.0.3:
-  version "5.0.15"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1"
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "2 || 3"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@^4.3.1:
-  version "4.5.3"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f"
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^2.0.1"
-    once "^1.3.0"
-
-glob@^6.0.1:
-  version "6.0.4"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22"
-  dependencies:
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "2 || 3"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@~7.1.1:
-  version "7.1.2"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15"
-  dependencies:
-    fs.realpath "^1.0.0"
-    inflight "^1.0.4"
-    inherits "2"
-    minimatch "^3.0.4"
-    once "^1.3.0"
-    path-is-absolute "^1.0.0"
-
-glob@~3.1.21:
-  version "3.1.21"
-  resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd"
-  dependencies:
-    graceful-fs "~1.2.0"
-    inherits "1"
-    minimatch "~0.2.11"
-
-global-modules@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
-  dependencies:
-    global-prefix "^1.0.1"
-    is-windows "^1.0.1"
-    resolve-dir "^1.0.0"
-
-global-prefix@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
-  dependencies:
-    expand-tilde "^2.0.2"
-    homedir-polyfill "^1.0.1"
-    ini "^1.3.4"
-    is-windows "^1.0.1"
-    which "^1.2.14"
-
-globals@^9.14.0, globals@^9.18.0:
-  version "9.18.0"
-  resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
-
-globby@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-3.0.1.tgz#2094af8421e19152150d5893eb6416b312d9a22f"
-  dependencies:
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    glob "^5.0.3"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^1.0.0"
-
-globby@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d"
-  dependencies:
-    array-union "^1.0.1"
-    arrify "^1.0.0"
-    glob "^7.0.3"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-globby@^6.1.0:
-  version "6.1.0"
-  resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
-  dependencies:
-    array-union "^1.0.1"
-    glob "^7.0.3"
-    object-assign "^4.0.1"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-globule@^1.0.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.0.tgz#1dc49c6822dd9e8a2fa00ba2a295006e8664bd09"
-  dependencies:
-    glob "~7.1.1"
-    lodash "~4.17.4"
-    minimatch "~3.0.2"
-
-globule@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5"
-  dependencies:
-    glob "~3.1.21"
-    lodash "~1.0.1"
-    minimatch "~0.2.11"
-
-glogg@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.0.tgz#7fe0f199f57ac906cf512feead8f90ee4a284fc5"
-  dependencies:
-    sparkles "^1.0.0"
-
-got@^5.0.0:
-  version "5.7.1"
-  resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35"
-  dependencies:
-    create-error-class "^3.0.1"
-    duplexer2 "^0.1.4"
-    is-redirect "^1.0.0"
-    is-retry-allowed "^1.0.0"
-    is-stream "^1.0.0"
-    lowercase-keys "^1.0.0"
-    node-status-codes "^1.0.0"
-    object-assign "^4.0.1"
-    parse-json "^2.1.0"
-    pinkie-promise "^2.0.0"
-    read-all-stream "^3.0.0"
-    readable-stream "^2.0.5"
-    timed-out "^3.0.0"
-    unzip-response "^1.0.2"
-    url-parse-lax "^1.0.0"
-
-graceful-fs@4.X, graceful-fs@^4.0.0, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6:
-  version "4.1.11"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
-
-graceful-fs@^3.0.0:
-  version "3.0.11"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818"
-  dependencies:
-    natives "^1.1.0"
-
-graceful-fs@~1.2.0:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364"
-
-"graceful-readlink@>= 1.0.0":
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
-
-gray-matter@^2.0.2:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-2.1.1.tgz#3042d9adec2a1ded6a7707a9ed2380f8a17a430e"
-  dependencies:
-    ansi-red "^0.1.1"
-    coffee-script "^1.12.4"
-    extend-shallow "^2.0.1"
-    js-yaml "^3.8.1"
-    toml "^2.3.2"
-
-growly@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
-
-gulp-autoprefixer@^3.1.0:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/gulp-autoprefixer/-/gulp-autoprefixer-3.1.1.tgz#75230051cd0d171343d783b7e9b5d1120eeef9b0"
-  dependencies:
-    autoprefixer "^6.0.0"
-    gulp-util "^3.0.0"
-    postcss "^5.0.4"
-    through2 "^2.0.0"
-    vinyl-sourcemaps-apply "^0.2.0"
-
-gulp-cssnano@^2.1.1:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/gulp-cssnano/-/gulp-cssnano-2.1.2.tgz#e08a09771ec5454a549f1a005bdd256cb8e5e0a3"
-  dependencies:
-    cssnano "^3.0.0"
-    gulp-util "^3.0.6"
-    object-assign "^4.0.1"
-    vinyl-sourcemaps-apply "^0.2.1"
-
-gulp-decompress@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/gulp-decompress/-/gulp-decompress-1.2.0.tgz#8eeb65a5e015f8ed8532cafe28454960626f0dc7"
-  dependencies:
-    archive-type "^3.0.0"
-    decompress "^3.0.0"
-    gulp-util "^3.0.1"
-    readable-stream "^2.0.2"
-
-gulp-if@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/gulp-if/-/gulp-if-2.0.2.tgz#a497b7e7573005041caa2bc8b7dda3c80444d629"
-  dependencies:
-    gulp-match "^1.0.3"
-    ternary-stream "^2.0.1"
-    through2 "^2.0.1"
-
-gulp-imagemin@^3.0.1:
-  version "3.4.0"
-  resolved "https://registry.yarnpkg.com/gulp-imagemin/-/gulp-imagemin-3.4.0.tgz#23a8d4c5133f50a2a708aca87ca4b2d6eb7c4403"
-  dependencies:
-    chalk "^2.1.0"
-    gulp-util "^3.0.8"
-    imagemin "^5.3.1"
-    plur "^2.1.2"
-    pretty-bytes "^4.0.2"
-    through2-concurrent "^1.1.1"
-  optionalDependencies:
-    imagemin-gifsicle "^5.2.0"
-    imagemin-jpegtran "^5.0.2"
-    imagemin-optipng "^5.2.1"
-    imagemin-svgo "^5.2.2"
-
-gulp-match@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/gulp-match/-/gulp-match-1.0.3.tgz#91c7c0d7f29becd6606d57d80a7f8776a87aba8e"
-  dependencies:
-    minimatch "^3.0.3"
-
-gulp-plumber@^1.0.1:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/gulp-plumber/-/gulp-plumber-1.2.0.tgz#18ea03912c9ee483f8a5499973b5954cd90f6ad8"
-  dependencies:
-    chalk "^1.1.3"
-    fancy-log "^1.3.2"
-    plugin-error "^0.1.2"
-    through2 "^2.0.3"
-
-gulp-postcss@^6.2.0:
-  version "6.4.0"
-  resolved "https://registry.yarnpkg.com/gulp-postcss/-/gulp-postcss-6.4.0.tgz#78a32e3c87aa6cdcec5ae1c905e196d478e8c5d5"
-  dependencies:
-    gulp-util "^3.0.8"
-    postcss "^5.2.12"
-    postcss-load-config "^1.2.0"
-    vinyl-sourcemaps-apply "^0.2.1"
-
-gulp-rename@^1.2.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.2.2.tgz#3ad4428763f05e2764dec1c67d868db275687817"
-
-gulp-sass@^2.0.4:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-2.3.2.tgz#82b7ab90fe902cdc34c04f180d92f2c34902dd52"
-  dependencies:
-    gulp-util "^3.0"
-    lodash.clonedeep "^4.3.2"
-    node-sass "^3.4.2"
-    through2 "^2.0.0"
-    vinyl-sourcemaps-apply "^0.2.0"
-
-gulp-sourcemaps@1.6.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c"
-  dependencies:
-    convert-source-map "^1.1.1"
-    graceful-fs "^4.1.2"
-    strip-bom "^2.0.0"
-    through2 "^2.0.0"
-    vinyl "^1.0.0"
-
-gulp-sourcemaps@^1.6.0:
-  version "1.12.0"
-  resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.12.0.tgz#786f97c94a0f968492465d70558e04242c679598"
-  dependencies:
-    "@gulp-sourcemaps/map-sources" "1.X"
-    acorn "4.X"
-    convert-source-map "1.X"
-    css "2.X"
-    debug-fabulous "0.0.X"
-    detect-newline "2.X"
-    graceful-fs "4.X"
-    source-map "0.X"
-    strip-bom "2.X"
-    through2 "2.X"
-    vinyl "1.X"
-
-gulp-util@*, gulp-util@^3.0, gulp-util@^3.0.0, gulp-util@^3.0.1, gulp-util@^3.0.6, gulp-util@^3.0.8:
-  version "3.0.8"
-  resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f"
-  dependencies:
-    array-differ "^1.0.0"
-    array-uniq "^1.0.2"
-    beeper "^1.0.0"
-    chalk "^1.0.0"
-    dateformat "^2.0.0"
-    fancy-log "^1.1.0"
-    gulplog "^1.0.0"
-    has-gulplog "^0.1.0"
-    lodash._reescape "^3.0.0"
-    lodash._reevaluate "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.template "^3.0.0"
-    minimist "^1.1.0"
-    multipipe "^0.1.2"
-    object-assign "^3.0.0"
-    replace-ext "0.0.1"
-    through2 "^2.0.0"
-    vinyl "^0.5.0"
-
-gulp@^3.9.0:
-  version "3.9.1"
-  resolved "https://registry.yarnpkg.com/gulp/-/gulp-3.9.1.tgz#571ce45928dd40af6514fc4011866016c13845b4"
-  dependencies:
-    archy "^1.0.0"
-    chalk "^1.0.0"
-    deprecated "^0.0.1"
-    gulp-util "^3.0.0"
-    interpret "^1.0.0"
-    liftoff "^2.1.0"
-    minimist "^1.1.0"
-    orchestrator "^0.3.0"
-    pretty-hrtime "^1.0.0"
-    semver "^4.1.0"
-    tildify "^1.0.0"
-    v8flags "^2.0.2"
-    vinyl-fs "^0.3.0"
-
-gulplog@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5"
-  dependencies:
-    glogg "^1.0.0"
-
-handlebars-loader@^1.1.4:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/handlebars-loader/-/handlebars-loader-1.6.0.tgz#767a5843de30ffe795730f7d8a1ba3ce07af5b62"
-  dependencies:
-    async "~0.2.10"
-    fastparse "^1.0.0"
-    loader-utils "1.0.x"
-    object-assign "^4.1.0"
-
-handlebars@^4.0.5:
-  version "4.0.11"
-  resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.0.11.tgz#630a35dfe0294bc281edae6ffc5d329fc7982dcc"
-  dependencies:
-    async "^1.4.0"
-    optimist "^0.6.1"
-    source-map "^0.4.4"
-  optionalDependencies:
-    uglify-js "^2.6"
-
-har-schema@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e"
-
-har-schema@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
-
-har-validator@~4.2.1:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a"
-  dependencies:
-    ajv "^4.9.1"
-    har-schema "^1.0.5"
-
-har-validator@~5.0.3:
-  version "5.0.3"
-  resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd"
-  dependencies:
-    ajv "^5.1.0"
-    har-schema "^2.0.0"
-
-has-ansi@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-has-binary2@~1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.2.tgz#e83dba49f0b9be4d026d27365350d9f03f54be98"
-  dependencies:
-    isarray "2.0.1"
-
-has-cors@1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39"
-
-has-flag@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
-
-has-flag@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
-
-has-gulplog@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce"
-  dependencies:
-    sparkles "^1.0.0"
-
-has-unicode@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
-
-has-value@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
-  dependencies:
-    get-value "^2.0.3"
-    has-values "^0.1.4"
-    isobject "^2.0.0"
-
-has-value@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
-  dependencies:
-    get-value "^2.0.6"
-    has-values "^1.0.0"
-    isobject "^3.0.0"
-
-has-values@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
-
-has-values@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
-  dependencies:
-    is-number "^3.0.0"
-    kind-of "^4.0.0"
-
-has@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28"
-  dependencies:
-    function-bind "^1.0.2"
-
-hawk@3.1.3, hawk@~3.1.3:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4"
-  dependencies:
-    boom "2.x.x"
-    cryptiles "2.x.x"
-    hoek "2.x.x"
-    sntp "1.x.x"
-
-hawk@~6.0.2:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038"
-  dependencies:
-    boom "4.x.x"
-    cryptiles "3.x.x"
-    hoek "4.x.x"
-    sntp "2.x.x"
-
-he@1.1.x:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd"
-
-header-case@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d"
-  dependencies:
-    no-case "^2.2.0"
-    upper-case "^1.1.3"
-
-hoek@2.x.x:
-  version "2.16.3"
-  resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed"
-
-hoek@4.x.x:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d"
-
-home-or-tmp@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
-  dependencies:
-    os-homedir "^1.0.0"
-    os-tmpdir "^1.0.1"
-
-homedir-polyfill@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc"
-  dependencies:
-    parse-passwd "^1.0.0"
-
-hosted-git-info@^2.1.4:
-  version "2.5.0"
-  resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c"
-
-html-comment-regex@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e"
-
-html-minifier@^2.1.7:
-  version "2.1.7"
-  resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-2.1.7.tgz#9051d6fcbbcf214ed307e1ad74f432bb9ad655cc"
-  dependencies:
-    change-case "3.0.x"
-    clean-css "3.4.x"
-    commander "2.9.x"
-    he "1.1.x"
-    ncname "1.0.x"
-    relateurl "0.2.x"
-    uglify-js "2.6.x"
-
-http-errors@~1.5.0:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.5.1.tgz#788c0d2c1de2c81b9e6e8c01843b6b97eb920750"
-  dependencies:
-    inherits "2.0.3"
-    setprototypeof "1.0.2"
-    statuses ">= 1.3.1 < 2"
-
-http-errors@~1.6.1:
-  version "1.6.2"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736"
-  dependencies:
-    depd "1.1.1"
-    inherits "2.0.3"
-    setprototypeof "1.0.3"
-    statuses ">= 1.3.1 < 2"
-
-http-proxy@1.15.2:
-  version "1.15.2"
-  resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31"
-  dependencies:
-    eventemitter3 "1.x.x"
-    requires-port "1.x.x"
-
-http-signature@~1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf"
-  dependencies:
-    assert-plus "^0.2.0"
-    jsprim "^1.2.2"
-    sshpk "^1.7.0"
-
-http-signature@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
-  dependencies:
-    assert-plus "^1.0.0"
-    jsprim "^1.2.2"
-    sshpk "^1.7.0"
-
-https-browserify@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82"
-
-i@^0.3.5:
-  version "0.3.6"
-  resolved "https://registry.yarnpkg.com/i/-/i-0.3.6.tgz#d96c92732076f072711b6b10fd7d4f65ad8ee23d"
-
-ieee754@^1.1.4:
-  version "1.1.8"
-  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4"
-
-ignore@^3.0.11, ignore@^3.2.0:
-  version "3.3.7"
-  resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021"
-
-imagemin-gifsicle@^5.2.0:
-  version "5.2.0"
-  resolved "https://registry.yarnpkg.com/imagemin-gifsicle/-/imagemin-gifsicle-5.2.0.tgz#3781524c457612ef04916af34241a2b42bfcb40a"
-  dependencies:
-    exec-buffer "^3.0.0"
-    gifsicle "^3.0.0"
-    is-gif "^1.0.0"
-
-imagemin-jpegtran@^5.0.2:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/imagemin-jpegtran/-/imagemin-jpegtran-5.0.2.tgz#e6882263b8f7916fddb800640cf75d2e970d2ad6"
-  dependencies:
-    exec-buffer "^3.0.0"
-    is-jpg "^1.0.0"
-    jpegtran-bin "^3.0.0"
-
-imagemin-optipng@^5.2.1:
-  version "5.2.1"
-  resolved "https://registry.yarnpkg.com/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz#d22da412c09f5ff00a4339960b98a88b1dbe8695"
-  dependencies:
-    exec-buffer "^3.0.0"
-    is-png "^1.0.0"
-    optipng-bin "^3.0.0"
-
-imagemin-svgo@^5.2.2:
-  version "5.2.4"
-  resolved "https://registry.yarnpkg.com/imagemin-svgo/-/imagemin-svgo-5.2.4.tgz#6cd5d342cae4bcd8b483594e5315695df02b9e9b"
-  dependencies:
-    is-svg "^2.0.0"
-    svgo "^0.7.0"
-
-imagemin@^5.3.1:
-  version "5.3.1"
-  resolved "https://registry.yarnpkg.com/imagemin/-/imagemin-5.3.1.tgz#f19c2eee1e71ba6c6558c515f9fc96680189a6d4"
-  dependencies:
-    file-type "^4.1.0"
-    globby "^6.1.0"
-    make-dir "^1.0.0"
-    p-pipe "^1.1.0"
-    pify "^2.3.0"
-    replace-ext "^1.0.0"
-
-immutable@3.8.2, immutable@^3.7.6:
-  version "3.8.2"
-  resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3"
-
-imports-loader@^0.6.4:
-  version "0.6.5"
-  resolved "https://registry.yarnpkg.com/imports-loader/-/imports-loader-0.6.5.tgz#ae74653031d59e37b3c2fb2544ac61aeae3530a6"
-  dependencies:
-    loader-utils "0.2.x"
-    source-map "0.1.x"
-
-imurmurhash@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
-
-in-publish@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51"
-
-indent-string@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80"
-  dependencies:
-    repeating "^2.0.0"
-
-indexes-of@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
-
-indexof@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d"
-
-inflight@^1.0.4:
-  version "1.0.6"
-  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
-  dependencies:
-    once "^1.3.0"
-    wrappy "1"
-
-inherits@1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b"
-
-inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-
-inherits@2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1"
-
-ini@^1.3.4, ini@~1.3.0:
-  version "1.3.5"
-  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
-
-inquirer@^0.12.0:
-  version "0.12.0"
-  resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-0.12.0.tgz#1ef2bfd63504df0bc75785fff8c2c41df12f077e"
-  dependencies:
-    ansi-escapes "^1.1.0"
-    ansi-regex "^2.0.0"
-    chalk "^1.0.0"
-    cli-cursor "^1.0.1"
-    cli-width "^2.0.0"
-    figures "^1.3.5"
-    lodash "^4.3.0"
-    readline2 "^1.0.1"
-    run-async "^0.1.0"
-    rx-lite "^3.1.2"
-    string-width "^1.0.1"
-    strip-ansi "^3.0.0"
-    through "^2.3.6"
-
-interpret@^0.6.4:
-  version "0.6.6"
-  resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b"
-
-interpret@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614"
-
-invariant@^2.2.2:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360"
-  dependencies:
-    loose-envify "^1.0.0"
-
-invert-kv@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6"
-
-ip-regex@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd"
-
-irregular-plurals@^1.0.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766"
-
-is-absolute-url@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
-
-is-absolute@^0.1.5:
-  version "0.1.7"
-  resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f"
-  dependencies:
-    is-relative "^0.1.0"
-
-is-absolute@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
-  dependencies:
-    is-relative "^1.0.0"
-    is-windows "^1.0.1"
-
-is-accessor-descriptor@^0.1.6:
-  version "0.1.6"
-  resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6"
-  dependencies:
-    kind-of "^3.0.2"
-
-is-accessor-descriptor@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656"
-  dependencies:
-    kind-of "^6.0.0"
-
-is-arrayish@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
-
-is-binary-path@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
-  dependencies:
-    binary-extensions "^1.0.0"
-
-is-buffer@^1.1.5:
-  version "1.1.6"
-  resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
-
-is-builtin-module@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe"
-  dependencies:
-    builtin-modules "^1.0.0"
-
-is-bzip2@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-bzip2/-/is-bzip2-1.0.0.tgz#5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc"
-
-is-data-descriptor@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
-  dependencies:
-    kind-of "^3.0.2"
-
-is-data-descriptor@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7"
-  dependencies:
-    kind-of "^6.0.0"
-
-is-descriptor@^0.1.0:
-  version "0.1.6"
-  resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca"
-  dependencies:
-    is-accessor-descriptor "^0.1.6"
-    is-data-descriptor "^0.1.4"
-    kind-of "^5.0.0"
-
-is-descriptor@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec"
-  dependencies:
-    is-accessor-descriptor "^1.0.0"
-    is-data-descriptor "^1.0.0"
-    kind-of "^6.0.2"
-
-is-directory@^0.3.1:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
-
-is-dotfile@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
-
-is-equal-shallow@^0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
-  dependencies:
-    is-primitive "^2.0.0"
-
-is-extendable@^0.1.0, is-extendable@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
-
-is-extendable@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
-  dependencies:
-    is-plain-object "^2.0.4"
-
-is-extglob@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
-
-is-extglob@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
-
-is-finite@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa"
-  dependencies:
-    number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
-  dependencies:
-    number-is-nan "^1.0.0"
-
-is-fullwidth-code-point@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
-
-is-gif@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-gif/-/is-gif-1.0.0.tgz#a6d2ae98893007bffa97a1d8c01d63205832097e"
-
-is-glob@^2.0.0, is-glob@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
-  dependencies:
-    is-extglob "^1.0.0"
-
-is-glob@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
-  dependencies:
-    is-extglob "^2.1.0"
-
-is-gzip@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83"
-
-is-jpg@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-jpg/-/is-jpg-1.0.0.tgz#2959c17e73430db38264da75b90dd54f2d86da1c"
-
-is-lower-case@^1.1.0:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393"
-  dependencies:
-    lower-case "^1.1.0"
-
-is-my-json-valid@^2.10.0:
-  version "2.17.1"
-  resolved "https://registry.yarnpkg.com/is-my-json-valid/-/is-my-json-valid-2.17.1.tgz#3da98914a70a22f0a8563ef1511a246c6fc55471"
-  dependencies:
-    generate-function "^2.0.0"
-    generate-object-property "^1.1.0"
-    jsonpointer "^4.0.0"
-    xtend "^4.0.0"
-
-is-natural-number@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-2.1.1.tgz#7d4c5728377ef386c3e194a9911bf57c6dc335e7"
-
-is-number-like@^1.0.3:
-  version "1.0.8"
-  resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.8.tgz#2e129620b50891042e44e9bbbb30593e75cfbbe3"
-  dependencies:
-    lodash.isfinite "^3.3.2"
-
-is-number@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
-  dependencies:
-    kind-of "^3.0.2"
-
-is-number@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
-  dependencies:
-    kind-of "^3.0.2"
-
-is-obj@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
-
-is-odd@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-1.0.0.tgz#3b8a932eb028b3775c39bb09e91767accdb69088"
-  dependencies:
-    is-number "^3.0.0"
-
-is-path-cwd@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
-
-is-path-in-cwd@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc"
-  dependencies:
-    is-path-inside "^1.0.0"
-
-is-path-inside@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
-  dependencies:
-    path-is-inside "^1.0.1"
-
-is-plain-obj@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
-
-is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
-  dependencies:
-    isobject "^3.0.1"
-
-is-png@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-png/-/is-png-1.1.0.tgz#d574b12bf275c0350455570b0e5b57ab062077ce"
-
-is-posix-bracket@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
-
-is-primitive@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
-
-is-property@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84"
-
-is-redirect@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24"
-
-is-relative@^0.1.0:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.1.3.tgz#905fee8ae86f45b3ec614bc3c15c869df0876e82"
-
-is-relative@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
-  dependencies:
-    is-unc-path "^1.0.0"
-
-is-resolvable@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.1.tgz#acca1cd36dbe44b974b924321555a70ba03b1cf4"
-
-is-retry-allowed@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34"
-
-is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
-
-is-svg@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9"
-  dependencies:
-    html-comment-regex "^1.1.0"
-
-is-tar@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-tar/-/is-tar-1.0.0.tgz#2f6b2e1792c1f5bb36519acaa9d65c0d26fe853d"
-
-is-typedarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
-
-is-unc-path@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
-  dependencies:
-    unc-path-regex "^0.1.2"
-
-is-upper-case@^1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f"
-  dependencies:
-    upper-case "^1.1.0"
-
-is-url@^1.2.0:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.2.tgz#498905a593bf47cc2d9e7f738372bbf7696c7f26"
-
-is-utf8@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
-
-is-valid-glob@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe"
-
-is-windows@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9"
-
-is-zip@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/is-zip/-/is-zip-1.0.0.tgz#47b0a8ff4d38a76431ccfd99a8e15a4c86ba2325"
-
-isarray@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
-
-isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
-
-isarray@2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e"
-
-isexe@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
-
-isnumeric@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/isnumeric/-/isnumeric-0.2.0.tgz#a2347ba360de19e33d0ffd590fddf7755cbf2e64"
-
-isobject@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
-  dependencies:
-    isarray "1.0.0"
-
-isobject@^3.0.0, isobject@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
-
-isstream@~0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
-
-istanbul-instrumenter-loader@^1.0.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/istanbul-instrumenter-loader/-/istanbul-instrumenter-loader-1.2.0.tgz#bef469049b81b23581d0d4db37a271206033cc52"
-  dependencies:
-    convert-source-map "^1.3.0"
-    istanbul-lib-instrument "^1.1.3"
-    loader-utils "^0.2.16"
-    object-assign "^4.1.0"
-
-istanbul-lib-coverage@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.1.1.tgz#73bfb998885299415c93d38a3e9adf784a77a9da"
-
-istanbul-lib-instrument@^1.1.3:
-  version "1.9.1"
-  resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.9.1.tgz#250b30b3531e5d3251299fdd64b0b2c9db6b558e"
-  dependencies:
-    babel-generator "^6.18.0"
-    babel-template "^6.16.0"
-    babel-traverse "^6.18.0"
-    babel-types "^6.18.0"
-    babylon "^6.18.0"
-    istanbul-lib-coverage "^1.1.1"
-    semver "^5.3.0"
-
-jasmine-core@^2.5.2:
-  version "2.8.0"
-  resolved "https://registry.yarnpkg.com/jasmine-core/-/jasmine-core-2.8.0.tgz#bcc979ae1f9fd05701e45e52e65d3a5d63f1a24e"
-
-jpegtran-bin@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz#f60ecf4ae999c0bdad2e9fbcdf2b6f0981e7a29b"
-  dependencies:
-    bin-build "^2.0.0"
-    bin-wrapper "^3.0.0"
-    logalot "^2.0.0"
-
-jquery-validation@^1.17.0:
-  version "1.17.0"
-  resolved "https://registry.yarnpkg.com/jquery-validation/-/jquery-validation-1.17.0.tgz#ab66b6b583d7740b9bbd148993e50e8ac041f35b"
-  dependencies:
-    jquery "^1.7 || ^2.0 || ^3.1"
-
-jquery@>=1.8, "jquery@^1.7 || ^2.0 || ^3.1", jquery@^3.2.1:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.2.1.tgz#5c4d9de652af6cd0a770154a631bba12b015c787"
-
-js-base64@^2.1.8, js-base64@^2.1.9:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.0.tgz#9e566fee624751a1d720c966cd6226d29d4025aa"
-
-js-beautify@^1.6.3:
-  version "1.7.5"
-  resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.7.5.tgz#69d9651ef60dbb649f65527b53674950138a7919"
-  dependencies:
-    config-chain "~1.1.5"
-    editorconfig "^0.13.2"
-    mkdirp "~0.5.0"
-    nopt "~3.0.1"
-
-js-tokens@^3.0.0, js-tokens@^3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
-
-js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.6.1, js-yaml@^3.8.1:
-  version "3.10.0"
-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
-  dependencies:
-    argparse "^1.0.7"
-    esprima "^4.0.0"
-
-js-yaml@~3.7.0:
-  version "3.7.0"
-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80"
-  dependencies:
-    argparse "^1.0.7"
-    esprima "^2.6.0"
-
-jsbn@~0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
-
-jsesc@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
-
-jsesc@~0.5.0:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
-
-json-schema-traverse@^0.3.0:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
-
-json-schema@0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13"
-
-json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af"
-  dependencies:
-    jsonify "~0.0.0"
-
-json-stringify-safe@~5.0.1:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
-
-json5@^0.5.0, json5@^0.5.1:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
-
-jsonfile@^2.1.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8"
-  optionalDependencies:
-    graceful-fs "^4.1.6"
-
-jsonfile@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66"
-  optionalDependencies:
-    graceful-fs "^4.1.6"
-
-jsonify@~0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73"
-
-jsonpointer@^4.0.0:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-4.0.1.tgz#4fd92cb34e0e9db3c89c8622ecf51f9b978c6cb9"
-
-jspm-github@^0.14.11:
-  version "0.14.13"
-  resolved "https://registry.yarnpkg.com/jspm-github/-/jspm-github-0.14.13.tgz#326e5217d3639b21609293b01e7e18775dd3dcc7"
-  dependencies:
-    bluebird "^3.0.5"
-    expand-tilde "^1.2.0"
-    graceful-fs "^4.1.3"
-    mkdirp "^0.5.1"
-    netrc "^0.1.3"
-    request "^2.74.0"
-    rimraf "^2.5.4"
-    semver "^5.0.1"
-    tar-fs "^1.13.0"
-    which "^1.0.9"
-
-jspm-npm@^0.30.3:
-  version "0.30.3"
-  resolved "https://registry.yarnpkg.com/jspm-npm/-/jspm-npm-0.30.3.tgz#753ea17b383a69e17d4f4f78b7ea50fbfcbe830d"
-  dependencies:
-    bluebird "^3.0.5"
-    buffer-peek-stream "^1.0.1"
-    graceful-fs "^4.1.3"
-    mkdirp "^0.5.1"
-    readdirp "^2.0.0"
-    request "^2.58.0"
-    semver "^5.0.1"
-    tar-fs "^1.13.0"
-    traceur "0.0.105"
-    which "^1.1.1"
-
-jspm-registry@^0.4.1:
-  version "0.4.4"
-  resolved "https://registry.yarnpkg.com/jspm-registry/-/jspm-registry-0.4.4.tgz#d53166035a87cdce585d62baa397568546996d70"
-  dependencies:
-    graceful-fs "^4.1.3"
-    rimraf "^2.3.2"
-    rsvp "^3.0.18"
-    semver "^4.3.3"
-
-jspm@^0.17.0-beta.13:
-  version "0.17.0-beta.47"
-  resolved "https://registry.yarnpkg.com/jspm/-/jspm-0.17.0-beta.47.tgz#6a9850dbdb949c9dcac9220ab59b3d130f374af2"
-  dependencies:
-    bluebird "^3.0.5"
-    chalk "^1.1.1"
-    core-js "^1.2.6"
-    glob "^6.0.1"
-    graceful-fs "^4.1.2"
-    jspm-github "^0.14.11"
-    jspm-npm "^0.30.3"
-    jspm-registry "^0.4.1"
-    liftoff "^2.2.0"
-    minimatch "^3.0.0"
-    mkdirp "~0.5.1"
-    ncp "^2.0.0"
-    proper-lockfile "^1.1.2"
-    request "^2.67.0"
-    rimraf "^2.4.4"
-    sane "^1.3.3"
-    semver "^5.1.0"
-    systemjs "0.20.19"
-    systemjs-builder "0.16.12"
-    traceur "0.0.105"
-    uglify-js "^2.6.1"
-
-jsprim@^1.2.2:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2"
-  dependencies:
-    assert-plus "1.0.0"
-    extsprintf "1.3.0"
-    json-schema "0.2.3"
-    verror "1.10.0"
-
-kind-of@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44"
-
-kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.1.0, kind-of@^3.2.0:
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
-  dependencies:
-    is-buffer "^1.1.5"
-
-kind-of@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
-  dependencies:
-    is-buffer "^1.1.5"
-
-kind-of@^5.0.0, kind-of@^5.0.2:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
-
-kind-of@^6.0.0, kind-of@^6.0.2:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
-
-lazy-cache@^1.0.3:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e"
-
-lazy-cache@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-2.0.2.tgz#b9190a4f913354694840859f8a8f7084d8822264"
-  dependencies:
-    set-getter "^0.1.0"
-
-lazy-debug-legacy@0.0.X:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/lazy-debug-legacy/-/lazy-debug-legacy-0.0.1.tgz#537716c0776e4cf79e3ed1b621f7658c2911b1b1"
-
-lazy-req@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac"
-
-lazystream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4"
-  dependencies:
-    readable-stream "^2.0.5"
-
-lcid@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835"
-  dependencies:
-    invert-kv "^1.0.0"
-
-levn@^0.3.0, levn@~0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
-  dependencies:
-    prelude-ls "~1.1.2"
-    type-check "~0.3.2"
-
-liftoff@^2.1.0, liftoff@^2.2.0:
-  version "2.5.0"
-  resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec"
-  dependencies:
-    extend "^3.0.0"
-    findup-sync "^2.0.0"
-    fined "^1.0.1"
-    flagged-respawn "^1.0.0"
-    is-plain-object "^2.0.4"
-    object.map "^1.0.0"
-    rechoir "^0.6.2"
-    resolve "^1.1.7"
-
-limiter@^1.0.5:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.2.tgz#229d8055891c8b11af9e0ee5200e8e09bb3dcbeb"
-
-linkify-it@^2.0.0:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.0.3.tgz#d94a4648f9b1c179d64fa97291268bdb6ce9434f"
-  dependencies:
-    uc.micro "^1.0.1"
-
-load-json-file@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
-  dependencies:
-    graceful-fs "^4.1.2"
-    parse-json "^2.2.0"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-    strip-bom "^2.0.0"
-
-load-json-file@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8"
-  dependencies:
-    graceful-fs "^4.1.2"
-    parse-json "^2.2.0"
-    pify "^2.0.0"
-    strip-bom "^3.0.0"
-
-loader-utils@0.2.x, loader-utils@^0.2.11, loader-utils@^0.2.16:
-  version "0.2.17"
-  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
-  dependencies:
-    big.js "^3.1.3"
-    emojis-list "^2.0.0"
-    json5 "^0.5.0"
-    object-assign "^4.0.1"
-
-loader-utils@1.0.x:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.0.4.tgz#13f56197f1523a305891248b4c7244540848426c"
-  dependencies:
-    big.js "^3.1.3"
-    emojis-list "^2.0.0"
-    json5 "^0.5.0"
-
-localtunnel@1.8.3:
-  version "1.8.3"
-  resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.8.3.tgz#dcc5922fd85651037d4bde24fd93248d0b24eb05"
-  dependencies:
-    debug "2.6.8"
-    openurl "1.1.1"
-    request "2.81.0"
-    yargs "3.29.0"
-
-locate-path@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
-  dependencies:
-    p-locate "^2.0.0"
-    path-exists "^3.0.0"
-
-lodash._basecopy@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36"
-
-lodash._basetostring@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5"
-
-lodash._basevalues@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7"
-
-lodash._getnative@^3.0.0:
-  version "3.9.1"
-  resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5"
-
-lodash._isiterateecall@^3.0.0:
-  version "3.0.9"
-  resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c"
-
-lodash._reescape@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a"
-
-lodash._reevaluate@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed"
-
-lodash._reinterpolate@^3.0.0, lodash._reinterpolate@~3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
-
-lodash._root@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692"
-
-lodash.assign@^4.2.0:
-  version "4.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7"
-
-lodash.clonedeep@^4.3.2:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
-
-lodash.cond@^4.3.0:
-  version "4.5.2"
-  resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5"
-
-lodash.escape@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698"
-  dependencies:
-    lodash._root "^3.0.0"
-
-lodash.isarguments@^3.0.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a"
-
-lodash.isarray@^3.0.0:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55"
-
-lodash.isequal@^4.0.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0"
-
-lodash.isfinite@^3.3.2:
-  version "3.3.2"
-  resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3"
-
-lodash.keys@^3.0.0:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a"
-  dependencies:
-    lodash._getnative "^3.0.0"
-    lodash.isarguments "^3.0.0"
-    lodash.isarray "^3.0.0"
-
-lodash.memoize@^4.1.2:
-  version "4.1.2"
-  resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
-
-lodash.restparam@^3.0.0:
-  version "3.6.1"
-  resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"
-
-lodash.template@^3.0.0:
-  version "3.6.2"
-  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f"
-  dependencies:
-    lodash._basecopy "^3.0.0"
-    lodash._basetostring "^3.0.0"
-    lodash._basevalues "^3.0.0"
-    lodash._isiterateecall "^3.0.0"
-    lodash._reinterpolate "^3.0.0"
-    lodash.escape "^3.0.0"
-    lodash.keys "^3.0.0"
-    lodash.restparam "^3.0.0"
-    lodash.templatesettings "^3.0.0"
-
-lodash.template@^4.2.4:
-  version "4.4.0"
-  resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.4.0.tgz#e73a0385c8355591746e020b99679c690e68fba0"
-  dependencies:
-    lodash._reinterpolate "~3.0.0"
-    lodash.templatesettings "^4.0.0"
-
-lodash.templatesettings@^3.0.0:
-  version "3.1.1"
-  resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5"
-  dependencies:
-    lodash._reinterpolate "^3.0.0"
-    lodash.escape "^3.0.0"
-
-lodash.templatesettings@^4.0.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.1.0.tgz#2b4d4e95ba440d915ff08bc899e4553666713316"
-  dependencies:
-    lodash._reinterpolate "~3.0.0"
-
-lodash.uniq@^4.5.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
-
-lodash@^3.10.1:
-  version "3.10.1"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6"
-
-lodash@^4.0.0, lodash@^4.13.1, lodash@^4.17.4, lodash@^4.3.0, lodash@~4.17.4:
-  version "4.17.4"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
-
-lodash@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551"
-
-logalot@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/logalot/-/logalot-2.1.0.tgz#5f8e8c90d304edf12530951a5554abb8c5e3f552"
-  dependencies:
-    figures "^1.3.5"
-    squeak "^1.0.0"
-
-longest@^1.0.0, longest@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097"
-
-loose-envify@^1.0.0:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848"
-  dependencies:
-    js-tokens "^3.0.0"
-
-loud-rejection@^1.0.0:
-  version "1.6.0"
-  resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f"
-  dependencies:
-    currently-unhandled "^0.4.1"
-    signal-exit "^3.0.0"
-
-lower-case-first@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1"
-  dependencies:
-    lower-case "^1.1.2"
-
-lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
-
-lowercase-keys@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306"
-
-lpad-align@^1.0.1:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/lpad-align/-/lpad-align-1.1.2.tgz#21f600ac1c3095c3c6e497ee67271ee08481fe9e"
-  dependencies:
-    get-stdin "^4.0.1"
-    indent-string "^2.1.0"
-    longest "^1.0.0"
-    meow "^3.3.0"
-
-lru-cache@2:
-  version "2.7.3"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952"
-
-lru-cache@^3.2.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-3.2.0.tgz#71789b3b7f5399bec8565dda38aa30d2a097efee"
-  dependencies:
-    pseudomap "^1.0.1"
-
-lru-cache@^4.0.1:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55"
-  dependencies:
-    pseudomap "^1.0.2"
-    yallist "^2.1.2"
-
-macaddress@^0.2.8:
-  version "0.2.8"
-  resolved "https://registry.yarnpkg.com/macaddress/-/macaddress-0.2.8.tgz#5904dc537c39ec6dbefeae902327135fa8511f12"
-
-make-dir@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51"
-  dependencies:
-    pify "^3.0.0"
-
-make-iterator@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.0.tgz#57bef5dc85d23923ba23767324d8e8f8f3d9694b"
-  dependencies:
-    kind-of "^3.1.0"
-
-makeerror@1.0.x:
-  version "1.0.11"
-  resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c"
-  dependencies:
-    tmpl "1.0.x"
-
-map-cache@^0.2.0, map-cache@^0.2.2:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
-
-map-obj@^1.0.0, map-obj@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d"
-
-map-visit@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
-  dependencies:
-    object-visit "^1.0.0"
-
-markdown-it@^7.0.0:
-  version "7.0.1"
-  resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-7.0.1.tgz#f12d8b88a93e64254348dfd183bd70bf60567a42"
-  dependencies:
-    argparse "^1.0.7"
-    entities "~1.1.1"
-    linkify-it "^2.0.0"
-    mdurl "^1.0.1"
-    uc.micro "^1.0.1"
-
-material-design-lite@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/material-design-lite/-/material-design-lite-1.3.0.tgz#d004ce3fee99a1eeb74a78b8a325134a5f1171d3"
-
-math-expression-evaluator@^1.2.14:
-  version "1.2.17"
-  resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac"
-
-mdurl@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
-
-memory-fs@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290"
-
-memory-fs@~0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20"
-  dependencies:
-    errno "^0.1.3"
-    readable-stream "^2.0.1"
-
-meow@^3.1.0, meow@^3.3.0, meow@^3.5.0, meow@^3.7.0:
-  version "3.7.0"
-  resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb"
-  dependencies:
-    camelcase-keys "^2.0.0"
-    decamelize "^1.1.2"
-    loud-rejection "^1.0.0"
-    map-obj "^1.0.1"
-    minimist "^1.1.3"
-    normalize-package-data "^2.3.4"
-    object-assign "^4.0.1"
-    read-pkg-up "^1.0.1"
-    redent "^1.0.0"
-    trim-newlines "^1.0.0"
-
-merge-stream@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
-  dependencies:
-    readable-stream "^2.0.1"
-
-merge@^1.1.3:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da"
-
-micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.7:
-  version "2.3.11"
-  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
-  dependencies:
-    arr-diff "^2.0.0"
-    array-unique "^0.2.1"
-    braces "^1.8.2"
-    expand-brackets "^0.1.4"
-    extglob "^0.3.1"
-    filename-regex "^2.0.0"
-    is-extglob "^1.0.0"
-    is-glob "^2.0.1"
-    kind-of "^3.0.2"
-    normalize-path "^2.0.1"
-    object.omit "^2.0.0"
-    parse-glob "^3.0.4"
-    regex-cache "^0.4.2"
-
-micromatch@^3.0.4:
-  version "3.1.5"
-  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.5.tgz#d05e168c206472dfbca985bfef4f57797b4cd4ba"
-  dependencies:
-    arr-diff "^4.0.0"
-    array-unique "^0.3.2"
-    braces "^2.3.0"
-    define-property "^1.0.0"
-    extend-shallow "^2.0.1"
-    extglob "^2.0.2"
-    fragment-cache "^0.2.1"
-    kind-of "^6.0.0"
-    nanomatch "^1.2.5"
-    object.pick "^1.3.0"
-    regex-not "^1.0.0"
-    snapdragon "^0.8.1"
-    to-regex "^3.0.1"
-
-mime-db@~1.30.0:
-  version "1.30.0"
-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01"
-
-mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7:
-  version "2.1.17"
-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a"
-  dependencies:
-    mime-db "~1.30.0"
-
-mime@1.3.4:
-  version "1.3.4"
-  resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53"
-
-"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
-  dependencies:
-    brace-expansion "^1.1.7"
-
-minimatch@^2.0.1:
-  version "2.0.10"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7"
-  dependencies:
-    brace-expansion "^1.0.0"
-
-minimatch@~0.2.11:
-  version "0.2.14"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a"
-  dependencies:
-    lru-cache "2"
-    sigmund "~1.0.0"
-
-minimist@0.0.8:
-  version "0.0.8"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d"
-
-minimist@^1.1.0, minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284"
-
-minimist@~0.0.1:
-  version "0.0.10"
-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf"
-
-mixin-deep@^1.2.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.0.tgz#47a8732ba97799457c8c1eca28f95132d7e8150a"
-  dependencies:
-    for-in "^1.0.2"
-    is-extendable "^1.0.1"
-
-"mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903"
-  dependencies:
-    minimist "0.0.8"
-
-ms@0.7.1:
-  version "0.7.1"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098"
-
-ms@0.7.3:
-  version "0.7.3"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff"
-
-ms@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-1.0.0.tgz#59adcd22edc543f7b5381862d31387b1f4bc9473"
-
-ms@2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
-
-multipipe@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b"
-  dependencies:
-    duplexer2 "0.0.2"
-
-mute-stream@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.5.tgz#8fbfabb0a98a253d3184331f9e8deb7372fac6c0"
-
-nan@^2.3.0, nan@^2.3.2:
-  version "2.8.0"
-  resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a"
-
-nanomatch@^1.2.5:
-  version "1.2.7"
-  resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.7.tgz#53cd4aa109ff68b7f869591fdc9d10daeeea3e79"
-  dependencies:
-    arr-diff "^4.0.0"
-    array-unique "^0.3.2"
-    define-property "^1.0.0"
-    extend-shallow "^2.0.1"
-    fragment-cache "^0.2.1"
-    is-odd "^1.0.0"
-    kind-of "^5.0.2"
-    object.pick "^1.3.0"
-    regex-not "^1.0.0"
-    snapdragon "^0.8.1"
-    to-regex "^3.0.1"
-
-natives@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.1.tgz#011acce1f7cbd87f7ba6b3093d6cd9392be1c574"
-
-natural-compare@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
-
-ncname@1.0.x:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/ncname/-/ncname-1.0.0.tgz#5b57ad18b1ca092864ef62b0b1ed8194f383b71c"
-  dependencies:
-    xml-char-classes "^1.0.0"
-
-ncp@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
-
-negotiator@0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9"
-
-netrc@^0.1.3:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/netrc/-/netrc-0.1.4.tgz#6be94fcaca8d77ade0a9670dc460914c94472444"
-
-no-case@^2.2.0:
-  version "2.3.2"
-  resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
-  dependencies:
-    lower-case "^1.1.1"
-
-node-gyp@^3.3.1:
-  version "3.6.2"
-  resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.6.2.tgz#9bfbe54562286284838e750eac05295853fa1c60"
-  dependencies:
-    fstream "^1.0.0"
-    glob "^7.0.3"
-    graceful-fs "^4.1.2"
-    minimatch "^3.0.2"
-    mkdirp "^0.5.0"
-    nopt "2 || 3"
-    npmlog "0 || 1 || 2 || 3 || 4"
-    osenv "0"
-    request "2"
-    rimraf "2"
-    semver "~5.3.0"
-    tar "^2.0.0"
-    which "1"
-
-node-int64@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
-
-node-libs-browser@^0.7.0:
-  version "0.7.0"
-  resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.7.0.tgz#3e272c0819e308935e26674408d7af0e1491b83b"
-  dependencies:
-    assert "^1.1.1"
-    browserify-zlib "^0.1.4"
-    buffer "^4.9.0"
-    console-browserify "^1.1.0"
-    constants-browserify "^1.0.0"
-    crypto-browserify "3.3.0"
-    domain-browser "^1.1.1"
-    events "^1.0.0"
-    https-browserify "0.0.1"
-    os-browserify "^0.2.0"
-    path-browserify "0.0.0"
-    process "^0.11.0"
-    punycode "^1.2.4"
-    querystring-es3 "^0.2.0"
-    readable-stream "^2.0.5"
-    stream-browserify "^2.0.1"
-    stream-http "^2.3.1"
-    string_decoder "^0.10.25"
-    timers-browserify "^2.0.2"
-    tty-browserify "0.0.0"
-    url "^0.11.0"
-    util "^0.10.3"
-    vm-browserify "0.0.4"
-
-node-notifier@^5.0.2:
-  version "5.1.2"
-  resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.1.2.tgz#2fa9e12605fa10009d44549d6fcd8a63dde0e4ff"
-  dependencies:
-    growly "^1.3.0"
-    semver "^5.3.0"
-    shellwords "^0.1.0"
-    which "^1.2.12"
-
-node-pre-gyp@^0.6.39:
-  version "0.6.39"
-  resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649"
-  dependencies:
-    detect-libc "^1.0.2"
-    hawk "3.1.3"
-    mkdirp "^0.5.1"
-    nopt "^4.0.1"
-    npmlog "^4.0.2"
-    rc "^1.1.7"
-    request "2.81.0"
-    rimraf "^2.6.1"
-    semver "^5.3.0"
-    tar "^2.2.1"
-    tar-pack "^3.4.0"
-
-node-sass@^3.4.2:
-  version "3.13.1"
-  resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.13.1.tgz#7240fbbff2396304b4223527ed3020589c004fc2"
-  dependencies:
-    async-foreach "^0.1.3"
-    chalk "^1.1.1"
-    cross-spawn "^3.0.0"
-    gaze "^1.0.0"
-    get-stdin "^4.0.1"
-    glob "^7.0.3"
-    in-publish "^2.0.0"
-    lodash.assign "^4.2.0"
-    lodash.clonedeep "^4.3.2"
-    meow "^3.7.0"
-    mkdirp "^0.5.1"
-    nan "^2.3.2"
-    node-gyp "^3.3.1"
-    npmlog "^4.0.0"
-    request "^2.61.0"
-    sass-graph "^2.1.1"
-
-node-status-codes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f"
-
-"nopt@2 || 3", nopt@~3.0.1:
-  version "3.0.6"
-  resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9"
-  dependencies:
-    abbrev "1"
-
-nopt@^4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d"
-  dependencies:
-    abbrev "1"
-    osenv "^0.1.4"
-
-normalize-package-data@^2.3.2, normalize-package-data@^2.3.4:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f"
-  dependencies:
-    hosted-git-info "^2.1.4"
-    is-builtin-module "^1.0.0"
-    semver "2 || 3 || 4 || 5"
-    validate-npm-package-license "^3.0.1"
-
-normalize-path@^2.0.0, normalize-path@^2.0.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
-  dependencies:
-    remove-trailing-separator "^1.0.1"
-
-normalize-range@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
-
-normalize-url@^1.4.0:
-  version "1.9.1"
-  resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c"
-  dependencies:
-    object-assign "^4.0.1"
-    prepend-http "^1.0.0"
-    query-string "^4.1.0"
-    sort-keys "^1.0.0"
-
-nouislider@^10.1.0:
-  version "10.1.0"
-  resolved "https://registry.yarnpkg.com/nouislider/-/nouislider-10.1.0.tgz#7bdd0411fd62d4584bfe88cb92bb8d06e64c6b47"
-
-npm-run-path@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
-  dependencies:
-    path-key "^2.0.0"
-
-"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2:
-  version "4.1.2"
-  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
-  dependencies:
-    are-we-there-yet "~1.1.2"
-    console-control-strings "~1.1.0"
-    gauge "~2.7.3"
-    set-blocking "~2.0.0"
-
-num2fraction@^1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
-
-number-is-nan@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
-
-oauth-sign@~0.8.1, oauth-sign@~0.8.2:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43"
-
-object-assign@4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0"
-
-object-assign@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa"
-
-object-assign@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2"
-
-object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
-
-object-component@0.0.3:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291"
-
-object-copy@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
-  dependencies:
-    copy-descriptor "^0.1.0"
-    define-property "^0.2.5"
-    kind-of "^3.0.3"
-
-object-path@^0.9.0:
-  version "0.9.2"
-  resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5"
-
-object-visit@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
-  dependencies:
-    isobject "^3.0.0"
-
-object.defaults@^1.1.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
-  dependencies:
-    array-each "^1.0.1"
-    array-slice "^1.0.0"
-    for-own "^1.0.0"
-    isobject "^3.0.0"
-
-object.map@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"
-  dependencies:
-    for-own "^1.0.0"
-    make-iterator "^1.0.0"
-
-object.omit@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
-  dependencies:
-    for-own "^0.1.4"
-    is-extendable "^0.1.1"
-
-object.pick@^1.2.0, object.pick@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
-  dependencies:
-    isobject "^3.0.1"
-
-on-finished@~2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
-  dependencies:
-    ee-first "1.1.1"
-
-once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
-  dependencies:
-    wrappy "1"
-
-once@~1.3.0:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/once/-/once-1.3.3.tgz#b2e261557ce4c314ec8304f3fa82663e4297ca20"
-  dependencies:
-    wrappy "1"
-
-onecolor@~2.4.0:
-  version "2.4.2"
-  resolved "https://registry.yarnpkg.com/onecolor/-/onecolor-2.4.2.tgz#a53ec3ff171c3446016dd5210d1a1b544bf7d874"
-
-onetime@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789"
-
-openurl@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.1.tgz#3875b4b0ef7a52c156f0db41d4609dbb0f94b387"
-
-opn@4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95"
-  dependencies:
-    object-assign "^4.0.1"
-    pinkie-promise "^2.0.0"
-
-optimist@^0.6.1, optimist@~0.6.0:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686"
-  dependencies:
-    minimist "~0.0.1"
-    wordwrap "~0.0.2"
-
-optionator@^0.8.2:
-  version "0.8.2"
-  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
-  dependencies:
-    deep-is "~0.1.3"
-    fast-levenshtein "~2.0.4"
-    levn "~0.3.0"
-    prelude-ls "~1.1.2"
-    type-check "~0.3.2"
-    wordwrap "~1.0.0"
-
-optipng-bin@^3.0.0:
-  version "3.1.4"
-  resolved "https://registry.yarnpkg.com/optipng-bin/-/optipng-bin-3.1.4.tgz#95d34f2c488704f6fd70606bfea0c659f1d95d84"
-  dependencies:
-    bin-build "^2.0.0"
-    bin-wrapper "^3.0.0"
-    logalot "^2.0.0"
-
-orchestrator@^0.3.0:
-  version "0.3.8"
-  resolved "https://registry.yarnpkg.com/orchestrator/-/orchestrator-0.3.8.tgz#14e7e9e2764f7315fbac184e506c7aa6df94ad7e"
-  dependencies:
-    end-of-stream "~0.1.5"
-    sequencify "~0.0.7"
-    stream-consume "~0.1.0"
-
-ordered-read-streams@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126"
-
-ordered-read-streams@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b"
-  dependencies:
-    is-stream "^1.0.1"
-    readable-stream "^2.0.1"
-
-os-browserify@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f"
-
-os-filter-obj@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-1.0.3.tgz#5915330d90eced557d2d938a31c6dd214d9c63ad"
-
-os-homedir@^1.0.0, os-homedir@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
-
-os-locale@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9"
-  dependencies:
-    lcid "^1.0.0"
-
-os-tmpdir@^1.0.0, os-tmpdir@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
-
-osenv@0, osenv@^0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644"
-  dependencies:
-    os-homedir "^1.0.0"
-    os-tmpdir "^1.0.0"
-
-p-finally@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
-
-p-limit@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.2.0.tgz#0e92b6bedcb59f022c13d0f1949dc82d15909f1c"
-  dependencies:
-    p-try "^1.0.0"
-
-p-locate@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
-  dependencies:
-    p-limit "^1.1.0"
-
-p-pipe@^1.1.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9"
-
-p-try@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
-
-pako@~0.2.0:
-  version "0.2.9"
-  resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75"
-
-param-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
-  dependencies:
-    no-case "^2.2.0"
-
-parse-filepath@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891"
-  dependencies:
-    is-absolute "^1.0.0"
-    map-cache "^0.2.0"
-    path-root "^0.1.1"
-
-parse-glob@^3.0.4:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
-  dependencies:
-    glob-base "^0.3.0"
-    is-dotfile "^1.0.0"
-    is-extglob "^1.0.0"
-    is-glob "^2.0.0"
-
-parse-json@^2.1.0, parse-json@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
-  dependencies:
-    error-ex "^1.2.0"
-
-parse-passwd@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
-
-parseqs@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d"
-  dependencies:
-    better-assert "~1.0.0"
-
-parseuri@0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a"
-  dependencies:
-    better-assert "~1.0.0"
-
-parseurl@~1.3.1:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3"
-
-pascal-case@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e"
-  dependencies:
-    camel-case "^3.0.0"
-    upper-case-first "^1.1.0"
-
-pascalcase@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
-
-path-browserify@0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a"
-
-path-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5"
-  dependencies:
-    no-case "^2.2.0"
-
-path-dirname@^1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
-
-path-exists@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
-  dependencies:
-    pinkie-promise "^2.0.0"
-
-path-exists@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
-
-path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
-
-path-is-inside@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
-
-path-key@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
-
-path-parse@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1"
-
-path-root-regex@^0.1.0:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"
-
-path-root@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7"
-  dependencies:
-    path-root-regex "^0.1.0"
-
-path-type@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
-  dependencies:
-    graceful-fs "^4.1.2"
-    pify "^2.0.0"
-    pinkie-promise "^2.0.0"
-
-path-type@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73"
-  dependencies:
-    pify "^2.0.0"
-
-pbkdf2-compat@2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288"
-
-pend@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
-
-performance-now@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5"
-
-performance-now@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
-
-pify@^2.0.0, pify@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
-
-pify@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
-
-pinkie-promise@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-1.0.0.tgz#d1da67f5482563bb7cf57f286ae2822ecfbf3670"
-  dependencies:
-    pinkie "^1.0.0"
-
-pinkie-promise@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
-  dependencies:
-    pinkie "^2.0.0"
-
-pinkie@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-1.0.0.tgz#5a47f28ba1015d0201bda7bf0f358e47bec8c7e4"
-
-pinkie@^2.0.0:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
-
-pixrem@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/pixrem/-/pixrem-3.0.2.tgz#30d1bafb4c3bdce8e9bb4bd56a13985619320c34"
-  dependencies:
-    browserslist "^1.0.0"
-    postcss "^5.0.0"
-    reduce-css-calc "^1.2.7"
-
-pkg-dir@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
-  dependencies:
-    find-up "^1.0.0"
-
-pkg-resolve@^0.1.7:
-  version "0.1.14"
-  resolved "https://registry.yarnpkg.com/pkg-resolve/-/pkg-resolve-0.1.14.tgz#329b2e76ccbb372e22e6a3a41cb30ab0457836ba"
-  dependencies:
-    jspm "^0.17.0-beta.13"
-    resolve "^1.1.7"
-
-pleeease-filters@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/pleeease-filters/-/pleeease-filters-3.0.1.tgz#4dfe0e8f1046613517c64b728bc80608a7ebf22f"
-  dependencies:
-    onecolor "~2.4.0"
-    postcss "^5.0.4"
-
-plugin-error@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace"
-  dependencies:
-    ansi-cyan "^0.1.1"
-    ansi-red "^0.1.1"
-    arr-diff "^1.0.1"
-    arr-union "^2.0.1"
-    extend-shallow "^1.1.2"
-
-plur@^2.1.2:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a"
-  dependencies:
-    irregular-plurals "^1.0.0"
-
-pluralize@^1.2.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-1.2.1.tgz#d1a21483fd22bb41e58a12fa3421823140897c45"
-
-plyr@^2.0.18:
-  version "2.0.18"
-  resolved "https://registry.yarnpkg.com/plyr/-/plyr-2.0.18.tgz#91ebb7ffe6a61f4517a8c88ed04036fe95101f4f"
-
-portscanner@2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96"
-  dependencies:
-    async "1.5.2"
-    is-number-like "^1.0.3"
-
-posix-character-classes@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
-
-postcss-advanced-variables@1.2.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/postcss-advanced-variables/-/postcss-advanced-variables-1.2.2.tgz#90a6213262e66a050a368b4a9c5d4778d72dbd74"
-  dependencies:
-    postcss "^5.0.10"
-
-postcss-apply@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/postcss-apply/-/postcss-apply-0.3.0.tgz#a2f37c5bdfa881e4c15f4f245ec0cd96dd2e70d5"
-  dependencies:
-    balanced-match "^0.4.1"
-    postcss "^5.0.21"
-
-postcss-atroot@^0.1.2:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/postcss-atroot/-/postcss-atroot-0.1.3.tgz#6752c0230c745140549345b2b0e30ebeda01a405"
-  dependencies:
-    postcss "^5.0.5"
-
-postcss-attribute-case-insensitive@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-1.0.1.tgz#ceb73777e106167eb233f1938c9bd9f2e697308d"
-  dependencies:
-    postcss "^5.1.1"
-    postcss-selector-parser "^2.2.0"
-
-postcss-calc@^5.0.0, postcss-calc@^5.2.0:
-  version "5.3.1"
-  resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e"
-  dependencies:
-    postcss "^5.0.2"
-    postcss-message-helpers "^2.0.0"
-    reduce-css-calc "^1.2.6"
-
-postcss-color-function@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-color-function/-/postcss-color-function-2.0.1.tgz#9ad226f550e8a7c7f8b8a77860545b6dd7f55241"
-  dependencies:
-    css-color-function "^1.2.0"
-    postcss "^5.0.4"
-    postcss-message-helpers "^2.0.0"
-    postcss-value-parser "^3.3.0"
-
-postcss-color-gray@^3.0.0:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-3.0.1.tgz#74432ede66dd83b1d1363565c68b376e18ff6770"
-  dependencies:
-    color "^0.11.3"
-    postcss "^5.0.4"
-    postcss-message-helpers "^2.0.0"
-    reduce-function-call "^1.0.1"
-
-postcss-color-hex-alpha@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-2.0.0.tgz#44fd6ecade66028648c881cb6504cdcbfdc6cd09"
-  dependencies:
-    color "^0.10.1"
-    postcss "^5.0.4"
-    postcss-message-helpers "^2.0.0"
-
-postcss-color-hsl@^1.0.5:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/postcss-color-hsl/-/postcss-color-hsl-1.0.5.tgz#f53bb1c348310ce307ad89e3181a864738b5e687"
-  dependencies:
-    postcss "^5.2.0"
-    postcss-value-parser "^3.3.0"
-    units-css "^0.4.0"
-
-postcss-color-hwb@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-color-hwb/-/postcss-color-hwb-2.0.1.tgz#d63afaf9b70cb595f900a29c9fe57bf2a32fabec"
-  dependencies:
-    color "^0.11.4"
-    postcss "^5.0.4"
-    postcss-message-helpers "^2.0.0"
-    reduce-function-call "^1.0.1"
-
-postcss-color-rebeccapurple@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-2.0.1.tgz#74c6444e7cbb7d85613b5f7286df7a491608451c"
-  dependencies:
-    color "^0.11.4"
-    postcss "^5.0.4"
-
-postcss-color-rgb@^1.1.4:
-  version "1.1.4"
-  resolved "https://registry.yarnpkg.com/postcss-color-rgb/-/postcss-color-rgb-1.1.4.tgz#f29243e22e8e8c13434474092372d4ce605be8bc"
-  dependencies:
-    postcss "^5.2.0"
-    postcss-value-parser "^3.3.0"
-
-postcss-color-rgba-fallback@^2.0.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-color-rgba-fallback/-/postcss-color-rgba-fallback-2.2.0.tgz#6d29491be5990a93173d47e7c76f5810b09402ba"
-  dependencies:
-    postcss "^5.0.0"
-    postcss-value-parser "^3.0.2"
-    rgb-hex "^1.0.0"
-
-postcss-colormin@^2.1.8:
-  version "2.2.2"
-  resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b"
-  dependencies:
-    colormin "^1.0.5"
-    postcss "^5.0.13"
-    postcss-value-parser "^3.2.3"
-
-postcss-convert-values@^2.3.4:
-  version "2.6.1"
-  resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d"
-  dependencies:
-    postcss "^5.0.11"
-    postcss-value-parser "^3.1.2"
-
-postcss-cssnext@^2.8.0:
-  version "2.11.0"
-  resolved "https://registry.yarnpkg.com/postcss-cssnext/-/postcss-cssnext-2.11.0.tgz#31e68f001e409604da703b66de14b8b8c8c9f2b1"
-  dependencies:
-    autoprefixer "^6.0.2"
-    caniuse-api "^1.5.3"
-    chalk "^1.1.1"
-    pixrem "^3.0.0"
-    pleeease-filters "^3.0.0"
-    postcss "^5.0.4"
-    postcss-apply "^0.3.0"
-    postcss-attribute-case-insensitive "^1.0.1"
-    postcss-calc "^5.0.0"
-    postcss-color-function "^2.0.0"
-    postcss-color-gray "^3.0.0"
-    postcss-color-hex-alpha "^2.0.0"
-    postcss-color-hsl "^1.0.5"
-    postcss-color-hwb "^2.0.0"
-    postcss-color-rebeccapurple "^2.0.0"
-    postcss-color-rgb "^1.1.4"
-    postcss-color-rgba-fallback "^2.0.0"
-    postcss-custom-media "^5.0.0"
-    postcss-custom-properties "^5.0.0"
-    postcss-custom-selectors "^3.0.0"
-    postcss-font-family-system-ui "^1.0.1"
-    postcss-font-variant "^2.0.0"
-    postcss-image-set-polyfill "^0.3.3"
-    postcss-initial "^1.3.1"
-    postcss-media-minmax "^2.1.0"
-    postcss-nesting "^2.0.5"
-    postcss-pseudo-class-any-link "^1.0.0"
-    postcss-pseudoelements "^3.0.0"
-    postcss-replace-overflow-wrap "^1.0.0"
-    postcss-selector-matches "^2.0.0"
-    postcss-selector-not "^2.0.0"
-
-postcss-custom-media@^5.0.0:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-5.0.1.tgz#138d25a184bf2eb54de12d55a6c01c30a9d8bd81"
-  dependencies:
-    postcss "^5.0.0"
-
-postcss-custom-properties@^5.0.0:
-  version "5.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-5.0.2.tgz#9719d78f2da9cf9f53810aebc23d4656130aceb1"
-  dependencies:
-    balanced-match "^0.4.2"
-    postcss "^5.0.0"
-
-postcss-custom-selectors@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-3.0.0.tgz#8f81249f5ed07a8d0917cf6a39fe5b056b7f96ac"
-  dependencies:
-    balanced-match "^0.2.0"
-    postcss "^5.0.0"
-    postcss-selector-matches "^2.0.0"
-
-postcss-discard-comments@^2.0.4:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d"
-  dependencies:
-    postcss "^5.0.14"
-
-postcss-discard-duplicates@^2.0.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-discard-empty@^2.0.1:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5"
-  dependencies:
-    postcss "^5.0.14"
-
-postcss-discard-overridden@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58"
-  dependencies:
-    postcss "^5.0.16"
-
-postcss-discard-unused@^2.2.1:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433"
-  dependencies:
-    postcss "^5.0.14"
-    uniqs "^2.0.0"
-
-postcss-extend@^1.0.1:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/postcss-extend/-/postcss-extend-1.0.5.tgz#5ea98bf787ba3cacf4df4609743f80a833b1d0e7"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-filter-plugins@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.2.tgz#6d85862534d735ac420e4a85806e1f5d4286d84c"
-  dependencies:
-    postcss "^5.0.4"
-    uniqid "^4.0.0"
-
-postcss-font-family-system-ui@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-font-family-system-ui/-/postcss-font-family-system-ui-1.0.2.tgz#3e1a5e3fb7e31e5e9e71439ccb0e8014556927c7"
-  dependencies:
-    lodash "^4.17.4"
-    postcss "^5.2.12"
-    postcss-value-parser "^3.3.0"
-
-postcss-font-variant@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-2.0.1.tgz#7ca29103f59fa02ca3ace2ca22b2f756853d4ef8"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-image-set-polyfill@^0.3.3:
-  version "0.3.5"
-  resolved "https://registry.yarnpkg.com/postcss-image-set-polyfill/-/postcss-image-set-polyfill-0.3.5.tgz#0f193413700cf1f82bd39066ef016d65a4a18181"
-  dependencies:
-    postcss "^6.0.1"
-    postcss-media-query-parser "^0.2.3"
-
-postcss-import@^8.1.2:
-  version "8.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-8.2.0.tgz#f92fd2454e21ef4efb1e75c00c47ac03f4d1397c"
-  dependencies:
-    object-assign "^4.0.1"
-    postcss "^5.0.14"
-    postcss-value-parser "^3.2.3"
-    promise-each "^2.2.0"
-    read-cache "^1.0.0"
-    resolve "^1.1.7"
-  optionalDependencies:
-    pkg-resolve "^0.1.7"
-
-postcss-initial@^1.3.1:
-  version "1.5.3"
-  resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-1.5.3.tgz#20c3e91c96822ddb1bed49508db96d56bac377d0"
-  dependencies:
-    lodash.template "^4.2.4"
-    postcss "^5.0.19"
-
-postcss-load-config@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a"
-  dependencies:
-    cosmiconfig "^2.1.0"
-    object-assign "^4.1.0"
-    postcss-load-options "^1.2.0"
-    postcss-load-plugins "^2.3.0"
-
-postcss-load-options@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c"
-  dependencies:
-    cosmiconfig "^2.1.0"
-    object-assign "^4.1.0"
-
-postcss-load-plugins@^2.3.0:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92"
-  dependencies:
-    cosmiconfig "^2.1.1"
-    object-assign "^4.1.0"
-
-postcss-media-minmax@^2.1.0:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-2.1.2.tgz#444c5cf8926ab5e4fd8a2509e9297e751649cdf8"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-media-query-parser@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz#27b39c6f4d94f81b1a73b8f76351c609e5cef244"
-
-postcss-merge-idents@^2.1.5:
-  version "2.1.7"
-  resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270"
-  dependencies:
-    has "^1.0.1"
-    postcss "^5.0.10"
-    postcss-value-parser "^3.1.1"
-
-postcss-merge-longhand@^2.0.1:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-merge-rules@^2.0.3:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721"
-  dependencies:
-    browserslist "^1.5.2"
-    caniuse-api "^1.5.2"
-    postcss "^5.0.4"
-    postcss-selector-parser "^2.2.2"
-    vendors "^1.0.0"
-
-postcss-message-helpers@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e"
-
-postcss-minify-font-values@^1.0.2:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69"
-  dependencies:
-    object-assign "^4.0.1"
-    postcss "^5.0.4"
-    postcss-value-parser "^3.0.2"
-
-postcss-minify-gradients@^1.0.1:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1"
-  dependencies:
-    postcss "^5.0.12"
-    postcss-value-parser "^3.3.0"
-
-postcss-minify-params@^1.0.4:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3"
-  dependencies:
-    alphanum-sort "^1.0.1"
-    postcss "^5.0.2"
-    postcss-value-parser "^3.0.2"
-    uniqs "^2.0.0"
-
-postcss-minify-selectors@^2.0.4:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf"
-  dependencies:
-    alphanum-sort "^1.0.2"
-    has "^1.0.1"
-    postcss "^5.0.14"
-    postcss-selector-parser "^2.0.0"
-
-postcss-mixins@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-mixins/-/postcss-mixins-2.1.1.tgz#b141a0803efa8e2d744867f8d91596890cf9241b"
-  dependencies:
-    globby "^3.0.1"
-    postcss "^5.0.10"
-    postcss-simple-vars "^1.0.1"
-
-postcss-nested@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-1.0.1.tgz#91f28f4e6e23d567241ac154558a0cfab4cc0d8f"
-  dependencies:
-    postcss "^5.2.17"
-
-postcss-nesting@^2.0.5, postcss-nesting@^2.0.6:
-  version "2.3.1"
-  resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-2.3.1.tgz#94a6b6a4ef707fbec20a87fee5c957759b4e01cf"
-  dependencies:
-    postcss "^5.0.19"
-
-postcss-normalize-charset@^1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1"
-  dependencies:
-    postcss "^5.0.5"
-
-postcss-normalize-url@^3.0.7:
-  version "3.0.8"
-  resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222"
-  dependencies:
-    is-absolute-url "^2.0.0"
-    normalize-url "^1.4.0"
-    postcss "^5.0.14"
-    postcss-value-parser "^3.2.3"
-
-postcss-ordered-values@^2.1.0:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d"
-  dependencies:
-    postcss "^5.0.4"
-    postcss-value-parser "^3.0.1"
-
-postcss-partial-import@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/postcss-partial-import/-/postcss-partial-import-1.3.0.tgz#2f4b773a76c7b0a69b389dcf475c4d362d0d2576"
-  dependencies:
-    fs-extra "^0.24.0"
-    fs-promise "^0.3.1"
-    object-assign "^4.0.1"
-    postcss "^5.0.5"
-    string-hash "^1.1.0"
-
-postcss-property-lookup@^1.1.3:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/postcss-property-lookup/-/postcss-property-lookup-1.2.1.tgz#30450a1361b7aae758bbedd5201fbe057bb8270b"
-  dependencies:
-    object-assign "^4.0.1"
-    postcss "^5.0.4"
-    tcomb "^2.5.1"
-
-postcss-pseudo-class-any-link@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-1.0.0.tgz#903239196401d335fe73ac756186fa62e693af26"
-  dependencies:
-    postcss "^5.0.3"
-    postcss-selector-parser "^1.1.4"
-
-postcss-pseudoelements@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-pseudoelements/-/postcss-pseudoelements-3.0.0.tgz#6c682177c7900ba053b6df17f8c590284c7b8bbc"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-reduce-idents@^2.2.2:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3"
-  dependencies:
-    postcss "^5.0.4"
-    postcss-value-parser "^3.0.2"
-
-postcss-reduce-initial@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea"
-  dependencies:
-    postcss "^5.0.4"
-
-postcss-reduce-transforms@^1.0.3:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1"
-  dependencies:
-    has "^1.0.1"
-    postcss "^5.0.8"
-    postcss-value-parser "^3.0.1"
-
-postcss-replace-overflow-wrap@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-1.0.0.tgz#f0a03b31eab9636a6936bfd210e2aef1b434a643"
-  dependencies:
-    postcss "^5.0.16"
-
-postcss-selector-matches@^2.0.0:
-  version "2.0.5"
-  resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-2.0.5.tgz#fa0f43be57b68e77aa4cd11807023492a131027f"
-  dependencies:
-    balanced-match "^0.4.2"
-    postcss "^5.0.0"
-
-postcss-selector-not@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-2.0.0.tgz#c73ad21a3f75234bee7fee269e154fd6a869798d"
-  dependencies:
-    balanced-match "^0.2.0"
-    postcss "^5.0.0"
-
-postcss-selector-parser@^1.1.4:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-1.3.3.tgz#d2ee19df7a64f8ef21c1a71c86f7d4835c88c281"
-  dependencies:
-    flatten "^1.0.2"
-    indexes-of "^1.0.1"
-    uniq "^1.0.1"
-
-postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.0, postcss-selector-parser@^2.2.2:
-  version "2.2.3"
-  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90"
-  dependencies:
-    flatten "^1.0.2"
-    indexes-of "^1.0.1"
-    uniq "^1.0.1"
-
-postcss-simple-vars@^1.0.1:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-simple-vars/-/postcss-simple-vars-1.2.0.tgz#2e6689921144b74114e765353275a3c32143f150"
-  dependencies:
-    postcss "^5.0.13"
-
-postcss-svgo@^2.1.1:
-  version "2.1.6"
-  resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d"
-  dependencies:
-    is-svg "^2.0.0"
-    postcss "^5.0.14"
-    postcss-value-parser "^3.2.3"
-    svgo "^0.7.0"
-
-postcss-unique-selectors@^2.0.2:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d"
-  dependencies:
-    alphanum-sort "^1.0.1"
-    postcss "^5.0.4"
-    uniqs "^2.0.0"
-
-postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0:
-  version "3.3.0"
-  resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15"
-
-postcss-zindex@^2.0.1:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22"
-  dependencies:
-    has "^1.0.1"
-    postcss "^5.0.4"
-    uniqs "^2.0.0"
-
-postcss@^5.0.0, postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.19, postcss@^5.0.2, postcss@^5.0.21, postcss@^5.0.3, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.1.1, postcss@^5.2.0, postcss@^5.2.12, postcss@^5.2.16, postcss@^5.2.17:
-  version "5.2.18"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
-  dependencies:
-    chalk "^1.1.3"
-    js-base64 "^2.1.9"
-    source-map "^0.5.6"
-    supports-color "^3.2.3"
-
-postcss@^6.0.1:
-  version "6.0.16"
-  resolved "https://registry.yarnpkg.com/postcss/-/postcss-6.0.16.tgz#112e2fe2a6d2109be0957687243170ea5589e146"
-  dependencies:
-    chalk "^2.3.0"
-    source-map "^0.6.1"
-    supports-color "^5.1.0"
-
-precommit-hook-eslint@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/precommit-hook-eslint/-/precommit-hook-eslint-3.0.0.tgz#9071feb34c0d5206fdfa550d526e6e26120db70a"
-  dependencies:
-    git-validate "^2.0.0"
-
-precss@^1.4.0:
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/precss/-/precss-1.4.0.tgz#8d7c3ae70f10a00a3955287f85a66e0f8b31cda3"
-  dependencies:
-    postcss "^5.0.10"
-    postcss-advanced-variables "1.2.2"
-    postcss-atroot "^0.1.2"
-    postcss-color-function "^2.0.0"
-    postcss-custom-media "^5.0.0"
-    postcss-custom-properties "^5.0.0"
-    postcss-custom-selectors "^3.0.0"
-    postcss-extend "^1.0.1"
-    postcss-media-minmax "^2.1.0"
-    postcss-mixins "^2.1.0"
-    postcss-nested "^1.0.0"
-    postcss-nesting "^2.0.6"
-    postcss-partial-import "^1.3.0"
-    postcss-property-lookup "^1.1.3"
-    postcss-selector-matches "^2.0.0"
-    postcss-selector-not "^2.0.0"
-
-prelude-ls@~1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
-
-prepend-http@^1.0.0, prepend-http@^1.0.1:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc"
-
-preserve@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
-
-pretty-bytes@^4.0.2:
-  version "4.0.2"
-  resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-4.0.2.tgz#b2bf82e7350d65c6c33aa95aaa5a4f6327f61cd9"
-
-pretty-hrtime@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
-
-private@^0.1.6, private@^0.1.7:
-  version "0.1.8"
-  resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
-
-process-nextick-args@~1.0.6:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3"
-
-process@^0.11.0:
-  version "0.11.10"
-  resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
-
-progress@^1.1.8:
-  version "1.1.8"
-  resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be"
-
-promise-each@^2.2.0:
-  version "2.2.0"
-  resolved "https://registry.yarnpkg.com/promise-each/-/promise-each-2.2.0.tgz#3353174eff2694481037e04e01f77aa0fb6d1b60"
-  dependencies:
-    any-promise "^0.1.0"
-
-proper-lockfile@^1.1.2:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/proper-lockfile/-/proper-lockfile-1.2.0.tgz#ceff5dd89d3e5f10fb75e1e8e76bc75801a59c34"
-  dependencies:
-    err-code "^1.0.0"
-    extend "^3.0.0"
-    graceful-fs "^4.1.2"
-    retry "^0.10.0"
-
-proto-list@~1.2.1:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
-
-prr@~1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
-
-pseudomap@^1.0.1, pseudomap@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
-
-pump@^1.0.0:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.3.tgz#5dfe8311c33bbf6fc18261f9f34702c47c08a954"
-  dependencies:
-    end-of-stream "^1.1.0"
-    once "^1.3.1"
-
-punycode@1.3.2:
-  version "1.3.2"
-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d"
-
-punycode@^1.2.4, punycode@^1.4.1:
-  version "1.4.1"
-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
-
-q@^1.1.2:
-  version "1.5.1"
-  resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
-
-qs@6.2.1:
-  version "6.2.1"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.1.tgz#ce03c5ff0935bc1d9d69a9f14cbd18e568d67625"
-
-qs@~6.4.0:
-  version "6.4.0"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233"
-
-qs@~6.5.1:
-  version "6.5.1"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8"
-
-query-string@^4.1.0:
-  version "4.3.4"
-  resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
-  dependencies:
-    object-assign "^4.1.0"
-    strict-uri-encode "^1.0.0"
-
-querystring-es3@^0.2.0:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
-
-querystring@0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
-
-randomatic@^1.1.3:
-  version "1.1.7"
-  resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c"
-  dependencies:
-    is-number "^3.0.0"
-    kind-of "^4.0.0"
-
-range-parser@~1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e"
-
-rc@^1.1.2, rc@^1.1.7:
-  version "1.2.3"
-  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.3.tgz#51575a900f8dd68381c710b4712c2154c3e2035b"
-  dependencies:
-    deep-extend "~0.4.0"
-    ini "~1.3.0"
-    minimist "^1.2.0"
-    strip-json-comments "~2.0.1"
-
-read-all-stream@^3.0.0:
-  version "3.1.0"
-  resolved "http://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa"
-  dependencies:
-    pinkie-promise "^2.0.0"
-    readable-stream "^2.0.0"
-
-read-cache@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
-  dependencies:
-    pify "^2.3.0"
-
-read-pkg-up@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
-  dependencies:
-    find-up "^1.0.0"
-    read-pkg "^1.0.0"
-
-read-pkg-up@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be"
-  dependencies:
-    find-up "^2.0.0"
-    read-pkg "^2.0.0"
-
-read-pkg@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
-  dependencies:
-    load-json-file "^1.0.0"
-    normalize-package-data "^2.3.2"
-    path-type "^1.0.0"
-
-read-pkg@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8"
-  dependencies:
-    load-json-file "^2.0.0"
-    normalize-package-data "^2.3.2"
-    path-type "^2.0.0"
-
-"readable-stream@>=1.0.33-1 <1.1.0-0":
-  version "1.0.34"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "0.0.1"
-    string_decoder "~0.10.x"
-
-readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6:
-  version "2.3.3"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.3"
-    isarray "~1.0.0"
-    process-nextick-args "~1.0.6"
-    safe-buffer "~5.1.1"
-    string_decoder "~1.0.3"
-    util-deprecate "~1.0.1"
-
-readable-stream@~1.1.9:
-  version "1.1.14"
-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9"
-  dependencies:
-    core-util-is "~1.0.0"
-    inherits "~2.0.1"
-    isarray "0.0.1"
-    string_decoder "~0.10.x"
-
-readdirp@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78"
-  dependencies:
-    graceful-fs "^4.1.2"
-    minimatch "^3.0.2"
-    readable-stream "^2.0.2"
-    set-immediate-shim "^1.0.1"
-
-readline2@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/readline2/-/readline2-1.0.1.tgz#41059608ffc154757b715d9989d199ffbf372e35"
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    mute-stream "0.0.5"
-
-rechoir@^0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
-  dependencies:
-    resolve "^1.1.6"
-
-redent@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
-  dependencies:
-    indent-string "^2.1.0"
-    strip-indent "^1.0.1"
-
-reduce-css-calc@^1.2.6, reduce-css-calc@^1.2.7:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716"
-  dependencies:
-    balanced-match "^0.4.2"
-    math-expression-evaluator "^1.2.14"
-    reduce-function-call "^1.0.1"
-
-reduce-function-call@^1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99"
-  dependencies:
-    balanced-match "^0.4.2"
-
-regenerate@^1.2.1:
-  version "1.3.3"
-  resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f"
-
-regenerator-runtime@^0.11.0:
-  version "0.11.1"
-  resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
-
-regenerator-transform@^0.10.0:
-  version "0.10.1"
-  resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd"
-  dependencies:
-    babel-runtime "^6.18.0"
-    babel-types "^6.19.0"
-    private "^0.1.6"
-
-regex-cache@^0.4.2:
-  version "0.4.4"
-  resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
-  dependencies:
-    is-equal-shallow "^0.1.3"
-
-regex-not@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.0.tgz#42f83e39771622df826b02af176525d6a5f157f9"
-  dependencies:
-    extend-shallow "^2.0.1"
-
-regexpu-core@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240"
-  dependencies:
-    regenerate "^1.2.1"
-    regjsgen "^0.2.0"
-    regjsparser "^0.1.4"
-
-regjsgen@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7"
-
-regjsparser@^0.1.4:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c"
-  dependencies:
-    jsesc "~0.5.0"
-
-relateurl@0.2.x:
-  version "0.2.7"
-  resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
-
-remove-trailing-separator@^1.0.1:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
-
-repeat-element@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a"
-
-repeat-string@^1.5.2, repeat-string@^1.6.1:
-  version "1.6.1"
-  resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
-
-repeating@^2.0.0:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
-  dependencies:
-    is-finite "^1.0.0"
-
-replace-ext@0.0.1:
-  version "0.0.1"
-  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924"
-
-replace-ext@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb"
-
-request@2, request@^2.58.0, request@^2.61.0, request@^2.67.0, request@^2.74.0:
-  version "2.83.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356"
-  dependencies:
-    aws-sign2 "~0.7.0"
-    aws4 "^1.6.0"
-    caseless "~0.12.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.1"
-    forever-agent "~0.6.1"
-    form-data "~2.3.1"
-    har-validator "~5.0.3"
-    hawk "~6.0.2"
-    http-signature "~1.2.0"
-    is-typedarray "~1.0.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.17"
-    oauth-sign "~0.8.2"
-    performance-now "^2.1.0"
-    qs "~6.5.1"
-    safe-buffer "^5.1.1"
-    stringstream "~0.0.5"
-    tough-cookie "~2.3.3"
-    tunnel-agent "^0.6.0"
-    uuid "^3.1.0"
-
-request@2.81.0:
-  version "2.81.0"
-  resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0"
-  dependencies:
-    aws-sign2 "~0.6.0"
-    aws4 "^1.2.1"
-    caseless "~0.12.0"
-    combined-stream "~1.0.5"
-    extend "~3.0.0"
-    forever-agent "~0.6.1"
-    form-data "~2.1.1"
-    har-validator "~4.2.1"
-    hawk "~3.1.3"
-    http-signature "~1.1.0"
-    is-typedarray "~1.0.0"
-    isstream "~0.1.2"
-    json-stringify-safe "~5.0.1"
-    mime-types "~2.1.7"
-    oauth-sign "~0.8.1"
-    performance-now "^0.2.0"
-    qs "~6.4.0"
-    safe-buffer "^5.0.1"
-    stringstream "~0.0.4"
-    tough-cookie "~2.3.0"
-    tunnel-agent "^0.6.0"
-    uuid "^3.0.0"
-
-require-directory@^2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
-
-require-from-string@^1.1.0:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418"
-
-require-main-filename@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
-
-require-uncached@^1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
-  dependencies:
-    caller-path "^0.1.0"
-    resolve-from "^1.0.0"
-
-requires-port@1.x.x:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
-
-resolve-dir@^1.0.0, resolve-dir@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
-  dependencies:
-    expand-tilde "^2.0.0"
-    global-modules "^1.0.0"
-
-resolve-from@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
-
-resolve-url@^0.2.1, resolve-url@~0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
-
-resolve@^1.1.6, resolve@^1.1.7, resolve@^1.5.0:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36"
-  dependencies:
-    path-parse "^1.0.5"
-
-resp-modifier@6.0.2:
-  version "6.0.2"
-  resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f"
-  dependencies:
-    debug "^2.2.0"
-    minimatch "^3.0.2"
-
-restore-cursor@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-1.0.1.tgz#34661f46886327fed2991479152252df92daa541"
-  dependencies:
-    exit-hook "^1.0.0"
-    onetime "^1.0.0"
-
-retry@^0.10.0:
-  version "0.10.1"
-  resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4"
-
-rgb-hex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/rgb-hex/-/rgb-hex-1.0.0.tgz#bfaf8cd9cd9164b5a26d71eb4f15a0965324b3c1"
-
-rgb@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/rgb/-/rgb-0.1.0.tgz#be27b291e8feffeac1bd99729721bfa40fc037b5"
-
-right-align@^0.1.1:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef"
-  dependencies:
-    align-text "^0.1.1"
-
-rimraf@2, rimraf@^2.2.6, rimraf@^2.2.8, rimraf@^2.3.2, rimraf@^2.4.4, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1:
-  version "2.6.2"
-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36"
-  dependencies:
-    glob "^7.0.5"
-
-ripemd160@0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce"
-
-rollup@^0.36.3:
-  version "0.36.4"
-  resolved "https://registry.yarnpkg.com/rollup/-/rollup-0.36.4.tgz#a224494c5386c1d73d38f7bb86f69f5eb011a3d2"
-  dependencies:
-    source-map-support "^0.4.0"
-
-rsvp@^3.0.13, rsvp@^3.0.18:
-  version "3.6.2"
-  resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
-
-run-async@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/run-async/-/run-async-0.1.0.tgz#c8ad4a5e110661e402a7d21b530e009f25f8e389"
-  dependencies:
-    once "^1.3.0"
-
-run-sequence@^1.0.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/run-sequence/-/run-sequence-1.2.2.tgz#5095a0bebe98733b0140bd08dd80ec030ddacdeb"
-  dependencies:
-    chalk "*"
-    gulp-util "*"
-
-rx-lite@^3.1.2:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-3.1.2.tgz#19ce502ca572665f3b647b10939f97fd1615f102"
-
-rx@4.1.0:
-  version "4.1.0"
-  resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782"
-
-safe-buffer@^5.0.1, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
-  version "5.1.1"
-  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
-
-sane@^1.3.3:
-  version "1.7.0"
-  resolved "https://registry.yarnpkg.com/sane/-/sane-1.7.0.tgz#b3579bccb45c94cf20355cc81124990dfd346e30"
-  dependencies:
-    anymatch "^1.3.0"
-    exec-sh "^0.2.0"
-    fb-watchman "^2.0.0"
-    minimatch "^3.0.2"
-    minimist "^1.1.1"
-    walker "~1.0.5"
-    watch "~0.10.0"
-
-sass-graph@^2.1.1:
-  version "2.2.4"
-  resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49"
-  dependencies:
-    glob "^7.0.0"
-    lodash "^4.0.0"
-    scss-tokenizer "^0.2.3"
-    yargs "^7.0.0"
-
-sax@~1.2.1:
-  version "1.2.4"
-  resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
-
-scripts-loader@^0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/scripts-loader/-/scripts-loader-0.1.3.tgz#11592c5707e447e72d9d59a824ae20daea314303"
-  dependencies:
-    file "^0.2.2"
-
-scss-tokenizer@^0.2.3:
-  version "0.2.3"
-  resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1"
-  dependencies:
-    js-base64 "^2.1.8"
-    source-map "^0.4.2"
-
-seek-bzip@^1.0.3:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc"
-  dependencies:
-    commander "~2.8.1"
-
-semver-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9"
-
-semver-truncate@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8"
-  dependencies:
-    semver "^5.3.0"
-
-"semver@2 || 3 || 4 || 5", semver@^5.0.1, semver@^5.1.0, semver@^5.3.0:
-  version "5.4.1"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e"
-
-semver@5.3.0, semver@~5.3.0:
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
-
-semver@^4.0.3, semver@^4.1.0, semver@^4.3.3:
-  version "4.3.6"
-  resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da"
-
-send@0.15.2:
-  version "0.15.2"
-  resolved "https://registry.yarnpkg.com/send/-/send-0.15.2.tgz#f91fab4403bcf87e716f70ceb5db2f578bdc17d6"
-  dependencies:
-    debug "2.6.4"
-    depd "~1.1.0"
-    destroy "~1.0.4"
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    etag "~1.8.0"
-    fresh "0.5.0"
-    http-errors "~1.6.1"
-    mime "1.3.4"
-    ms "1.0.0"
-    on-finished "~2.3.0"
-    range-parser "~1.2.0"
-    statuses "~1.3.1"
-
-sentence-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4"
-  dependencies:
-    no-case "^2.2.0"
-    upper-case-first "^1.1.2"
-
-sequencify@~0.0.7:
-  version "0.0.7"
-  resolved "https://registry.yarnpkg.com/sequencify/-/sequencify-0.0.7.tgz#90cff19d02e07027fd767f5ead3e7b95d1e7380c"
-
-serve-index@1.8.0:
-  version "1.8.0"
-  resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.8.0.tgz#7c5d96c13fb131101f93c1c5774f8516a1e78d3b"
-  dependencies:
-    accepts "~1.3.3"
-    batch "0.5.3"
-    debug "~2.2.0"
-    escape-html "~1.0.3"
-    http-errors "~1.5.0"
-    mime-types "~2.1.11"
-    parseurl "~1.3.1"
-
-serve-static@1.12.2:
-  version "1.12.2"
-  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.2.tgz#e546e2726081b81b4bcec8e90808ebcdd323afba"
-  dependencies:
-    encodeurl "~1.0.1"
-    escape-html "~1.0.3"
-    parseurl "~1.3.1"
-    send "0.15.2"
-
-server-destroy@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd"
-
-set-blocking@^2.0.0, set-blocking@~2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
-
-set-getter@^0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/set-getter/-/set-getter-0.1.0.tgz#d769c182c9d5a51f409145f2fba82e5e86e80376"
-  dependencies:
-    to-object-path "^0.3.0"
-
-set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
-
-set-value@^0.4.3:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1"
-  dependencies:
-    extend-shallow "^2.0.1"
-    is-extendable "^0.1.1"
-    is-plain-object "^2.0.1"
-    to-object-path "^0.3.0"
-
-set-value@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274"
-  dependencies:
-    extend-shallow "^2.0.1"
-    is-extendable "^0.1.1"
-    is-plain-object "^2.0.3"
-    split-string "^3.0.1"
-
-setimmediate@^1.0.4:
-  version "1.0.5"
-  resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
-
-setprototypeof@1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.2.tgz#81a552141ec104b88e89ce383103ad5c66564d08"
-
-setprototypeof@1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04"
-
-sha.js@2.2.6:
-  version "2.2.6"
-  resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba"
-
-shebang-command@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
-  dependencies:
-    shebang-regex "^1.0.0"
-
-shebang-regex@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
-
-shelljs@^0.7.5:
-  version "0.7.8"
-  resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.8.tgz#decbcf874b0d1e5fb72e14b164a9683048e9acb3"
-  dependencies:
-    glob "^7.0.0"
-    interpret "^1.0.0"
-    rechoir "^0.6.2"
-
-shellwords@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
-
-sigmund@^1.0.1, sigmund@~1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590"
-
-signal-exit@^3.0.0:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
-
-slash@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
-
-slice-ansi@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
-
-snake-case@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f"
-  dependencies:
-    no-case "^2.2.0"
-
-snapdragon-node@^2.0.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
-  dependencies:
-    define-property "^1.0.0"
-    isobject "^3.0.0"
-    snapdragon-util "^3.0.1"
-
-snapdragon-util@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
-  dependencies:
-    kind-of "^3.2.0"
-
-snapdragon@^0.8.1:
-  version "0.8.1"
-  resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.1.tgz#e12b5487faded3e3dea0ac91e9400bf75b401370"
-  dependencies:
-    base "^0.11.1"
-    debug "^2.2.0"
-    define-property "^0.2.5"
-    extend-shallow "^2.0.1"
-    map-cache "^0.2.2"
-    source-map "^0.5.6"
-    source-map-resolve "^0.5.0"
-    use "^2.0.0"
-
-sntp@1.x.x:
-  version "1.0.9"
-  resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198"
-  dependencies:
-    hoek "2.x.x"
-
-sntp@2.x.x:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8"
-  dependencies:
-    hoek "4.x.x"
-
-socket.io-adapter@~1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b"
-
-socket.io-client@2.0.4:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.4.tgz#0918a552406dc5e540b380dcd97afc4a64332f8e"
-  dependencies:
-    backo2 "1.0.2"
-    base64-arraybuffer "0.1.5"
-    component-bind "1.0.0"
-    component-emitter "1.2.1"
-    debug "~2.6.4"
-    engine.io-client "~3.1.0"
-    has-cors "1.1.0"
-    indexof "0.0.1"
-    object-component "0.0.3"
-    parseqs "0.0.5"
-    parseuri "0.0.5"
-    socket.io-parser "~3.1.1"
-    to-array "0.1.4"
-
-socket.io-parser@~3.1.1:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.2.tgz#dbc2282151fc4faebbe40aeedc0772eba619f7f2"
-  dependencies:
-    component-emitter "1.2.1"
-    debug "~2.6.4"
-    has-binary2 "~1.0.2"
-    isarray "2.0.1"
-
-socket.io@2.0.4:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.0.4.tgz#c1a4590ceff87ecf13c72652f046f716b29e6014"
-  dependencies:
-    debug "~2.6.6"
-    engine.io "~3.1.0"
-    socket.io-adapter "~1.1.0"
-    socket.io-client "2.0.4"
-    socket.io-parser "~3.1.1"
-
-sort-asc@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/sort-asc/-/sort-asc-0.2.0.tgz#00a49e947bc25d510bfde2cbb8dffda9f50eb2fc"
-
-sort-desc@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/sort-desc/-/sort-desc-0.2.0.tgz#280c1bdafc6577887cedbad1ed2e41c037976646"
-
-sort-keys@^1.0.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad"
-  dependencies:
-    is-plain-obj "^1.0.0"
-
-sort-object@^3.0.2:
-  version "3.0.2"
-  resolved "https://registry.yarnpkg.com/sort-object/-/sort-object-3.0.2.tgz#daf2b693f611f7dd2a21b82b805e4eac230f755e"
-  dependencies:
-    bytewise "^1.1.0"
-    get-value "^2.0.2"
-    is-extendable "^0.1.1"
-    sort-asc "^0.2.0"
-    sort-desc "^0.2.0"
-    union-value "^0.2.3"
-
-source-list-map@~0.1.7:
-  version "0.1.8"
-  resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106"
-
-source-map-resolve@^0.3.0:
-  version "0.3.1"
-  resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.3.1.tgz#610f6122a445b8dd51535a2a71b783dfc1248761"
-  dependencies:
-    atob "~1.1.0"
-    resolve-url "~0.2.1"
-    source-map-url "~0.3.0"
-    urix "~0.1.0"
-
-source-map-resolve@^0.5.0:
-  version "0.5.1"
-  resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.1.tgz#7ad0f593f2281598e854df80f19aae4b92d7a11a"
-  dependencies:
-    atob "^2.0.0"
-    decode-uri-component "^0.2.0"
-    resolve-url "^0.2.1"
-    source-map-url "^0.4.0"
-    urix "^0.1.0"
-
-source-map-support@^0.4.0, source-map-support@^0.4.15:
-  version "0.4.18"
-  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
-  dependencies:
-    source-map "^0.5.6"
-
-source-map-support@~0.2.8:
-  version "0.2.10"
-  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.2.10.tgz#ea5a3900a1c1cb25096a0ae8cc5c2b4b10ded3dc"
-  dependencies:
-    source-map "0.1.32"
-
-source-map-url@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3"
-
-source-map-url@~0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.3.0.tgz#7ecaf13b57bcd09da8a40c5d269db33799d4aaf9"
-
-source-map@0.1.32:
-  version "0.1.32"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266"
-  dependencies:
-    amdefine ">=0.0.4"
-
-source-map@0.1.x, source-map@^0.1.38:
-  version "0.1.43"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346"
-  dependencies:
-    amdefine ">=0.0.4"
-
-source-map@0.4.x, source-map@^0.4.2, source-map@^0.4.4, source-map@~0.4.1:
-  version "0.4.4"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b"
-  dependencies:
-    amdefine ">=0.0.4"
-
-source-map@0.X, source-map@^0.6.1:
-  version "0.6.1"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
-
-source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1:
-  version "0.5.7"
-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
-
-sparkles@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.0.tgz#1acbbfb592436d10bbe8f785b7cc6f82815012c3"
-
-spdx-correct@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40"
-  dependencies:
-    spdx-license-ids "^1.0.2"
-
-spdx-expression-parse@~1.0.0:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c"
-
-spdx-license-ids@^1.0.2:
-  version "1.2.2"
-  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57"
-
-split-string@^3.0.1, split-string@^3.0.2:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
-  dependencies:
-    extend-shallow "^3.0.0"
-
-sprintf-js@~1.0.2:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
-
-squeak@^1.0.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/squeak/-/squeak-1.3.0.tgz#33045037b64388b567674b84322a6521073916c3"
-  dependencies:
-    chalk "^1.0.0"
-    console-stream "^0.1.1"
-    lpad-align "^1.0.1"
-
-sshpk@^1.7.0:
-  version "1.13.1"
-  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3"
-  dependencies:
-    asn1 "~0.2.3"
-    assert-plus "^1.0.0"
-    dashdash "^1.12.0"
-    getpass "^0.1.1"
-  optionalDependencies:
-    bcrypt-pbkdf "^1.0.0"
-    ecc-jsbn "~0.1.1"
-    jsbn "~0.1.0"
-    tweetnacl "~0.14.0"
-
-stat-mode@^0.2.0:
-  version "0.2.2"
-  resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502"
-
-static-extend@^0.1.1:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
-  dependencies:
-    define-property "^0.2.5"
-    object-copy "^0.1.0"
-
-"statuses@>= 1.3.1 < 2":
-  version "1.4.0"
-  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087"
-
-statuses@~1.3.0, statuses@~1.3.1:
-  version "1.3.1"
-  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
-
-stream-browserify@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db"
-  dependencies:
-    inherits "~2.0.1"
-    readable-stream "^2.0.2"
-
-stream-combiner2@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe"
-  dependencies:
-    duplexer2 "~0.1.0"
-    readable-stream "^2.0.2"
-
-stream-consume@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/stream-consume/-/stream-consume-0.1.0.tgz#a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f"
-
-stream-http@^2.3.1:
-  version "2.7.2"
-  resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad"
-  dependencies:
-    builtin-status-codes "^3.0.0"
-    inherits "^2.0.1"
-    readable-stream "^2.2.6"
-    to-arraybuffer "^1.0.0"
-    xtend "^4.0.0"
-
-stream-shift@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952"
-
-stream-throttle@^0.1.3:
-  version "0.1.3"
-  resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3"
-  dependencies:
-    commander "^2.2.0"
-    limiter "^1.0.5"
-
-strict-uri-encode@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
-
-string-hash@^1.1.0:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b"
-
-string-width@^1.0.1, string-width@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
-  dependencies:
-    code-point-at "^1.0.0"
-    is-fullwidth-code-point "^1.0.0"
-    strip-ansi "^3.0.0"
-
-string-width@^2.0.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
-  dependencies:
-    is-fullwidth-code-point "^2.0.0"
-    strip-ansi "^4.0.0"
-
-string_decoder@^0.10.25, string_decoder@~0.10.x:
-  version "0.10.31"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
-
-string_decoder@~1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab"
-  dependencies:
-    safe-buffer "~5.1.0"
-
-stringstream@~0.0.4, stringstream@~0.0.5:
-  version "0.0.5"
-  resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878"
-
-strip-ansi@^3.0.0, strip-ansi@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
-  dependencies:
-    ansi-regex "^2.0.0"
-
-strip-ansi@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
-  dependencies:
-    ansi-regex "^3.0.0"
-
-strip-bom-stream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee"
-  dependencies:
-    first-chunk-stream "^1.0.0"
-    strip-bom "^2.0.0"
-
-strip-bom@2.X, strip-bom@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
-  dependencies:
-    is-utf8 "^0.2.0"
-
-strip-bom@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794"
-  dependencies:
-    first-chunk-stream "^1.0.0"
-    is-utf8 "^0.2.0"
-
-strip-bom@^3.0.0:
-  version "3.0.0"
-  resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
-
-strip-dirs@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-1.1.1.tgz#960bbd1287844f3975a4558aa103a8255e2456a0"
-  dependencies:
-    chalk "^1.0.0"
-    get-stdin "^4.0.1"
-    is-absolute "^0.1.5"
-    is-natural-number "^2.0.0"
-    minimist "^1.1.0"
-    sum-up "^1.0.1"
-
-strip-eof@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
-
-strip-indent@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2"
-  dependencies:
-    get-stdin "^4.0.1"
-
-strip-json-comments@~2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
-
-strip-outer@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.0.tgz#aac0ba60d2e90c5d4f275fd8869fd9a2d310ffb8"
-  dependencies:
-    escape-string-regexp "^1.0.2"
-
-sum-up@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/sum-up/-/sum-up-1.0.3.tgz#1c661f667057f63bcb7875aa1438bc162525156e"
-  dependencies:
-    chalk "^1.0.0"
-
-supports-color@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
-
-supports-color@^3.1.0, supports-color@^3.2.3:
-  version "3.2.3"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
-  dependencies:
-    has-flag "^1.0.0"
-
-supports-color@^4.0.0:
-  version "4.5.0"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
-  dependencies:
-    has-flag "^2.0.0"
-
-supports-color@^5.1.0:
-  version "5.1.0"
-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.1.0.tgz#058a021d1b619f7ddf3980d712ea3590ce7de3d5"
-  dependencies:
-    has-flag "^2.0.0"
-
-svgo@^0.7.0:
-  version "0.7.2"
-  resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5"
-  dependencies:
-    coa "~1.0.1"
-    colors "~1.1.2"
-    csso "~2.3.1"
-    js-yaml "~3.7.0"
-    mkdirp "~0.5.1"
-    sax "~1.2.1"
-    whet.extend "~0.9.9"
-
-swap-case@^1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3"
-  dependencies:
-    lower-case "^1.1.1"
-    upper-case "^1.1.1"
-
-sweetalert2@^7.3.5:
-  version "7.3.5"
-  resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-7.3.5.tgz#fc900404660aa107dccd0ca4c9c8e918187ec5aa"
-
-systemjs-builder@0.16.12:
-  version "0.16.12"
-  resolved "https://registry.yarnpkg.com/systemjs-builder/-/systemjs-builder-0.16.12.tgz#0ceee27504d7903b09e047c660563d9ff2c0007b"
-  dependencies:
-    babel-core "^6.24.1"
-    babel-plugin-syntax-dynamic-import "^6.18.0"
-    babel-plugin-transform-amd-system-wrapper "^0.3.7"
-    babel-plugin-transform-cjs-system-wrapper "^0.6.2"
-    babel-plugin-transform-es2015-modules-systemjs "^6.6.5"
-    babel-plugin-transform-global-system-wrapper "^0.3.4"
-    babel-plugin-transform-system-register "^0.0.1"
-    bluebird "^3.3.4"
-    data-uri-to-buffer "0.0.4"
-    es6-template-strings "^2.0.0"
-    glob "^7.0.3"
-    mkdirp "^0.5.1"
-    rollup "^0.36.3"
-    source-map "^0.5.3"
-    systemjs "^0.19.46"
-    traceur "0.0.105"
-    uglify-js "^2.6.1"
-
-systemjs@0.20.19:
-  version "0.20.19"
-  resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-0.20.19.tgz#c2b9e79c19f4bea53a19b1ed3f974ffb463be949"
-
-systemjs@^0.19.46:
-  version "0.19.47"
-  resolved "https://registry.yarnpkg.com/systemjs/-/systemjs-0.19.47.tgz#c8c93937180f3f5481c769cd2720763fb4a31c6f"
-  dependencies:
-    when "^3.7.5"
-
-table@^3.7.8:
-  version "3.8.3"
-  resolved "https://registry.yarnpkg.com/table/-/table-3.8.3.tgz#2bbc542f0fda9861a755d3947fefd8b3f513855f"
-  dependencies:
-    ajv "^4.7.0"
-    ajv-keywords "^1.0.0"
-    chalk "^1.1.1"
-    lodash "^4.0.0"
-    slice-ansi "0.0.4"
-    string-width "^2.0.0"
-
-tapable@^0.1.8, tapable@~0.1.8:
-  version "0.1.10"
-  resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4"
-
-tar-fs@^1.13.0:
-  version "1.16.0"
-  resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-1.16.0.tgz#e877a25acbcc51d8c790da1c57c9cf439817b896"
-  dependencies:
-    chownr "^1.0.1"
-    mkdirp "^0.5.1"
-    pump "^1.0.0"
-    tar-stream "^1.1.2"
-
-tar-pack@^3.4.0:
-  version "3.4.1"
-  resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f"
-  dependencies:
-    debug "^2.2.0"
-    fstream "^1.0.10"
-    fstream-ignore "^1.0.5"
-    once "^1.3.3"
-    readable-stream "^2.1.4"
-    rimraf "^2.5.1"
-    tar "^2.2.1"
-    uid-number "^0.0.6"
-
-tar-stream@^1.1.1, tar-stream@^1.1.2:
-  version "1.5.5"
-  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55"
-  dependencies:
-    bl "^1.0.0"
-    end-of-stream "^1.0.0"
-    readable-stream "^2.0.0"
-    xtend "^4.0.0"
-
-tar@^2.0.0, tar@^2.2.1:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1"
-  dependencies:
-    block-stream "*"
-    fstream "^1.0.2"
-    inherits "2"
-
-tcomb@^2.5.1:
-  version "2.7.0"
-  resolved "https://registry.yarnpkg.com/tcomb/-/tcomb-2.7.0.tgz#10d62958041669a5d53567b9a4ee8cde22b1c2b0"
-
-temp-dir@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
-
-tempfile@^1.0.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2"
-  dependencies:
-    os-tmpdir "^1.0.0"
-    uuid "^2.0.1"
-
-tempfile@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-2.0.0.tgz#6b0446856a9b1114d1856ffcbe509cccb0977265"
-  dependencies:
-    temp-dir "^1.0.0"
-    uuid "^3.0.1"
-
-ternary-stream@^2.0.1:
-  version "2.0.1"
-  resolved "https://registry.yarnpkg.com/ternary-stream/-/ternary-stream-2.0.1.tgz#064e489b4b5bf60ba6a6b7bc7f2f5c274ecf8269"
-  dependencies:
-    duplexify "^3.5.0"
-    fork-stream "^0.0.4"
-    merge-stream "^1.0.0"
-    through2 "^2.0.1"
-
-text-table@~0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
-
-tfunk@^3.0.1:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b"
-  dependencies:
-    chalk "^1.1.1"
-    object-path "^0.9.0"
-
-through2-concurrent@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/through2-concurrent/-/through2-concurrent-1.1.1.tgz#11cb4ea4c9e31bca6e4c1e6dba48d1c728c3524b"
-  dependencies:
-    through2 "^2.0.0"
-
-through2-filter@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec"
-  dependencies:
-    through2 "~2.0.0"
-    xtend "~4.0.0"
-
-through2@2.X, through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be"
-  dependencies:
-    readable-stream "^2.1.5"
-    xtend "~4.0.1"
-
-through2@^0.6.0, through2@^0.6.1:
-  version "0.6.5"
-  resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48"
-  dependencies:
-    readable-stream ">=1.0.33-1 <1.1.0-0"
-    xtend ">=4.0.0 <4.1.0-0"
-
-through@^2.3.6:
-  version "2.3.8"
-  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
-
-tildify@^1.0.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/tildify/-/tildify-1.2.0.tgz#dcec03f55dca9b7aa3e5b04f21817eb56e63588a"
-  dependencies:
-    os-homedir "^1.0.0"
-
-time-stamp@^1.0.0:
-  version "1.1.0"
-  resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3"
-
-timed-out@^3.0.0:
-  version "3.1.3"
-  resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217"
-
-timers-browserify@^2.0.2:
-  version "2.0.4"
-  resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6"
-  dependencies:
-    setimmediate "^1.0.4"
-
-title-case@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
-  dependencies:
-    no-case "^2.2.0"
-    upper-case "^1.0.3"
-
-tmpl@1.0.x:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1"
-
-to-absolute-glob@^0.1.1:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f"
-  dependencies:
-    extend-shallow "^2.0.1"
-
-to-array@0.1.4:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890"
-
-to-arraybuffer@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
-
-to-fast-properties@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
-
-to-object-path@^0.3.0:
-  version "0.3.0"
-  resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
-  dependencies:
-    kind-of "^3.0.2"
-
-to-regex-range@^2.1.0:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
-  dependencies:
-    is-number "^3.0.0"
-    repeat-string "^1.6.1"
-
-to-regex@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.1.tgz#15358bee4a2c83bd76377ba1dc049d0f18837aae"
-  dependencies:
-    define-property "^0.2.5"
-    extend-shallow "^2.0.1"
-    regex-not "^1.0.0"
-
-toml@^2.3.2:
-  version "2.3.3"
-  resolved "https://registry.yarnpkg.com/toml/-/toml-2.3.3.tgz#8d683d729577cb286231dfc7a8affe58d31728fb"
-
-tough-cookie@~2.3.0, tough-cookie@~2.3.3:
-  version "2.3.3"
-  resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561"
-  dependencies:
-    punycode "^1.4.1"
-
-traceur@0.0.105:
-  version "0.0.105"
-  resolved "https://registry.yarnpkg.com/traceur/-/traceur-0.0.105.tgz#5cf9dee83d6b77861c3d6c44d53859aed7ab0479"
-  dependencies:
-    commander "2.9.x"
-    glob "5.0.x"
-    rsvp "^3.0.13"
-    semver "^4.3.3"
-    source-map-support "~0.2.8"
-
-trim-newlines@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613"
-
-trim-repeated@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21"
-  dependencies:
-    escape-string-regexp "^1.0.2"
-
-trim-right@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
-
-tty-browserify@0.0.0:
-  version "0.0.0"
-  resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
-
-tunnel-agent@^0.4.0:
-  version "0.4.3"
-  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb"
-
-tunnel-agent@^0.6.0:
-  version "0.6.0"
-  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
-  dependencies:
-    safe-buffer "^5.0.1"
-
-tweetnacl@^0.14.3, tweetnacl@~0.14.0:
-  version "0.14.5"
-  resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
-
-type-check@~0.3.2:
-  version "0.3.2"
-  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
-  dependencies:
-    prelude-ls "~1.1.2"
-
-typedarray@^0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
-
-typewise-core@^1.2, typewise-core@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/typewise-core/-/typewise-core-1.2.0.tgz#97eb91805c7f55d2f941748fa50d315d991ef195"
-
-typewise@^1.0.3:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/typewise/-/typewise-1.0.3.tgz#1067936540af97937cc5dcf9922486e9fa284651"
-  dependencies:
-    typewise-core "^1.2.0"
-
-ua-parser-js@0.7.12:
-  version "0.7.12"
-  resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.12.tgz#04c81a99bdd5dc52263ea29d24c6bf8d4818a4bb"
-
-uc.micro@^1.0.1:
-  version "1.0.3"
-  resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.3.tgz#7ed50d5e0f9a9fb0a573379259f2a77458d50192"
-
-uglify-js@2.6.x:
-  version "2.6.4"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf"
-  dependencies:
-    async "~0.2.6"
-    source-map "~0.5.1"
-    uglify-to-browserify "~1.0.0"
-    yargs "~3.10.0"
-
-uglify-js@^2.6, uglify-js@^2.6.1:
-  version "2.8.29"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd"
-  dependencies:
-    source-map "~0.5.1"
-    yargs "~3.10.0"
-  optionalDependencies:
-    uglify-to-browserify "~1.0.0"
-
-uglify-js@~2.7.3:
-  version "2.7.5"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8"
-  dependencies:
-    async "~0.2.6"
-    source-map "~0.5.1"
-    uglify-to-browserify "~1.0.0"
-    yargs "~3.10.0"
-
-uglify-to-browserify@~1.0.0:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7"
-
-uid-number@^0.0.6:
-  version "0.0.6"
-  resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81"
-
-ultron@~1.1.0:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c"
-
-unc-path-regex@^0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
-
-union-value@^0.2.3:
-  version "0.2.4"
-  resolved "https://registry.yarnpkg.com/union-value/-/union-value-0.2.4.tgz#7375152786679057e7b37aa676e83468fc0274f0"
-  dependencies:
-    arr-union "^3.1.0"
-    get-value "^2.0.6"
-    is-extendable "^0.1.1"
-    set-value "^0.4.3"
-
-union-value@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4"
-  dependencies:
-    arr-union "^3.1.0"
-    get-value "^2.0.6"
-    is-extendable "^0.1.1"
-    set-value "^0.4.3"
-
-uniq@^1.0.1:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
-
-uniqid@^4.0.0:
-  version "4.1.1"
-  resolved "https://registry.yarnpkg.com/uniqid/-/uniqid-4.1.1.tgz#89220ddf6b751ae52b5f72484863528596bb84c1"
-  dependencies:
-    macaddress "^0.2.8"
-
-uniqs@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
-
-unique-stream@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b"
-
-unique-stream@^2.0.2:
-  version "2.2.1"
-  resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369"
-  dependencies:
-    json-stable-stringify "^1.0.0"
-    through2-filter "^2.0.0"
-
-units-css@^0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/units-css/-/units-css-0.4.0.tgz#d6228653a51983d7c16ff28f8b9dc3b1ffed3a07"
-  dependencies:
-    isnumeric "^0.2.0"
-    viewport-dimensions "^0.2.0"
-
-universalify@^0.1.0:
-  version "0.1.1"
-  resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.1.tgz#fa71badd4437af4c148841e3b3b165f9e9e590b7"
-
-unpipe@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
-
-unset-value@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
-  dependencies:
-    has-value "^0.3.1"
-    isobject "^3.0.0"
-
-unzip-response@^1.0.2:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe"
-
-upper-case-first@^1.1.0, upper-case-first@^1.1.2:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
-  dependencies:
-    upper-case "^1.1.1"
-
-upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3:
-  version "1.1.3"
-  resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
-
-urix@^0.1.0, urix@~0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
-
-url-parse-lax@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73"
-  dependencies:
-    prepend-http "^1.0.1"
-
-url-regex@^3.0.0:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724"
-  dependencies:
-    ip-regex "^1.0.1"
-
-url@^0.11.0:
-  version "0.11.0"
-  resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1"
-  dependencies:
-    punycode "1.3.2"
-    querystring "0.2.0"
-
-use@^2.0.0:
-  version "2.0.2"
-  resolved "https://registry.yarnpkg.com/use/-/use-2.0.2.tgz#ae28a0d72f93bf22422a18a2e379993112dec8e8"
-  dependencies:
-    define-property "^0.2.5"
-    isobject "^3.0.0"
-    lazy-cache "^2.0.2"
-
-user-home@^1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
-
-user-home@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/user-home/-/user-home-2.0.0.tgz#9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f"
-  dependencies:
-    os-homedir "^1.0.0"
-
-util-deprecate@~1.0.1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
-
-util@0.10.3, util@^0.10.3:
-  version "0.10.3"
-  resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9"
-  dependencies:
-    inherits "2.0.1"
-
-utils-merge@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.0.tgz#0294fb922bb9375153541c4f7096231f287c8af8"
-
-uuid@^2.0.1:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a"
-
-uuid@^3.0.0, uuid@^3.0.1, uuid@^3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04"
-
-uws@~0.14.4:
-  version "0.14.5"
-  resolved "https://registry.yarnpkg.com/uws/-/uws-0.14.5.tgz#67aaf33c46b2a587a5f6666d00f7691328f149dc"
-
-v8flags@^2.0.2:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
-  dependencies:
-    user-home "^1.1.1"
-
-vali-date@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6"
-
-validate-npm-package-license@^3.0.1:
-  version "3.0.1"
-  resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc"
-  dependencies:
-    spdx-correct "~1.0.0"
-    spdx-expression-parse "~1.0.0"
-
-vendors@^1.0.0:
-  version "1.0.1"
-  resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.1.tgz#37ad73c8ee417fb3d580e785312307d274847f22"
-
-verror@1.10.0:
-  version "1.10.0"
-  resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
-  dependencies:
-    assert-plus "^1.0.0"
-    core-util-is "1.0.2"
-    extsprintf "^1.2.0"
-
-viewport-dimensions@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/viewport-dimensions/-/viewport-dimensions-0.2.0.tgz#de740747db5387fd1725f5175e91bac76afdf36c"
-
-vinyl-assign@^1.0.1:
-  version "1.2.1"
-  resolved "https://registry.yarnpkg.com/vinyl-assign/-/vinyl-assign-1.2.1.tgz#4d198891b5515911d771a8cd9c5480a46a074a45"
-  dependencies:
-    object-assign "^4.0.1"
-    readable-stream "^2.0.0"
-
-vinyl-fs@^0.3.0:
-  version "0.3.14"
-  resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6"
-  dependencies:
-    defaults "^1.0.0"
-    glob-stream "^3.1.5"
-    glob-watcher "^0.0.6"
-    graceful-fs "^3.0.0"
-    mkdirp "^0.5.0"
-    strip-bom "^1.0.0"
-    through2 "^0.6.1"
-    vinyl "^0.4.0"
-
-vinyl-fs@^2.2.0:
-  version "2.4.4"
-  resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239"
-  dependencies:
-    duplexify "^3.2.0"
-    glob-stream "^5.3.2"
-    graceful-fs "^4.0.0"
-    gulp-sourcemaps "1.6.0"
-    is-valid-glob "^0.3.0"
-    lazystream "^1.0.0"
-    lodash.isequal "^4.0.0"
-    merge-stream "^1.0.0"
-    mkdirp "^0.5.0"
-    object-assign "^4.0.0"
-    readable-stream "^2.0.4"
-    strip-bom "^2.0.0"
-    strip-bom-stream "^1.0.0"
-    through2 "^2.0.0"
-    through2-filter "^2.0.0"
-    vali-date "^1.0.0"
-    vinyl "^1.0.0"
-
-vinyl-sourcemaps-apply@^0.2.0, vinyl-sourcemaps-apply@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705"
-  dependencies:
-    source-map "^0.5.1"
-
-vinyl@1.X, vinyl@^1.0.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884"
-  dependencies:
-    clone "^1.0.0"
-    clone-stats "^0.0.1"
-    replace-ext "0.0.1"
-
-vinyl@^0.4.0, vinyl@^0.4.3:
-  version "0.4.6"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847"
-  dependencies:
-    clone "^0.2.0"
-    clone-stats "^0.0.1"
-
-vinyl@^0.5.0:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde"
-  dependencies:
-    clone "^1.0.0"
-    clone-stats "^0.0.1"
-    replace-ext "0.0.1"
-
-vm-browserify@0.0.4:
-  version "0.0.4"
-  resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73"
-  dependencies:
-    indexof "0.0.1"
-
-walker@~1.0.5:
-  version "1.0.7"
-  resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"
-  dependencies:
-    makeerror "1.0.x"
-
-ware@^1.2.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4"
-  dependencies:
-    wrap-fn "^0.1.0"
-
-watch@~0.10.0:
-  version "0.10.0"
-  resolved "https://registry.yarnpkg.com/watch/-/watch-0.10.0.tgz#77798b2da0f9910d595f1ace5b0c2258521f21dc"
-
-watchpack@^0.2.1:
-  version "0.2.9"
-  resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b"
-  dependencies:
-    async "^0.9.0"
-    chokidar "^1.0.0"
-    graceful-fs "^4.1.2"
-
-webpack-core@~0.6.9:
-  version "0.6.9"
-  resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2"
-  dependencies:
-    source-list-map "~0.1.7"
-    source-map "~0.4.1"
-
-webpack@^1.10.5:
-  version "1.15.0"
-  resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.15.0.tgz#4ff31f53db03339e55164a9d468ee0324968fe98"
-  dependencies:
-    acorn "^3.0.0"
-    async "^1.3.0"
-    clone "^1.0.2"
-    enhanced-resolve "~0.9.0"
-    interpret "^0.6.4"
-    loader-utils "^0.2.11"
-    memory-fs "~0.3.0"
-    mkdirp "~0.5.0"
-    node-libs-browser "^0.7.0"
-    optimist "~0.6.0"
-    supports-color "^3.1.0"
-    tapable "~0.1.8"
-    uglify-js "~2.7.3"
-    watchpack "^0.2.1"
-    webpack-core "~0.6.9"
-
-when@^3.7.5:
-  version "3.7.8"
-  resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82"
-
-whet.extend@~0.9.9:
-  version "0.9.9"
-  resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1"
-
-which-module@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f"
-
-which@1, which@^1.0.9, which@^1.1.1, which@^1.2.12, which@^1.2.14, which@^1.2.9:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a"
-  dependencies:
-    isexe "^2.0.0"
-
-wide-align@^1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710"
-  dependencies:
-    string-width "^1.0.2"
-
-window-size@0.1.0:
-  version "0.1.0"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d"
-
-window-size@^0.1.2:
-  version "0.1.4"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876"
-
-window-size@^0.2.0:
-  version "0.2.0"
-  resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075"
-
-wordwrap@0.0.2:
-  version "0.0.2"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f"
-
-wordwrap@~0.0.2:
-  version "0.0.3"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107"
-
-wordwrap@~1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
-
-wrap-ansi@^2.0.0:
-  version "2.1.0"
-  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
-  dependencies:
-    string-width "^1.0.1"
-    strip-ansi "^3.0.1"
-
-wrap-fn@^0.1.0:
-  version "0.1.5"
-  resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845"
-  dependencies:
-    co "3.1.0"
-
-wrappy@1:
-  version "1.0.2"
-  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
-
-write@^0.2.1:
-  version "0.2.1"
-  resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
-  dependencies:
-    mkdirp "^0.5.1"
-
-ws@~3.3.1:
-  version "3.3.3"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2"
-  dependencies:
-    async-limiter "~1.0.0"
-    safe-buffer "~5.1.0"
-    ultron "~1.1.0"
-
-xml-char-classes@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/xml-char-classes/-/xml-char-classes-1.0.0.tgz#64657848a20ffc5df583a42ad8a277b4512bbc4d"
-
-xmlhttprequest-ssl@~1.5.4:
-  version "1.5.4"
-  resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.4.tgz#04f560915724b389088715cc0ed7813e9677bf57"
-
-"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1:
-  version "4.0.1"
-  resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af"
-
-y18n@^3.2.0, y18n@^3.2.1:
-  version "3.2.1"
-  resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41"
-
-yallist@^2.1.2:
-  version "2.1.2"
-  resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
-
-yargs-parser@^4.1.0:
-  version "4.2.1"
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c"
-  dependencies:
-    camelcase "^3.0.0"
-
-yargs-parser@^5.0.0:
-  version "5.0.0"
-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a"
-  dependencies:
-    camelcase "^3.0.0"
-
-yargs@3.29.0:
-  version "3.29.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c"
-  dependencies:
-    camelcase "^1.2.1"
-    cliui "^3.0.3"
-    decamelize "^1.0.0"
-    os-locale "^1.4.0"
-    window-size "^0.1.2"
-    y18n "^3.2.0"
-
-yargs@6.4.0:
-  version "6.4.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4"
-  dependencies:
-    camelcase "^3.0.0"
-    cliui "^3.2.0"
-    decamelize "^1.1.1"
-    get-caller-file "^1.0.1"
-    os-locale "^1.4.0"
-    read-pkg-up "^1.0.1"
-    require-directory "^2.1.1"
-    require-main-filename "^1.0.1"
-    set-blocking "^2.0.0"
-    string-width "^1.0.2"
-    which-module "^1.0.0"
-    window-size "^0.2.0"
-    y18n "^3.2.1"
-    yargs-parser "^4.1.0"
-
-yargs@^7.0.0:
-  version "7.1.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8"
-  dependencies:
-    camelcase "^3.0.0"
-    cliui "^3.2.0"
-    decamelize "^1.1.1"
-    get-caller-file "^1.0.1"
-    os-locale "^1.4.0"
-    read-pkg-up "^1.0.1"
-    require-directory "^2.1.1"
-    require-main-filename "^1.0.1"
-    set-blocking "^2.0.0"
-    string-width "^1.0.2"
-    which-module "^1.0.0"
-    y18n "^3.2.1"
-    yargs-parser "^5.0.0"
-
-yargs@~3.10.0:
-  version "3.10.0"
-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1"
-  dependencies:
-    camelcase "^1.0.2"
-    cliui "^2.1.0"
-    decamelize "^1.0.0"
-    window-size "0.1.0"
-
-yauzl@^2.2.1:
-  version "2.9.1"
-  resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.9.1.tgz#a81981ea70a57946133883f029c5821a89359a7f"
-  dependencies:
-    buffer-crc32 "~0.2.3"
-    fd-slicer "~1.0.1"
-
-yeast@0.1.2:
-  version "0.1.2"
-  resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"
